/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: "Reddit Sans", sans-serif;
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-orange-800: oklch(47% 0.157 37.304);
    --color-amber-200: oklch(92.4% 0.12 95.746);
    --color-amber-300: oklch(87.9% 0.169 91.605);
    --color-amber-400: oklch(82.8% 0.189 84.429);
    --color-amber-500: oklch(76.9% 0.188 70.08);
    --color-amber-700: oklch(55.5% 0.163 48.998);
    --color-yellow-300: oklch(90.5% 0.182 98.111);
    --color-lime-700: oklch(53.2% 0.157 131.589);
    --color-green-400: oklch(79.2% 0.209 151.711);
    --color-green-500: oklch(72.3% 0.219 149.579);
    --color-green-600: oklch(62.7% 0.194 149.214);
    --color-green-700: oklch(52.7% 0.154 150.069);
    --color-teal-300: oklch(85.5% 0.138 181.071);
    --color-teal-600: oklch(60% 0.118 184.704);
    --color-cyan-700: oklch(52% 0.105 223.128);
    --color-sky-50: oklch(97.7% 0.013 236.62);
    --color-sky-100: oklch(95.1% 0.026 236.824);
    --color-sky-200: oklch(90.1% 0.058 230.902);
    --color-sky-300: oklch(82.8% 0.111 230.318);
    --color-sky-500: oklch(68.5% 0.169 237.323);
    --color-sky-600: oklch(58.8% 0.158 241.966);
    --color-sky-800: oklch(44.3% 0.11 240.79);
    --color-blue-600: oklch(54.6% 0.245 262.881);
    --color-blue-800: oklch(42.4% 0.199 265.638);
    --color-indigo-500: oklch(58.5% 0.233 277.117);
    --color-purple-500: oklch(62.7% 0.265 303.9);
    --color-pink-600: oklch(59.2% 0.249 0.584);
    --color-pink-700: oklch(52.5% 0.223 3.958);
    --color-rose-200: oklch(89.2% 0.058 10.001);
    --color-rose-500: oklch(64.5% 0.246 16.439);
    --color-slate-100: oklch(96.8% 0.007 247.896);
    --color-slate-500: oklch(55.4% 0.046 257.417);
    --color-slate-800: oklch(27.9% 0.041 260.031);
    --color-gray-50: oklch(98.5% 0.002 247.839);
    --color-gray-100: oklch(96.7% 0.003 264.542);
    --color-gray-200: oklch(92.8% 0.006 264.531);
    --color-gray-500: oklch(55.1% 0.027 264.364);
    --color-gray-600: oklch(44.6% 0.03 256.802);
    --color-gray-700: oklch(37.3% 0.034 259.733);
    --color-gray-800: oklch(27.8% 0.033 256.848);
    --color-gray-900: oklch(21% 0.034 264.665);
    --color-zinc-50: oklch(98.5% 0 0);
    --color-stone-100: oklch(97% 0.001 106.424);
    --color-white: #fff;
    --spacing: 0.25rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --radius-sm: 0.25rem;
    --radius-md: 0.375rem;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  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;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .pointer-events-none {
    pointer-events: none;
  }
  .invisible {
    visibility: hidden;
  }
  .visible {
    visibility: visible;
  }
  .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
  }
  .absolute {
    position: absolute;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }
  .start {
    inset-inline-start: var(--spacing);
  }
  .end {
    inset-inline-end: var(--spacing);
  }
  .end-4 {
    inset-inline-end: calc(var(--spacing) * 4);
  }
  .top-0 {
    top: calc(var(--spacing) * 0);
  }
  .right-0 {
    right: calc(var(--spacing) * 0);
  }
  .bottom-0 {
    bottom: calc(var(--spacing) * 0);
  }
  .left-0 {
    left: calc(var(--spacing) * 0);
  }
  .col-1 {
    grid-column: 1;
  }
  .col-2 {
    grid-column: 2;
  }
  .col-3 {
    grid-column: 3;
  }
  .col-4 {
    grid-column: 4;
  }
  .col-5 {
    grid-column: 5;
  }
  .col-6 {
    grid-column: 6;
  }
  .col-7 {
    grid-column: 7;
  }
  .col-8 {
    grid-column: 8;
  }
  .col-9 {
    grid-column: 9;
  }
  .col-10 {
    grid-column: 10;
  }
  .col-11 {
    grid-column: 11;
  }
  .col-12 {
    grid-column: 12;
  }
  .col-\[1\] {
    grid-column: 1;
  }
  .col-\[2\] {
    grid-column: 2;
  }
  .col-span-full {
    grid-column: 1 / -1;
  }
  .float-left {
    float: left;
  }
  .float-none {
    float: none;
  }
  .float-right {
    float: right;
  }
  .clear-both {
    clear: both;
  }
  .container {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .m-0 {
    margin: calc(var(--spacing) * 0);
  }
  .m-1 {
    margin: calc(var(--spacing) * 1);
  }
  .m-2 {
    margin: calc(var(--spacing) * 2);
  }
  .m-3 {
    margin: calc(var(--spacing) * 3);
  }
  .m-4 {
    margin: calc(var(--spacing) * 4);
  }
  .m-5 {
    margin: calc(var(--spacing) * 5);
  }
  .m-6 {
    margin: calc(var(--spacing) * 6);
  }
  .m-\[\.5rem\] {
    margin: .5rem;
  }
  .m-\[\.6rem\] {
    margin: .6rem;
  }
  .mx-0 {
    margin-inline: calc(var(--spacing) * 0);
  }
  .mx-1 {
    margin-inline: calc(var(--spacing) * 1);
  }
  .mx-2 {
    margin-inline: calc(var(--spacing) * 2);
  }
  .mx-3 {
    margin-inline: calc(var(--spacing) * 3);
  }
  .mx-4 {
    margin-inline: calc(var(--spacing) * 4);
  }
  .mx-5 {
    margin-inline: calc(var(--spacing) * 5);
  }
  .mx-6 {
    margin-inline: calc(var(--spacing) * 6);
  }
  .mx-auto {
    margin-inline: auto;
  }
  .\!my-\[2rem\] {
    margin-block: 2rem !important;
  }
  .my-0 {
    margin-block: calc(var(--spacing) * 0);
  }
  .my-1 {
    margin-block: calc(var(--spacing) * 1);
  }
  .my-2 {
    margin-block: calc(var(--spacing) * 2);
  }
  .my-3 {
    margin-block: calc(var(--spacing) * 3);
  }
  .my-4 {
    margin-block: calc(var(--spacing) * 4);
  }
  .my-5 {
    margin-block: calc(var(--spacing) * 5);
  }
  .my-6 {
    margin-block: calc(var(--spacing) * 6);
  }
  .my-8 {
    margin-block: calc(var(--spacing) * 8);
  }
  .my-\[0\]\! {
    margin-block: 0 !important;
  }
  .my-\[1rem\] {
    margin-block: 1rem;
  }
  .my-\[16pt\] {
    margin-block: 16pt;
  }
  .\!mt-0 {
    margin-top: calc(var(--spacing) * 0) !important;
  }
  .\!mt-4 {
    margin-top: calc(var(--spacing) * 4) !important;
  }
  .\!mt-\[1\.5em\] {
    margin-top: 1.5em !important;
  }
  .\!mt-\[16px\] {
    margin-top: 16px !important;
  }
  .mt-0 {
    margin-top: calc(var(--spacing) * 0);
  }
  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }
  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }
  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }
  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }
  .mt-5 {
    margin-top: calc(var(--spacing) * 5);
  }
  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }
  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }
  .mt-\[--padding-xl\] {
    margin-top: --padding-xl;
  }
  .mt-\[4em\] {
    margin-top: 4em;
  }
  .mr-0 {
    margin-right: calc(var(--spacing) * 0);
  }
  .mr-1 {
    margin-right: calc(var(--spacing) * 1);
  }
  .mr-2 {
    margin-right: calc(var(--spacing) * 2);
  }
  .mr-3 {
    margin-right: calc(var(--spacing) * 3);
  }
  .mr-4 {
    margin-right: calc(var(--spacing) * 4);
  }
  .mr-5 {
    margin-right: calc(var(--spacing) * 5);
  }
  .mr-6 {
    margin-right: calc(var(--spacing) * 6);
  }
  .\!mb-\[0px\] {
    margin-bottom: 0px !important;
  }
  .mb-0 {
    margin-bottom: calc(var(--spacing) * 0);
  }
  .mb-1 {
    margin-bottom: calc(var(--spacing) * 1);
  }
  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }
  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }
  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }
  .mb-5 {
    margin-bottom: calc(var(--spacing) * 5);
  }
  .mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }
  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }
  .mb-\[1rem\] {
    margin-bottom: 1rem;
  }
  .ml-0 {
    margin-left: calc(var(--spacing) * 0);
  }
  .ml-1 {
    margin-left: calc(var(--spacing) * 1);
  }
  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }
  .ml-3 {
    margin-left: calc(var(--spacing) * 3);
  }
  .ml-4 {
    margin-left: calc(var(--spacing) * 4);
  }
  .ml-5 {
    margin-left: calc(var(--spacing) * 5);
  }
  .ml-6 {
    margin-left: calc(var(--spacing) * 6);
  }
  .\!inline-block {
    display: inline-block !important;
  }
  .block {
    display: block;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .inline-block {
    display: inline-block;
  }
  .inline-flex {
    display: inline-flex;
  }
  .table {
    display: table;
  }
  .size-full {
    width: 100%;
    height: 100%;
  }
  .h-0 {
    height: calc(var(--spacing) * 0);
  }
  .h-6 {
    height: calc(var(--spacing) * 6);
  }
  .h-8 {
    height: calc(var(--spacing) * 8);
  }
  .max-h-\[85vh\] {
    max-height: 85vh;
  }
  .\!w-\[1rem\] {
    width: 1rem !important;
  }
  .\!w-\[16px\] {
    width: 16px !important;
  }
  .\!w-\[32px\] {
    width: 32px !important;
  }
  .w-6 {
    width: calc(var(--spacing) * 6);
  }
  .w-8 {
    width: calc(var(--spacing) * 8);
  }
  .w-\[10\%\] {
    width: 10%;
  }
  .w-\[13\%\] {
    width: 13%;
  }
  .w-\[20\%\] {
    width: 20%;
  }
  .w-\[22\%\] {
    width: 22%;
  }
  .w-\[30\%\] {
    width: 30%;
  }
  .w-\[40\%\] {
    width: 40%;
  }
  .w-\[100\%\] {
    width: 100%;
  }
  .w-\[200px\] {
    width: 200px;
  }
  .w-auto {
    width: auto;
  }
  .w-fit {
    width: fit-content;
  }
  .w-full {
    width: 100%;
  }
  .max-w-\[85vw\] {
    max-width: 85vw;
  }
  .max-w-\[768px\] {
    max-width: 768px;
  }
  .min-w-\[3rem\] {
    min-width: 3rem;
  }
  .flex-auto {
    flex: auto;
  }
  .flex-shrink-0 {
    flex-shrink: 0;
  }
  .table-fixed {
    table-layout: fixed;
  }
  .origin-center {
    transform-origin: center;
  }
  .-translate-8 {
    --tw-translate-x: calc(var(--spacing) * -8);
    --tw-translate-y: calc(var(--spacing) * -8);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-x-\[7px\] {
    --tw-translate-x: 7px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .-translate-y-\[5px\] {
    --tw-translate-y: calc(5px * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-y-\[5px\] {
    --tw-translate-y: 5px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .cursor-not-allowed {
    cursor: not-allowed;
  }
  .resize {
    resize: both;
  }
  .auto-rows-auto {
    grid-auto-rows: auto;
  }
  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-row {
    flex-direction: row;
  }
  .flex-row-reverse {
    flex-direction: row-reverse;
  }
  .flex-nowrap {
    flex-wrap: nowrap;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .place-content-center {
    place-content: center;
  }
  .items-center {
    align-items: center;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .gap-x-\[0\.5rem\] {
    column-gap: 0.5rem;
  }
  .gap-x-\[1rem\] {
    column-gap: 1rem;
  }
  .gap-y-\[0\.5rem\] {
    row-gap: 0.5rem;
  }
  .overflow-auto {
    overflow: auto;
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .overflow-scroll {
    overflow: scroll;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .rounded-md {
    border-radius: var(--radius-md);
  }
  .rounded-sm {
    border-radius: var(--radius-sm);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-0 {
    border-style: var(--tw-border-style);
    border-width: 0px;
  }
  .border-2 {
    border-style: var(--tw-border-style);
    border-width: 2px;
  }
  .border-4 {
    border-style: var(--tw-border-style);
    border-width: 4px;
  }
  .border-y {
    border-block-style: var(--tw-border-style);
    border-block-width: 1px;
  }
  .border-l-8 {
    border-left-style: var(--tw-border-style);
    border-left-width: 8px;
  }
  .border-l-\[4px\] {
    border-left-style: var(--tw-border-style);
    border-left-width: 4px;
  }
  .border-dashed {
    --tw-border-style: dashed;
    border-style: dashed;
  }
  .border-solid {
    --tw-border-style: solid;
    border-style: solid;
  }
  .border-amber-400 {
    border-color: var(--color-amber-400);
  }
  .border-green-400 {
    border-color: var(--color-green-400);
  }
  .border-indigo-500 {
    border-color: var(--color-indigo-500);
  }
  .border-rose-500 {
    border-color: var(--color-rose-500);
  }
  .border-sky-100 {
    border-color: var(--color-sky-100);
  }
  .border-sky-300\/80 {
    border-color: color-mix(in srgb, oklch(82.8% 0.111 230.318) 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-sky-300) 80%, transparent);
    }
  }
  .border-sky-500 {
    border-color: var(--color-sky-500);
  }
  .border-sky-800 {
    border-color: var(--color-sky-800);
  }
  .bg-amber-700 {
    background-color: var(--color-amber-700);
  }
  .bg-blue-800 {
    background-color: var(--color-blue-800);
  }
  .bg-cyan-700 {
    background-color: var(--color-cyan-700);
  }
  .bg-gray-50 {
    background-color: var(--color-gray-50);
  }
  .bg-gray-100 {
    background-color: var(--color-gray-100);
  }
  .bg-gray-200 {
    background-color: var(--color-gray-200);
  }
  .bg-gray-500 {
    background-color: var(--color-gray-500);
  }
  .bg-gray-600 {
    background-color: var(--color-gray-600);
  }
  .bg-gray-700 {
    background-color: var(--color-gray-700);
  }
  .bg-gray-700\/70 {
    background-color: color-mix(in srgb, oklch(37.3% 0.034 259.733) 70%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-gray-700) 70%, transparent);
    }
  }
  .bg-green-600\/90 {
    background-color: color-mix(in srgb, oklch(62.7% 0.194 149.214) 90%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-green-600) 90%, transparent);
    }
  }
  .bg-green-700 {
    background-color: var(--color-green-700);
  }
  .bg-lime-700 {
    background-color: var(--color-lime-700);
  }
  .bg-pink-700 {
    background-color: var(--color-pink-700);
  }
  .bg-rose-200 {
    background-color: var(--color-rose-200);
  }
  .bg-rose-500 {
    background-color: var(--color-rose-500);
  }
  .bg-sky-50 {
    background-color: var(--color-sky-50);
  }
  .bg-sky-600\/25 {
    background-color: color-mix(in srgb, oklch(58.8% 0.158 241.966) 25%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-sky-600) 25%, transparent);
    }
  }
  .bg-sky-800\/50 {
    background-color: color-mix(in srgb, oklch(44.3% 0.11 240.79) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-sky-800) 50%, transparent);
    }
  }
  .bg-white {
    background-color: var(--color-white);
  }
  .fill-current {
    fill: currentcolor;
  }
  .object-contain {
    object-fit: contain;
  }
  .p-0 {
    padding: calc(var(--spacing) * 0);
  }
  .p-1 {
    padding: calc(var(--spacing) * 1);
  }
  .p-2 {
    padding: calc(var(--spacing) * 2);
  }
  .p-3 {
    padding: calc(var(--spacing) * 3);
  }
  .p-4 {
    padding: calc(var(--spacing) * 4);
  }
  .p-5 {
    padding: calc(var(--spacing) * 5);
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .p-8 {
    padding: calc(var(--spacing) * 8);
  }
  .p-\[4px\] {
    padding: 4px;
  }
  .p-\[6px\] {
    padding: 6px;
  }
  .p-\[var\(--padding-m\)\] {
    padding: var(--padding-m);
  }
  .px-0 {
    padding-inline: calc(var(--spacing) * 0);
  }
  .px-1 {
    padding-inline: calc(var(--spacing) * 1);
  }
  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }
  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }
  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }
  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }
  .py-0 {
    padding-block: calc(var(--spacing) * 0);
  }
  .py-0\.5 {
    padding-block: calc(var(--spacing) * 0.5);
  }
  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .py-5 {
    padding-block: calc(var(--spacing) * 5);
  }
  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }
  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }
  .pt-0 {
    padding-top: calc(var(--spacing) * 0);
  }
  .pt-1 {
    padding-top: calc(var(--spacing) * 1);
  }
  .pt-2 {
    padding-top: calc(var(--spacing) * 2);
  }
  .pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }
  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }
  .pt-5 {
    padding-top: calc(var(--spacing) * 5);
  }
  .pt-6 {
    padding-top: calc(var(--spacing) * 6);
  }
  .pr-0 {
    padding-right: calc(var(--spacing) * 0);
  }
  .pr-1 {
    padding-right: calc(var(--spacing) * 1);
  }
  .pr-2 {
    padding-right: calc(var(--spacing) * 2);
  }
  .pr-3 {
    padding-right: calc(var(--spacing) * 3);
  }
  .pr-4 {
    padding-right: calc(var(--spacing) * 4);
  }
  .pr-5 {
    padding-right: calc(var(--spacing) * 5);
  }
  .pr-6 {
    padding-right: calc(var(--spacing) * 6);
  }
  .pb-0 {
    padding-bottom: calc(var(--spacing) * 0);
  }
  .pb-1 {
    padding-bottom: calc(var(--spacing) * 1);
  }
  .pb-2 {
    padding-bottom: calc(var(--spacing) * 2);
  }
  .pb-3 {
    padding-bottom: calc(var(--spacing) * 3);
  }
  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }
  .pb-5 {
    padding-bottom: calc(var(--spacing) * 5);
  }
  .pb-6 {
    padding-bottom: calc(var(--spacing) * 6);
  }
  .pb-8 {
    padding-bottom: calc(var(--spacing) * 8);
  }
  .pl-0 {
    padding-left: calc(var(--spacing) * 0);
  }
  .pl-1 {
    padding-left: calc(var(--spacing) * 1);
  }
  .pl-2 {
    padding-left: calc(var(--spacing) * 2);
  }
  .pl-3 {
    padding-left: calc(var(--spacing) * 3);
  }
  .pl-4 {
    padding-left: calc(var(--spacing) * 4);
  }
  .pl-5 {
    padding-left: calc(var(--spacing) * 5);
  }
  .pl-6 {
    padding-left: calc(var(--spacing) * 6);
  }
  .pl-\[1rem\] {
    padding-left: 1rem;
  }
  .pl-\[6px\] {
    padding-left: 6px;
  }
  .text-center {
    text-align: center;
  }
  .text-left {
    text-align: left;
  }
  .text-right {
    text-align: right;
  }
  .align-middle {
    vertical-align: middle;
  }
  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }
  .text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }
  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .text-xs\/1 {
    font-size: var(--text-xs);
    line-height: calc(var(--spacing) * 1);
  }
  .text-\[11\.8px\] {
    font-size: 11.8px;
  }
  .text-\[14\.5px\] {
    font-size: 14.5px;
  }
  .leading-4 {
    --tw-leading: calc(var(--spacing) * 4);
    line-height: calc(var(--spacing) * 4);
  }
  .leading-\[1\.2\] {
    --tw-leading: 1.2;
    line-height: 1.2;
  }
  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .text-amber-300 {
    color: var(--color-amber-300);
  }
  .text-amber-500 {
    color: var(--color-amber-500);
  }
  .text-blue-600 {
    color: var(--color-blue-600);
  }
  .text-blue-800 {
    color: var(--color-blue-800);
  }
  .text-gray-50 {
    color: var(--color-gray-50);
  }
  .text-gray-100 {
    color: var(--color-gray-100);
  }
  .text-gray-600 {
    color: var(--color-gray-600);
  }
  .text-gray-700 {
    color: var(--color-gray-700);
  }
  .text-gray-800 {
    color: var(--color-gray-800);
  }
  .text-gray-900 {
    color: var(--color-gray-900);
  }
  .text-green-500 {
    color: var(--color-green-500);
  }
  .text-inherit {
    color: inherit;
  }
  .text-orange-800 {
    color: var(--color-orange-800);
  }
  .text-pink-600 {
    color: var(--color-pink-600);
  }
  .text-purple-500 {
    color: var(--color-purple-500);
  }
  .text-rose-200 {
    color: var(--color-rose-200);
  }
  .text-rose-500 {
    color: var(--color-rose-500);
  }
  .text-sky-200 {
    color: var(--color-sky-200);
  }
  .text-slate-100 {
    color: var(--color-slate-100);
  }
  .text-slate-500 {
    color: var(--color-slate-500);
  }
  .text-slate-800 {
    color: var(--color-slate-800);
  }
  .text-stone-100 {
    color: var(--color-stone-100);
  }
  .text-teal-600 {
    color: var(--color-teal-600);
  }
  .text-white {
    color: var(--color-white);
  }
  .text-yellow-300 {
    color: var(--color-yellow-300);
  }
  .text-zinc-50 {
    color: var(--color-zinc-50);
  }
  .no-underline {
    text-decoration-line: none;
  }
  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-\[0_1px_0_theme\(colors\.slate\.950\/\.04\)\,0_1px_2px_theme\(colors\.slate\.950\/\.12\)\,inset_0_-2px_0_theme\(colors\.slate\.950\/\.04\)\] {
    --tw-shadow: 0 1px 0 var(--tw-shadow-color, color-mix(in oklab, oklch(12.9% 0.042 264.695) 4%, transparent)), 0 1px 2px var(--tw-shadow-color, color-mix(in oklab, oklch(12.9% 0.042 264.695) 12%, transparent)), inset 0 -2px 0 var(--tw-shadow-color, color-mix(in oklab, oklch(12.9% 0.042 264.695) 4%, transparent));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .duration-300 {
    --tw-duration: 300ms;
    transition-duration: 300ms;
  }
  .ease-\[cubic-bezier\(\.5\,\.85\,\.25\,1\.1\)\] {
    --tw-ease: cubic-bezier(.5,.85,.25,1.1);
    transition-timing-function: cubic-bezier(.5,.85,.25,1.1);
  }
  .ease-\[cubic-bezier\(\.5\,\.85\,\.25\,1\.8\)\] {
    --tw-ease: cubic-bezier(.5,.85,.25,1.8);
    transition-timing-function: cubic-bezier(.5,.85,.25,1.8);
  }
  .group-\[\[aria-expanded\=true\]\]\:translate-x-0 {
    &:is(:where(.group):is([aria-expanded=true]) *) {
      --tw-translate-x: calc(var(--spacing) * 0);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .group-\[\[aria-expanded\=true\]\]\:translate-y-0 {
    &:is(:where(.group):is([aria-expanded=true]) *) {
      --tw-translate-y: calc(var(--spacing) * 0);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .group-\[\[aria-expanded\=true\]\]\:-rotate-\[225deg\] {
    &:is(:where(.group):is([aria-expanded=true]) *) {
      rotate: calc(225deg * -1);
    }
  }
  .group-\[\[aria-expanded\=true\]\]\:rotate-45 {
    &:is(:where(.group):is([aria-expanded=true]) *) {
      rotate: 45deg;
    }
  }
  .group-\[\[aria-expanded\=true\]\]\:rotate-\[315deg\] {
    &:is(:where(.group):is([aria-expanded=true]) *) {
      rotate: 315deg;
    }
  }
  .hover\:shadow-\[0_1px_0_theme\(colors\.slate\.950\/\.04\)\,0_4px_8px_theme\(colors\.slate\.950\/\.12\)\,inset_0_-2px_0_theme\(colors\.slate\.950\/\.04\)\] {
    &:hover {
      @media (hover: hover) {
        --tw-shadow: 0 1px 0 var(--tw-shadow-color, color-mix(in oklab, oklch(12.9% 0.042 264.695) 4%, transparent)), 0 4px 8px var(--tw-shadow-color, color-mix(in oklab, oklch(12.9% 0.042 264.695) 12%, transparent)), inset 0 -2px 0 var(--tw-shadow-color, color-mix(in oklab, oklch(12.9% 0.042 264.695) 4%, transparent));
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      }
    }
  }
  .md\:float-end {
    @media (width >= 48rem) {
      float: inline-end;
    }
  }
  .md\:float-left {
    @media (width >= 48rem) {
      float: left;
    }
  }
  .md\:float-right {
    @media (width >= 48rem) {
      float: right;
    }
  }
  .md\:mx-\[1rem\] {
    @media (width >= 48rem) {
      margin-inline: 1rem;
    }
  }
  .md\:mt-\[1rem\] {
    @media (width >= 48rem) {
      margin-top: 1rem;
    }
  }
  .md\:mt-\[2rem\] {
    @media (width >= 48rem) {
      margin-top: 2rem;
    }
  }
  .md\:mr-4 {
    @media (width >= 48rem) {
      margin-right: calc(var(--spacing) * 4);
    }
  }
  .md\:mr-\[4px\] {
    @media (width >= 48rem) {
      margin-right: 4px;
    }
  }
  .md\:mr-\[10px\] {
    @media (width >= 48rem) {
      margin-right: 10px;
    }
  }
  .md\:ml-4 {
    @media (width >= 48rem) {
      margin-left: calc(var(--spacing) * 4);
    }
  }
  .md\:ml-\[4px\] {
    @media (width >= 48rem) {
      margin-left: 4px;
    }
  }
  .md\:ml-\[10px\] {
    @media (width >= 48rem) {
      margin-left: 10px;
    }
  }
  .md\:flex {
    @media (width >= 48rem) {
      display: flex;
    }
  }
  .md\:hidden {
    @media (width >= 48rem) {
      display: none;
    }
  }
  .md\:inline-flex {
    @media (width >= 48rem) {
      display: inline-flex;
    }
  }
  .md\:w-1\/3 {
    @media (width >= 48rem) {
      width: calc(1 / 3 * 100%);
    }
  }
  .md\:w-2\/3 {
    @media (width >= 48rem) {
      width: calc(2 / 3 * 100%);
    }
  }
  .md\:w-5\/6 {
    @media (width >= 48rem) {
      width: calc(5 / 6 * 100%);
    }
  }
  .md\:w-\[30\%\] {
    @media (width >= 48rem) {
      width: 30%;
    }
  }
  .md\:w-\[30vw\] {
    @media (width >= 48rem) {
      width: 30vw;
    }
  }
  .md\:w-\[50\%\] {
    @media (width >= 48rem) {
      width: 50%;
    }
  }
  .md\:w-full {
    @media (width >= 48rem) {
      width: 100%;
    }
  }
  .md\:max-w-\[33\.3\%\] {
    @media (width >= 48rem) {
      max-width: 33.3%;
    }
  }
  .md\:grid-cols-2 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .md\:flex-col {
    @media (width >= 48rem) {
      flex-direction: column;
    }
  }
  .md\:p-\[1rem\] {
    @media (width >= 48rem) {
      padding: 1rem;
    }
  }
  .md\:px-\[1rem\] {
    @media (width >= 48rem) {
      padding-inline: 1rem;
    }
  }
  .md\:pl-\[1rem\] {
    @media (width >= 48rem) {
      padding-left: 1rem;
    }
  }
  .lg\:hidden {
    @media (width >= 64rem) {
      display: none;
    }
  }
  .dark\:border-sky-500\/15 {
    @media (prefers-color-scheme: dark) {
      border-color: color-mix(in srgb, oklch(68.5% 0.169 237.323) 15%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        border-color: color-mix(in oklab, var(--color-sky-500) 15%, transparent);
      }
    }
  }
  .dark\:bg-sky-500\/10 {
    @media (prefers-color-scheme: dark) {
      background-color: color-mix(in srgb, oklch(68.5% 0.169 237.323) 10%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-sky-500) 10%, transparent);
      }
    }
  }
  .dark\:text-amber-300 {
    @media (prefers-color-scheme: dark) {
      color: var(--color-amber-300);
    }
  }
  .dark\:text-sky-200 {
    @media (prefers-color-scheme: dark) {
      color: var(--color-sky-200);
    }
  }
  .dark\:text-sky-300 {
    @media (prefers-color-scheme: dark) {
      color: var(--color-sky-300);
    }
  }
}
@layer {
  *, *::after, *::before {
    box-sizing: border-box;
  }
  :focus-visible {
    outline-offset: 3px;
  }
  html {
    -webkit-text-size-adjust: none;
    text-size-adjust: none;
  }
  html {
    line-height: 1.5;
  }
  html {
    scrollbar-gutter: stable;
  }
  h1 {
    font-size: 2em;
    margin-block: 0;
  }
  abbr[title] {
    cursor: help;
    text-decoration-line: underline;
    text-decoration-style: dotted;
  }
  @media (forced-colors: active) {
    mark {
      color: HighlightText;
      background-color: Highlight;
    }
  }
  audio, iframe, img, svg, video {
    max-block-size: 100%;
    max-inline-size: 100%;
  }
  fieldset {
    min-inline-size: 0;
  }
  label:has(+ input:not([type="radio"], [type="checkbox"]), select, textarea) {
    display: block;
  }
  textarea:not([rows]) {
    min-block-size: 6em;
  }
  button, input, select, textarea {
    font-family: inherit;
    font-size: inherit;
  }
  @supports (-webkit-touch-callout: none) {
    [type="search"] {
      border: 1px solid -apple-system-secondary-label;
      background-color: canvas;
    }
  }
  input:where([type="tel"], [type="url"], [type="email"], [type="number"]):not( :placeholder-shown ) {
    direction: ltr;
  }
  table {
    border-collapse: collapse;
  }
  th, td {
    padding: 0.25em 0.5em;
    vertical-align: top;
  }
  dialog::backdrop {
    background: oklch(0% 0 0 / 0.3);
  }
  dialog, [popover], dialog::backdrop {
    opacity: 0;
    transition: opacity 150ms ease-out, display 150ms allow-discrete, overlay 150ms allow-discrete;
  }
  dialog[open], :popover-open, dialog[open]::backdrop {
    opacity: 1;
  }
  @starting-style {
    dialog[open], :popover-open, dialog[open]::backdrop {
      opacity: 0;
    }
  }
  [hidden]:not([hidden="until-found"]) {
    display: none !important;
  }
  img {
    display: block;
  }
  summary {
    cursor: default;
  }
  iframe {
    border: none;
  }
  @supports (position-area: block-end span-inline-end) {
    [popover] {
      margin: 0;
      position-area: block-end span-inline-end;
    }
  }
}
code[class*="language-"], pre[class*="language-"] {
  color: #f8f8f2;
  background: none;
  font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;
  word-wrap: normal;
  line-height: 1.5;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
}
pre[class*="language-"] {
  padding: 1em;
  margin: 0.5em 0;
  overflow: auto;
  border-radius: 0.3em;
}
:not(pre) > code[class*="language-"], pre[class*="language-"] {
  background: #2b2b2b;
}
:not(pre) > code {
  padding: 0.1em .5rem;
  border-radius: 0.3em;
  white-space: normal;
  background-color: var(--lightest);
}
.token.comment, .token.prolog, .token.doctype, .token.cdata {
  color: #d4d0ab;
}
.token.punctuation {
  color: #fefefe;
}
.token.property, .token.tag, .token.constant, .token.symbol, .token.deleted {
  color: #ffa07a;
}
.token.boolean, .token.number {
  color: #00e0e0;
}
.token.selector, .token.attr-name, .token.string, .token.char, .token.builtin, .token.inserted {
  color: #abe338;
}
.token.operator, .token.entity, .token.url, .language-css .token.string, .style .token.string, .token.variable {
  color: #00e0e0;
}
.token.atrule, .token.attr-value, .token.function {
  color: #ffd700;
}
.token.keyword {
  color: #00e0e0;
}
.token.regex, .token.important {
  color: #ffd700;
}
.token.important, .token.bold {
  font-weight: bold;
}
.token.italic {
  font-style: italic;
}
.token.entity {
  cursor: help;
}
@media screen and (-ms-high-contrast: active) {
  code[class*="language-"],	pre[class*="language-"] {
    color: windowText;
    background: window;
  }
  :not(pre) > code[class*="language-"],	pre[class*="language-"] {
    background: window;
  }
  .token.important {
    background: highlight;
    color: window;
    font-weight: normal;
  }
  .token.atrule,	.token.attr-value,	.token.function,	.token.keyword,	.token.operator,	.token.selector {
    font-weight: bold;
  }
  .token.attr-value,	.token.comment,	.token.doctype,	.token.function,	.token.keyword,	.token.operator,	.token.property,	.token.string {
    color: highlight;
  }
  .token.attr-value,	.token.url {
    font-weight: normal;
  }
}
@font-face {
  font-family: "Reddit Sans";
  src: url("/assets/fonts/Reddit_Sans/RedditSans-VariableFont_wght.ttf") format("truetype-variations"), url("/assets/fonts/Reddit_Sans/RedditSans-VariableFont_wght.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: "Reddit Sans";
  src: url("/assets/fonts/Reddit_Sans/RedditSans-Italic-VariableFont_wght.ttf") format("truetype-variations");
  font-weight: 100 900;
  font-style: italic;
  font-display: block;
}
@font-face {
  font-family: "Fragment Mono";
  src: url("/assets/fonts/Fragment_Mono/FragmentMono-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Fragment Mono";
  src: url("/assets/fonts/fragment_Mono/FragmentMono-Italic.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
}
@layer base, layout, component, utility;
@layer base {
  :root {
    --color-base: #2e70b8;
    --color-tint-50: #327bc8;
    --color-tint-100: #4085cf;
    --color-tint-150: #5190d3;
    --color-tint-200: #619bd8;
    --color-tint-250: #72a5dc;
    --color-tint-300: #83b0e0;
    --color-tint-350: #93bae4;
    --color-tint-400: #a4c5e8;
    --color-tint-450: #b5d0ec;
    --color-tint-500: #c6daf1;
    --color-shade-50: #2b69ab;
    --color-shade-100: #27619e;
    --color-shade-150: #245991;
    --color-shade-200: #215184;
    --color-shade-250: #1e4977;
    --color-shade-300: #1a416a;
    --color-shade-350: #17395d;
    --color-shade-400: #143150;
    --color-shade-450: #112943;
    --color-shade-500: #0d2136;
  }
  :root {
    --background-color: rgb(218, 227, 231);
    --brand: #90e0ef;
    --blockquote-background: rgb(181, 205, 236);
    --code-background: #142e66cf;
    --code-color: var(--background-color);
    --color-one: #cf2626;
    --color-two: #443d95;
    --description-color: oklch(37.9% 0.146 265.522);
    --font-color: #263542;
    --heading-color: oklch(21.8% 0.008 223.9);
    --logo: #ff5757;
    --link-color: oklch(44.3% 0.11 240.79);
    --lightest: #efefef;
    --muted: #aaa;
    --maker-color: var(--color-shade-200);
    --notes: oklch(45.7% 0.24 277.023);
    --page-title-color: var(--color-shade-400);
    --share-svg-color: var(--background-color);
    --summary-background: oklch(37.8% 0.077 168.94);
    --summary-div-background: hsla(188.1, 46.4%, 78%, 0.27);
    --summary-text: #fff;
    --strong--code-color: revert;
    --strong-color: oklch(0.95 0.01 210.3);
    --strong-background: oklch(39.8% 0.07 227.392);
    --tag-background: oklch(86.8% 0.007 39.5);
    --table-bg: tranparent;
    --text-red: #db1b51;
    --th-background: oklch(70.5% 0.015 286.067);
    --transparency-1: rgba(0, 0, 0, 0.05);
    --yt-background-color: var(--color-shade-400);
    --yt-font-color: var(--color-tint-500);
    --underline-color: oklch(51.8% 0.253 323.949);
    --underline-text-color: #af0063;
    --padding-xs: 8pt;
    --padding-s: 16pt;
    --padding-m: 24pt;
    --padding-l: 32pt;
    --padding-xl: 48pt;
    --padding-xxl: 80pt;
    --padding-ex-xs: 4pt;
    --padding-ex-s: 8pt;
    --padding-ex-m: 12pt;
    --padding-ex-l: 16pt;
    --padding-ex-xl: 20pt;
    --padding-ex-xxl: 40pt;
    --c: var(--color-teal-600);
  }
  @media (prefers-color-scheme: dark) {
    :root {
      --background-color: rgb(5, 20, 30);
      --blockquote-background: var(--color-shade-400);
      --brand: #38acc1;
      --code-color: var(--font-color);
      --code-background: var(--color-shade-500);
      --color-one: #0ec5fd;
      --color-two: #cef3fb;
      --description-color: var(--color-tint-500);
      --font-color: #ccc;
      --heading-color: oklch(96.7% 0.001 286.375);
      --logo: #ff5757;
      --link-color: #3bd7fb;
      --lightest: #333;
      --muted: #444;
      --maker-color: #90e0ef;
      --notes: oklch(87.9% 0.169 91.605);
      --page-title-color: #daebf2;
      --share-svg-color: #5679a6;
      --strong--code-color: var(--font-color);
      --strong-color: oklch(85.2% 0.199 91.936);
      --strong-background: rgb(32, 50, 70);
      --summary-background: lab(34% -9 -25);
      --summary-div-background: hsla(0, 0%, 20%, 0.25);
      --tag-background: #2b3535;
      --table-bg: #0b081ce3;
      --th-background: var(--color-shade-400);
      --transparency-1: rgba(255, 255, 255, 0.05);
      --yt-background-color: var(--color-shade-500);
      --yt-font-color: var(--color-tint-500);
      --underline-color: var(--color-shade-100);
      --underline-text-color: #6aeae4;
    }
  }
  :root {
    --font-base: 16px;
    --base-size: calc(var(--font-base) * 1.1);
    --scale-ratio: 1.2;
    --body-weight: 500;
    @media (prefers-color-scheme: dark) {
      :root {
        --body-weight: 300;
      }
    }
    --body-line-height: 1.8;
    --body-letter-spacing: normal;
    --heading-weight: 700;
    --heading-line-height: 1.1;
    --heading-letter-spacing: normal;
  }
  @media (width > 1200px) {
    :root {
      --base-size: clamp(1.125rem, 1.0096rem + 0.1538vw, 1.25rem);
    }
  }
  :root {
    --columns: 0;
    --rows: 5;
  }
  details {
    position: relative;
    display: block !important;
    margin: var(--padding-s) auto;
    summary {
      cursor: pointer;
      padding: var(--padding-ex-s) var(--padding-s);
      line-height: 1.2;
      background-color: var(--summary-background);
      color: var(--summary-text);
      font-size: 1.1em;
      &::after {
        content: "(クリックで開きます)";
        font-size: 0.75em;
        color: var(--color-amber-200);
      }
      & + div {
        background-color: var(--summary-div-background);
        padding: var(--padding-m);
        padding-top: var(--padding-ex-xs);
        border: 1px solid var(--summary-background);
      }
    }
    &::details-content {
      transition: height 0.4s, opacity 0.2s, content-visibility 0.3s allow-discrete;
      height: 0;
      opacity: 0;
    }
    &[open]::details-content {
      opacity: 1;
      height: auto;
      height: max-content;
      max-height: 50vh;
      overflow-y: scroll;
    }
  }
  @supports (interpolate-size: allow-keywords) {
    :root {
      interpolate-size: allow-keywords;
    }
    details[open]::details-content {
      height: auto;
    }
  }
  @supports not (interpolate-size: allow-keywords) {
    details[open]::details-content {
      height: max-content;
      max-height: 50vh;
      overflow-y: scroll;
    }
  }
  html {
    scroll-behavior: smooth;
    text-rendering: optimizeSpeed;
    letter-spacing: 0.01em;
    font-family: "Reddit Sans", sans-serif;
    font-size: var(--base-size);
  }
  img {
    max-width: 100%;
    height: auto;
  }
  a {
    color: var(--link-color);
    text-decoration: none;
    &:visited {
      color: var(--link-color);
      text-decoration: underline;
    }
    &:hover {
      text-decoration: underline;
      text-decoration-color: var(--brand);
    }
    &.active {
      text-decoration-color: var(--brand);
    }
  }
  b, strong {
    font-weight: 700;
    background-color: var(--strong-background);
    padding: 0 4px;
    color: var(--strong-color);
    code {
      color: var(--strong--code-color) !important;
    }
  }
  code {
    font-family: "Fragment Mono", monospace;
  }
  pre {
    position: relative;
    width: 100%;
    overflow: hidden !important;
    code {
      display: block;
      font-size: 0.875em;
      overflow-x: auto;
      padding: var(--padding-ex-s) 0 var(--padding-ex-m);
    }
  }
  :where(p, :not(pre)) {
    & > code {
      margin: 0 4px;
      color: var(--code-color);
      padding: 0 var(--padding-ex-xs) 0 !important;
      font-size: 0.825em;
      --code-space: 0.04em;
      display: inline-grid;
      vertical-align: text-bottom;
      transform: translateY(calc((1lh - calc(1lh - var(--code-space))) / 2));
      line-height: inherit;
      height: calc(1lh - var(--code-space));
      position: relative;
      &::before {
        content: "";
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        place-content: center;
        background: var(--code-background) !important;
        box-shadow: 0px 0px 2px hsl(216.6, 100%, 58.2%);
        border-radius: 2px;
        border-color: #1a1a1a;
        isolation: isolate;
        z-index: -1;
      }
    }
  }
  pre[class*="language-"] {
    background: #262d3c !important;
    line-height: 1.2 !important;
    font-family: "Fragment mono", monospace !important;
    margin: var(--padding-s) 0 !important;
    padding: var(--padding-xs) var(--padding-l) var(--padding-xs) var(--padding-s) !important;
  }
  code[class^="language-"] {
    font-family: "Fragment Mono", sans-serif !important;
  }
  u {
    code {
      border-color: var(--underline-color);
    }
  }
  h6, h5, h4, h3, h2, h1 {
    font-weight: var(--heading-weight);
    line-height: var(--heading-line-height);
    letter-spacing: var(--heading-letter-spacing);
    color: var(--heading-color);
  }
  .visually-hidden:not(:focus):not(:active) {
    clip: rect(0 0 0 0);
    clip-path: inset(100%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }
}
@layer layout {
  body {
    position: relative;
    display: flex;
    flex-direction: column;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    &:has(.sidebar.active) {
      height: 100vh;
      overflow: hidden;
      touch-action: none;
    }
    &:has(.modal.open) {
      height: 100vh;
      overflow: hidden;
      touch-action: none;
    }
  }
  body {
    line-height: var(--body-line-height);
    letter-spacing: var(--body-letter-spacing);
    background: var(--background-color);
    color: var(--font-color);
    font-weight: var(--body-weight);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  nav.navigation {
    display: flex;
  }
  main.container {
    position: relative;
    max-width: 798px;
    gap: 0 var(--padding-xs);
    container: main / inline-size;
  }
  main.container header.page-title {
    grid-column: 1 / -1;
  }
  footer {
    display: grid;
    grid-column: 1 / -1;
  }
  .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--padding-s);
    width: 100vw;
  }
  .sidebar {
    position: fixed;
    top: 0;
    left: 100%;
    width: 70%;
    height: 100%;
    transform: translate(0%, 0);
    background-color: var(--background-color);
    transition: 0.4s;
    z-index: 9;
    border-left: 0.1rem solid #333;
    padding: var(--padding-xs) var(--padding-ex-xs) var(--padding-xs) var(--padding-s);
    &.active {
      transform: translate(-100%, 0);
    }
  }
  .backdrop {
    mix-blend-mode: multiply;
    background-image: linear-gradient( to left, #2f6fcf 0%, #66bdc1 35%, #141414 100% );
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    transition: 0.5s;
    transform: translateX(0%);
    display: unset;
    opacity: 1;
    &.hidden {
      opacity: 0;
      transform: translateX(100%);
    }
  }
  .modal {
    position: fixed;
    display: none;
    background-color: #03314df7;
    place-content: center;
    width: 0;
    height: 0;
    transform: scale(0);
    transform-origin: center;
    align-items: center;
    justify-content: center;
    cursor: zoom-out;
    z-index: 10;
    img {
      width: 0;
      height: 0;
    }
    &.open {
      display: flex;
      animation: openAnimation 1s forwards;
      img {
        width: 80%;
        height: auto;
      }
    }
    &.close {
      display: flex;
      animation: closeAnimation 1s backwards;
      img {
        width: 100%;
        height: auto;
        opacity: 0.5;
      }
    }
    .modal-close {
      position: absolute;
      top: 1rem;
      left: 1rem;
      width: 1rem;
      height: 1rem;
      cursor: zoom-out;
    }
  }
  @keyframes openAnimation {
    0% {
      width: 0;
      height: 0;
      opacity: 0;
      transform: scale(0);
    }
    50% {
      width: 100%;
      height: 100%;
      opacity: 1;
      transform: scale(1.2);
      top: 0%;
      left: 0%;
    }
    100% {
      width: 100%;
      height: 100%;
      opacity: 1;
      transform: scale(1);
      top: 0;
      left: 0;
    }
  }
  @keyframes closeAnimation {
    0% {
      width: 100%;
      height: 100%;
      opacity: 1;
      transform: scale(1);
      top: 0;
      left: 0;
    }
    50% {
      width: 100%;
      height: 100%;
      opacity: 1;
      transform: scale(1.2);
      top: 0;
      left: 0;
    }
    100% {
      width: 0;
      height: 0;
      opacity: 0;
      transform: scale(0);
    }
  }
}
@media (width >= 968px) {
  main.container {
    display: grid;
    max-width: 1200px;
    grid-template-columns: minmax(0, 768px) 350px;
    grid-template-areas: "header header" "main   side  ";
  }
  .sidebar {
    grid-area: side;
    position: relative;
    top: auto;
    left: auto;
    width: auto;
    height: auto;
    transform: none;
    transition: none;
    z-index: auto;
    overflow-y: visible;
  }
}
@media (width >= 768px) {
  main.container:has(:is(.cat-blog, .cat-about, .cat-now, .cat-guitarContent)) {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "header" "main";
  }
}
@layer component {
  main.container {
    &:has(.cat-blog) {
      .body-copy {
        width: 100%;
        max-width: 1200px;
      }
    }
    &:has(:is(.cat-about, .cat-now)) {
      .body-copy {
        width: 100%;
        max-width: 768px;
        margin-inline: auto;
      }
    }
    &:has(.cat-guitarContent) {
      .body-copy {
        width: 100%;
        max-width: 960px;
        margin-inline: auto;
      }
    }
  }
  .navigation {
    display: flex;
    margin-left: -0.15rem;
    padding: 0 var(--padding-ex-m);
    align-items: center;
    justify-content: space-between;
    border-bottom: solid 0.05rem var(--transparency-1);
    transition: 0.6s;
    ul {
      list-style-type: none;
      padding: 0;
      align-items: center;
      list-style: none;
      margin: 0;
      li {
        a {
          display: block;
          padding: var(--padding-s) var(--padding-xs);
          text-underline-offset: 0.3rem;
        }
      }
    }
    a {
      text-decoration-color: var(--transparency-1);
      text-decoration-thickness: 0.15rem;
      text-underline-offset: 0.2rem;
      font-weight: 600;
      text-decoration-color: var(--background-color);
    }
    .checkbox {
      width: fit-content;
      height: auto;
      cursor: pointer;
      transition: 0.2s;
      display: flex;
      justify-content: center;
      align-items: center;
      position: relative;
      transform-origin: top;
      input {
        appearance: none;
        display: none;
      }
    }
  }
  @media (width >= 768px) {
    .navigation {
      .checkbox {
        display: none;
      }
    }
    .cover {
      nav {
        display: none;
      }
    }
  }
  @media (width < 768px) {
    .navigation {
      display: flex;
      margin-left: -0.15rem;
      margin-left: 0;
      padding: var(--padding-xs);
      align-items: center;
      justify-content: space-between;
      border-bottom: solid 0.05rem var(--transparency-1);
      ul.mobile {
        display: inline-flex;
        align-items: center;
        margin-left: auto;
        li {
          padding-left: 0;
          &:last-child {
            margin: unset;
          }
          a {
            padding: 0 var(--padding-xs);
          }
        }
      }
    }
    .header nav {
      ul {
        display: none;
      }
    }
    .cover {
      nav {
        ul {
          padding: 0;
        }
      }
    }
  }
  nav .title {
    color: #fff;
    a {
      color: var(--logo);
    }
  }
  .page-title {
    display: grid;
    grid-template-areas: "headerMeta" "title" "description" "headerTags";
    grid-template-rows: auto auto auto auto;
    padding: var(--padding-m) 0 var(--padding-l);
    row-gap: var(--padding-xs);
    .header-meta {
      grid-area: headerMeta;
      margin: 0;
      text-align: right;
    }
    .tags {
      grid-area: headerTags;
    }
  }
  .page-title__title {
    grid-area: title;
    color: var(--page-title-color);
    font-family: var(--font-sans);
    font-weight: var(--heading-weight);
    font-size: clamp(2.4em, 7.25cqw, 10em) !important;
    line-height: 1;
    word-break: normal;
    word-break: auto-phrase;
    line-break: loose;
  }
  .page-title__desc {
    grid-area: description;
    font-weight: 400;
    line-height: 1.5;
    font-size: clamp(0.875em, 1.6cqw, 1.7em);
    color: var(--description-color);
    @media (width < 768px) {
      max-width: unset;
    }
  }
  .page-title__date {
    &::before {
      content: "Publish";
    }
  }
  .page-title__update {
    &::before {
      content: "Last Modified";
    }
  }
  .page-title__date, .page-title__update {
    font-size: 0.875rem;
    position: relative;
    &::before {
      position: absolute;
      font-size: 0.71875rem;
      top: -1.125rem;
      left: 0;
    }
  }
  .page-title:after {
    content: "";
    width: 4rem;
    display: block;
    height: 0.1rem;
    background-color: var(--transparency-1);
    margin: var(--padding-l) auto 0 auto;
  }
  .body-copy {
    padding: 0 var(--padding-ex-m);
    position: relative;
    overflow-wrap: break-word;
    word-break: auto-phrase;
    word-break: normal;
    line-break: strict;
    line-height: var(--body-line-height);
    h1 {
      font-size: clamp(2em, 5vw, 2.5em);
      line-height: 1.2;
      font-weight: bold;
      line-break: loose;
    }
    h2 {
      font-size: clamp(1.6em, 4vw, 1.8em);
      line-height: 1.25;
      margin: calc(var(--padding-xl) * 1.25) 0 var(--padding-ex-m);
      font-weight: bold;
      &::before {
        content: "✻";
        display: inline-block;
        width: 1em;
        margin-right: 0.5rem;
        margin-right: var(--padding-ex-xs);
      }
    }
    h3 {
      font-size: clamp(1.4em, 3.5vw, 1.6em);
      line-height: 1.3;
    }
    h4 {
      font-size: clamp(1.15em, 3vw, 1.3em);
      line-height: 1.4;
      display: flex;
    }
    h5 {
      font-size: clamp(1.05em, 2.5vw, 1.15em);
      line-height: 1.5;
    }
    h6 {
      font-size: clamp(0.95em, 2vw, 1.115em);
      line-height: 1.55;
    }
    :where(h3, h4, h5) {
      letter-spacing: 0.025rem;
      line-height: 1.4;
      margin: var(--padding-xl) 0 var(--padding-m) 0;
      padding-bottom: var(--padding-ex-s);
      border-bottom: solid 0.1rem rgba(84, 156, 168, 0.3);
      & + :where(h2, h3, h4, h5) {
        margin-top: 2rem;
      }
    }
    h2 {
      margin-bottom: var(--padding-m);
    }
    h4 {
      border: 0;
      &::before {
        content: "";
        background-color: #ccc;
        border: 4px solid #66d;
        margin-right: 1rem;
      }
    }
    & > :where(h2, h3, h4, h5):first-child {
      margin-top: 0;
    }
    :where(h2, h3, h4) {
      & + :where(h3, h4, h5, h6) {
        margin-top: 0;
      }
      & + :is(ol, ul) {
        padding-top: 0;
      }
    }
    & + :where(ol, ul) {
      padding-top: 0;
    }
    a {
      text-decoration-thickness: 0.05rem;
      text-underline-offset: 0.2rem;
      &[target="_blank"] {
        margin: 0 0 0 2px;
      }
    }
    u {
      text-decoration-thickness: 0.05em;
      text-underline-offset: 5px;
      text-decoration-color: var(--underline-color);
      text-decoration-style: dashed;
      color: var(--underline-text-color);
      padding: 0.1em var(--padding-ex-xs);
    }
    s {
      a {
        text-decoration-color: var(--font-color);
        text-decoration: none;
        &:hover {
          text-decoration-color: var(--font-color);
          text-decoration: none;
        }
      }
    }
    p {
      margin-bottom: 0;
      line-height: inherit;
      letter-spacing: 0.02em;
      & + p {
        margin-top: calc(var(--padding-m) + 0.35em);
      }
      & + :where(.ytp) {
        margin: var(--padding-m) 0;
      }
      cr {
        display: block;
        margin-top: calc(var(--padding-m) / 2);
      }
      img {
        display: block;
      }
    }
    :where(p):has(img) {
      padding: 0.5rem;
    }
    picture {
      display: block;
      margin: 1rem 0;
    }
    hr {
      border: none;
      background: linear-gradient(to right, #ccc 0%, #ccc 100%);
      background-size: 100% 1px;
      background-position: center;
      background-repeat: no-repeat;
      height: 20px;
      margin: 4rem 0;
    }
    .info {
      hr {
        margin: var(--padding-l) 0 !important;
      }
    }
    :where(ul, ol) {
      margin-bottom: var(--padding-m);
      padding: var(--padding-s) 0 0 var(--padding-s);
      li {
        margin: 0 0 var(--padding-ex-m);
        margin-left: var(--padding-ex-xs);
        padding-left: var(--padding-ex-xs);
        line-height: 1.7;
        &::marker {
          color: var(--maker-color);
        }
        li {
          margin-bottom: var(--padding-xs);
          font-size: 0.925em;
          &:last-of-type {
            margin-bottom: 1.6rem;
          }
        }
      }
      li:last-of-type {
        margin-bottom: 0;
      }
      ul {
        margin: 0.5rem 0 0.5rem 1rem;
        padding: 0;
      }
      a {
        font-weight: 600;
        text-underline-offset: 0.25rem;
        text-decoration-thickness: 0.1rem;
      }
    }
    ol {
      list-style-type: decimal;
    }
    ul {
      list-style-type: disc;
    }
    figure {
      margin: 4rem 0;
      img {
        width: 100%;
        height: auto;
        border: solid 0.1rem #222;
      }
      figcaption {
        font-weight: bold;
        text-align: center;
        text-transform: uppercase;
        letter-spacing: 1px;
      }
    }
    blockquote {
      margin: var(--padding-m) 0 var(--padding-m);
      border-left: 5px solid var(--brand);
      padding: var(--padding-s);
      line-height: 1.7;
      background-color: var(--blockquote-background);
      font-size: 0.925em;
      table {
        background-color: var(--table-bg);
      }
    }
    table {
      table-layout: fixed;
      width: 100%;
      border-collapse: collapse;
      margin: 1rem 0;
      border-left: 1px solid #225;
      border-right: 1px solid #225;
      border-top: 1px solid #225;
      border-bottom: 1px solid #225;
      :where(th, td) {
        padding: var(--padding-xs);
        border-bottom: 1px solid #225;
        &:not(:last-child) {
          border-right: 1px solid #225;
        }
      }
      th {
        background-color: var(--th-background);
        border-bottom: 1.5px dashed #408499;
        &:not(:last-of-type) {
          border-right: 1.5px dashed #408499;
        }
      }
      tbody tr:nth-child(even) {
        background-color: #204e6a0f;
      }
      img {
        width: 100%;
        height: auto;
      }
    }
    .external-link-wrapper {
      display: inline;
    }
    .sns-share {
      &.loaded {
        .external-link-wrapper {
          display: inline-block;
        }
      }
    }
    .related {
      h4 {
        margin: var(--padding-xxl) 0 0;
        padding: 0;
      }
      ul {
        margin: var(--padding-m) 0;
        padding: var(--padding-m);
        border: 1px solid oklch(68.5% 0.169 237.323);
      }
      ul {
        list-style: none;
      }
    }
    .pageNavi {
      width: inherit;
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: var(--padding-xs) 0;
      background-color: transparent;
      border-radius: 8px;
      margin: calc(var(--padding-l) * 2) 0;
      a {
        position: relative;
        display: flex;
        align-items: center;
        text-decoration: none;
        color: var(--font-color);
        background-color: var(--th-background);
        font-size: 1rem;
        padding: 1rem;
        border-radius: 40px;
        transition: background-color 0.3s, transform 0.6s;
        &:hover {
          color: #333;
          background-color: #e0e0e0;
          border-radius: 10px;
          div {
            margin: 0 1rem;
            max-width: 300px;
          }
        }
        .icon {
          width: 32px;
          height: 32px;
          fill: #333;
        }
        .right {
          transform: rotate(180deg);
        }
        div {
          white-space: nowrap;
          overflow: hidden;
          text-overflow: ellipsis;
          max-width: 0;
          transition: max-width 0.3s;
        }
      }
      .prev {
        justify-content: flex-start;
      }
      .next {
        justify-content: flex-end;
      }
      @media (max-width: 768px) {
        flex-direction: column;
        a {
          width: 100%;
          justify-content: center;
          margin-bottom: 0.5rem;
          div {
            max-width: 300px;
            margin: 0 0.5rem;
          }
        }
        .prev, .next {
          justify-content: center;
        }
      }
    }
  }
  @container main (width <= 500px) {
    :where(ul, ol):not(.listR) {
      margin-left: 0;
      padding-left: 0 !important;
    }
    .body-copy {
      blockquote {
        margin: 1.7rem 0 1rem -1rem;
      }
    }
  }
  .body-copy {
    &.index {
      display: grid;
      grid-template-areas: "header header" "main side" "under under";
      grid-template-rows: max-content 1fr auto;
      grid-template-columns: 1fr 50%;
      gap: 1rem;
      height: auto;
      .cover {
        grid-area: header;
        position: relative;
        width: 100%;
        aspect-ratio: 16/9;
        overflow: hidden;
        .text {
          display: block;
          position: absolute;
          font-size: calc((100 / 3.3) * 0.3075vw);
          line-height: 0.7;
          font-weight: 900;
          z-index: 10;
          transition: 0.4s;
          letter-spacing: -0.08em;
          width: 100%;
          &:first-of-type {
            top: 1rem;
            left: 1rem;
            mix-blend-mode: difference;
            color: #3b99d0;
          }
          &:last-of-type {
            bottom: 1rem;
            left: 1rem;
            mix-blend-mode: overlay;
            color: #ead09e;
          }
        }
        div {
          position: absolute;
          left: 0;
          transition: 0.6s cubic-bezier(0.9, 0, 0.1, 1);
          width: calc(100% + (var(--columns) - 0) * 1px);
          height: calc(100% + (var(--rows) - 1) * 1px);
          background-size: cover;
          background-position: 50% 50%;
        }
        nav {
          display: flex;
          align-items: center;
          height: 100%;
          transition: 1s;
          ul {
            font-size: 8vw;
            display: flex;
            justify-content: space-around;
            align-items: center;
            width: 100%;
            flex-flow: row wrap;
            li {
              line-height: 1.2;
            }
          }
        }
        &.active {
          div {
            &:nth-of-type(odd) {
              translate: 100%;
            }
            &:nth-of-type(even) {
              translate: -100%;
            }
          }
          .text {
            &:first-of-type {
              top: -100%;
              left: 1rem;
            }
            &:last-of-type {
              bottom: -100%;
              left: 1rem;
            }
          }
          nav {
            opacity: 1;
          }
        }
        &:not(.active) {
          div {
            &:nth-of-type(odd) {
              translate: 0;
            }
            &:nth-of-type(even) {
              translate: 0;
            }
          }
          nav {
            opacity: 0;
          }
        }
      }
      .info {
        grid-area: main;
        font-size: 0.9em;
        h2 {
          margin-top: 0;
          font-family: serif;
          font-weight: bolder;
          line-height: 1.1;
        }
      }
      .tag-cloud {
        grid-area: under;
        flex-flow: row wrap;
      }
      aside {
        grid-area: side;
        h3 {
          margin: 0;
          padding: 0;
          border: 0;
          color: var(--text-red);
        }
        .wrapper {
          position: relative;
          padding: 0;
          min-height: calc(100% - 2rem);
          overflow: auto;
          border: 1px solid #666;
          border-width: 2px 0;
          table {
            position: absolute;
            list-style: none;
            padding: 0;
            margin: 0;
            font-size: 0.95em;
            .meta {
              width: 30%;
              font-size: 0.9em;
              color: #ccc;
              background-color: rgba(34, 39, 58, 0.9);
              line-height: 1.2;
              padding: var(--padding-s) var(--padding-ex-s);
              span {
                display: block;
              }
            }
            td {
              overflow-x: auto;
              font-size: 0.9em;
            }
            .title-link {
              display: block;
              padding: 12px 1em 10px;
              overflow-x: auto;
              scrollbar-width: thin;
              cursor: pointer;
            }
            .title {
              display: inline-block;
              min-width: max-content;
            }
          }
        }
      }
      @media (width < 768px) {
        grid-template-areas: "header" "main" "side" "under";
        grid-template-rows: max-content 1fr auto auto;
        width: 100vw;
        grid-template-columns: minmax(0, 1fr);
        .cover {
          aspect-ratio: 4/3;
          transition: all 0.4s;
          .catchcopy div {
            font-size: 3em;
          }
          div {
            width: 100%;
          }
          nav.navigation {
            width: 100%;
            ul {
              margin: 0;
              max-width: 100vw;
              list-style: none;
              padding: var(--padding-s) 0;
              height: fit-content;
              li {
                padding: 0;
                margin: 0;
              }
            }
          }
        }
        aside {
          .wrapper {
            min-height: 500px;
          }
        }
      }
    }
  }
  .cover {
    container-type: inline-size;
    container-name: cover;
  }
  @container cover (width < 768px) {
    .catchcopy {
      div {
        font-size: 0.75em;
      }
    }
  }
  :is(.cat-blog, .cat-guitar) {
    .listing {
      container-type: inline-size;
      container-name: title-meta;
      li {
        margin: 0;
        padding: var(--padding-s) 0 var(--padding-xs);
        padding: 0;
        &::after {
          margin: var(--padding-m) 0;
        }
        .title-meta :not(time) {
          text-decoration-color: var(--link-color);
          filter: hue-rotate(0deg);
          transition: 0.4s;
        }
        a {
          margin: 0 0 var(--padding-xs);
          &:hover {
            text-decoration: unset;
            .title-meta :not(time) {
              transition: 0.4s;
              text-decoration: underline;
              text-decoration-color: var(--link-color);
              filter: hue-rotate(300deg);
            }
          }
        }
      }
    }
    a {
      width: 100%;
      color: inherit;
    }
    .isUpdate {
      display: none;
      &.show {
        display: inline-block;
      }
    }
    .title-meta {
      display: grid;
      grid-template-areas: "left" "right";
      grid-template-rows: minmax(0.2px) 1fr;
      row-gap: 1rem;
      & > span {
        grid-area: right;
        width: auto;
      }
      & > div:has(img) {
        grid-area: left;
        position: relative;
        aspect-ratio: 16/9;
        overflow: hidden;
        img {
          object-fit: cover;
          position: absolute;
          top: 0;
          left: 50%;
          transform: translatex(-50%);
          width: 100%;
          height: 100%;
        }
      }
      .title {
        font-size: 1.5em;
        color: var(--link-color);
        line-height: 1.2;
        width: auto;
      }
      time {
        margin: 0.5rem 0;
      }
    }
    @container title-meta (width > 500px) {
      .title-meta {
        grid-template-areas: "left right" !important;
        grid-template-columns: 2fr 1fr;
        column-gap: 1rem;
        & > span {
          grid-area: left !important;
        }
        & > div:has(img) {
          position: relative;
          grid-area: right !important;
          aspect-ratio: 4 / 3;
          img {
            position: absolute;
            height: 100%;
            width: 100%;
            top: 0;
            left: 50%;
          }
        }
      }
    }
    .summary {
      font-size: 0.9em;
      font-weight: unset;
      opacity: 0.8;
      margin: var(--padding-s) 0 0;
    }
    h3 {
      color: var(--text-red);
    }
  }
  .body-copy {
    &.cat-blog {
      .blog-wrapper {
        display: grid;
        grid-template-columns: 1fr 2fr;
        column-gap: var(--padding-m);
      }
      h3 {
        margin: var(--padding-s) 0 var(--padding-xl);
      }
    }
  }
  @media (width < 768px) {
    .body-copy {
      &.cat-blog {
        .blog-wrapper {
          grid-template-columns: 1fr;
          column-gap: unset;
        }
      }
    }
    .blog-wrapper {
      grid-template-columns: unset;
    }
  }
  .guitarContent {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    column-gap: 1rem;
    column-gap: var(--padding-s);
    :is(ul, ol) {
      li {
        line-height: 2;
      }
    }
  }
  ul.listing {
    container-type: inline-size;
    container-name: global-menu;
    list-style-type: none;
    padding: 0;
    li {
      padding: 0.5rem 0;
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      a {
        text-decoration: none;
        &:hover {
          text-decoration: underline;
        }
      }
      &::after {
        content: "";
        width: 100%;
        margin: 2em 0 0 0;
        border-bottom: 1px solid rgb(21, 67, 81);
      }
      .post_update {
        display: inline-flex;
        letter-spacing: 0.05em;
        font-size: 14px;
        margin: 0 0 var(--padding-ex-s);
        .isUpdate {
          margin: 0 var(--padding-ex-xs) 0 0;
        }
        .separator {
          margin: 0 var(--padding-ex-xs);
        }
      }
      time {
        white-space: nowrap;
        display: block;
        width: max-content;
      }
      .summary {
        color: var(--font-color);
      }
    }
  }
  .listing.listR {
    padding: var(--padding-xs);
    border-radius: var(--padding-ex-xs);
    background-color: #40447d24;
    background-blend-mode: darken;
    li {
      a {
        margin: 0;
        span {
          color: var(--description-color);
        }
        &:hover {
          text-decoration: underline;
          text-decoration-color: oklch(54.6% 0.245 262.881);
          text-decoration-thickness: 0.1em;
        }
      }
      &::after {
        content: "";
        margin: var(--padding-ex-s) 0;
        border-top: 1px solid rgb(21, 67, 81);
        border-bottom: 0;
      }
    }
  }
  @container global-menu (width < 480px) {
    .post_update {
      .title_meta {
        grid-auto-columns: unset;
        grid-auto-rows: minmax(0, 200px) ifr;
        & > div {
          grid-row: 1;
        }
        & > span {
          grid-row: 2;
        }
      }
    }
  }
  .lastmod-meta {
    display: flex;
    column-gap: var(--padding-ex-xs);
    padding: var(--padding-ex-s) 0;
    @media (width < 1200px) {
      flex-flow: row wrap;
    }
  }
  .originalPost {
    font-size: 0.85em;
    &::before {
      content: "(";
    }
    &::after {
      content: ")";
    }
    &::before, &::after {
      padding: 0 var(--padding-ex-xs);
    }
  }
  .tags {
    display: flex;
    width: fit-content;
    margin-inline: auto;
    justify-content: center;
    gap: var(--padding-s);
    margin-top: var(--padding-l);
    flex-flow: row wrap;
    .tag {
      text-decoration: none;
      color: var(--font-color);
      background-color: var(--tag-background);
      border-radius: 4px;
      padding: 0 var(--padding-xs);
      cursor: pointer;
    }
    & ~ .footnotes-list {
      margin-top: calc(var(--padding-xl) * 2);
    }
  }
  .header-meta {
    margin: var(--padding-s) 0 var(--padding-l);
    .tags {
      margin: var(--padding-l) auto var(--padding-s);
    }
  }
  .tag-cloud {
    max-width: 100vw;
    padding: var(--padding-l) var(--padding-xs) 0;
    h3 {
      padding: 0 0 var(--padding-m);
    }
  }
  @media (width < 768px) {
    .tag-cloud {
      max-width: 100vw;
      padding: var(--padding-m);
    }
    aside {
      width: 100%;
      max-width: 100vw;
      ul {
        width: 100%;
      }
    }
  }
  #articleList-pagination {
    .pagination {
      list-style: none;
      display: flex;
      justify-content: flex-start;
      flex-flow: row wrap;
      align-items: center;
      gap: var(--padding-s) 0;
      li {
        &:nth-child(n + 1) {
          margin: 0 var(--padding-ex-xs);
        }
        &:nth-child(n + 3) {
          margin: 0 var(--padding-s);
        }
      }
      a[aria-current="page"] {
        color: var(--logo);
      }
    }
    button:is(.previous, .next) {
      width: 50px;
      padding: 4px 0;
      &[area-disabled="true"] {
        cursor: not-allowed;
      }
    }
  }
  ul.sns-share {
    display: none;
    flex-flow: row wrap;
    gap: var(--padding-s) var(--padding-l);
    list-style: none;
    justify-content: center;
    margin: 6rem 0 3rem;
    margin: calc(var(--padding-xl) * 2) 0 var(--padding-xl);
    padding: 0;
    align-items: center;
    position: relative;
    &.loaded {
      display: flex;
    }
    &::before {
      content: "Spread the word !!";
      position: absolute;
      transform: translateY(-200%);
      text-align: center;
      top: 0;
    }
    li {
      width: 48px;
      height: 48px;
      background-color: var(--font-color);
      border-radius: 50%;
      margin: 0;
      padding: 0;
      display: flex;
      justify-content: center;
      border: 3px solid #aaa;
      align-items: center;
      a {
        position: relative;
      }
      &:nth-child(n + 4) {
        a {
          display: block;
          top: -1px;
          left: -1px;
        }
      }
      &:nth-child(n + 5) {
        a {
          top: 1px;
        }
      }
    }
    a {
      display: flex;
    }
    svg {
      display: none;
      fill: var(--share-svg-color);
      width: 30px;
      height: 30px;
    }
    &.loaded {
      svg {
        display: block;
      }
      .icon_external-link {
        display: none;
      }
    }
    .facebook svg {
      width: 40px;
      aspect-ratio: 1 / 1;
    }
    .hatena svg {
      width: 28px;
      height: 28px;
    }
    .pocket svg {
      padding-top: 3px;
    }
  }
  .footnote {
    color: var(--background-color);
    cursor: pointer;
    height: 1.25em;
    width: fit-content;
    display: inline-flex;
    background-color: var(--link-color);
    padding: calc(var(--padding-xs) / 2);
    border-radius: 2px;
    justify-content: center;
    align-items: center;
    margin: 0 2px 0 2px;
    min-width: 0.85rem;
    span {
      font-size: 0.75rem;
    }
  }
  .footnotes-list {
    position: relative;
    margin: 5rem 0 0;
    margin: var(--padding-l) 0 0;
    &::before {
      content: "FOOTNOTES: ";
      font-size: 0.75rem;
      color: #fff;
      background: var(--muted);
      border-radius: 0 6px 0 0;
      padding: 4px 0;
    }
    &::after {
      content: "";
      position: absolute;
      width: 100%;
      top: 1.75rem;
      border: 1px solid var(--muted);
    }
    &:empty {
      display: none;
    }
    .foot {
      display: grid;
      grid-template-columns: 2rem 1fr;
      margin: 0.5rem 0 0;
      margin: var(--padding-ex-m) 0 0;
    }
    span {
      color: var(--link-color);
      cursor: pointer;
      line-height: 1.5;
      font-size: 0.875rem;
    }
    @media (width > 640px) {
      &::before {
        content: "FOOTNOTES | 脚注  -  該当の脚注をクリック/タップで元の位置に戻ります";
      }
    }
  }
  @keyframes blinker {
    0% {
      opacity: 1;
    }
    25% {
      opacity: 0;
    }
    50% {
      opacity: 1;
    }
    75% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  .footnoteblink {
    animation: blinker 2s linear 1;
  }
  .tocThumb {
    height: 100%;
    max-height: 100vh;
    overflow-y: auto;
  }
  .toc {
    grid-area: side;
    font-size: 1rem;
    line-height: 1.2;
    padding-right: var(--padding-s);
    &::before {
      content: "TOC table of Content";
    }
    :where(.level-1, .level-2) {
      padding-left: 0;
    }
    .level-3 {
      padding-left: 1rem;
    }
    .level-4 {
      padding-left: 2rem;
    }
    .level-5 {
      padding-left: 3rem;
    }
    .level-6 {
      padding-left: 4rem;
    }
    .toc_sitetitle {
      margin-top: var(--padding-s);
      cursor: pointer;
      border-color: var(--logo);
      span {
        &:first-of-type {
          padding: 0 0 var(--padding-ex-s);
          color: var(--logo);
        }
      }
      &:hover {
        filter: hue-rotate(200deg);
        transition: 0.6s;
        span {
          &:first-of-type {
            color: var(--link-color);
          }
        }
      }
    }
    .toc_menu {
      font-size: 0.875em;
      div {
        margin-top: 1rem;
        cursor: pointer;
        span {
          margin-right: var(--padding-ex-xs);
          &:hover {
            text-decoration: underline;
            text-decoration-color: #fd22a7;
            text-underline-offset: 4px;
            text-decoration-style: dotted;
            color: #fd22a7;
          }
        }
      }
      .active {
        color: #fff;
        text-shadow: -2px -1px 10px #6142f4, -2px 1px 10px #6142f4, 2px -1px 10px #6142f4, 2px 1px 10px #6142f4;
        transition: 0.4s;
        font-weight: 700;
        &:hover {
          color: #fff;
          filter: hue-rotate(295deg);
        }
      }
    }
  }
  .toc-chevron {
    flex-shrink: 0;
    width: 1.2em;
    height: 1.2em;
    background: none;
    border: none;
    cursor: pointer;
    transition: transform 0.2s ease;
    svg {
      color: var(--color-teal-300);
      width: 1.5em;
      height: 1.5em;
      vertical-align: middle;
      display: inline-flex;
    }
  }
  .toc-open .toc-chevron {
    transform: rotate(90deg);
  }
  .toc-children {
    position: relative;
    &::before {
      content: "";
      position: absolute;
      top: -10px;
      left: 20px;
      display: block;
      width: 1px;
      height: calc(100% + 1rem);
      background: repeating-linear-gradient( 0deg, transparent, transparent 4px, var(--c) 4px, var(--c) 9px );
    }
  }
  .sidebar {
    .tocThumb {
      position: relative;
      transition: 0.6s;
      position: sticky;
      top: 1rem;
      & > div {
        margin-bottom: 2rem;
      }
    }
    .thumbnails {
      display: flex;
      flex-flow: row wrap;
      justify-content: flex-start;
      gap: 0.25rem;
      h5 {
        width: 100%;
      }
      img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
    }
    .thumb {
      display: block;
      width: 24%;
      aspect-ratio: 1 / 1;
      overflow: hidden;
      filter: grayscale(100%);
      cursor: zoom-in;
      transition: 0.6s;
      &:hover {
        filter: grayscale(0);
      }
    }
    .highlight {
      border-color: #dc3545;
      border: 3px solid;
      filter: grayscale(0);
      animation: blink 0.8s infinite;
      transition: 0.6s;
    }
  }
  .panel-switch {
    position: absolute;
    top: 50%;
    transform: translate(-70%, -50%);
  }
  @media (prefers-color-scheme: light) {
    .panel-switch {
      background-color: #001e3f;
      svg {
        color: #ccc;
      }
    }
  }
  @keyframes blink {
    0% {
      border-color: #dc3545;
    }
    50% {
      border-color: transparent;
    }
    100% {
      border-color: #dc3545;
    }
  }
  .ref-container {
    position: fixed;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    background-color: #151c2bf7;
    border-bottom: 1px dotted #fff;
    z-index: 10;
    transform: translateY(-100%);
    transition: 0.4s;
    &.active {
      transform: translateY(0);
    }
    &::before {
      content: "Click / tap anywhere on this displayed container to close it.";
      position: absolute;
      bottom: 0.5rem;
      left: 0.5rem;
      color: oklch(92.4% 0.12 95.746);
      padding: var(--padding-ex-xs);
      background-color: #111;
      font-size: 0.75rem;
      mix-blend-mode: difference;
    }
  }
  .f-img {
    display: inline-flex;
    color: var(--brand);
    align-items: center;
    cursor: pointer;
    &::before, &::after {
      margin: 0 2px;
    }
    &::before {
      content: "[";
    }
    &::after {
      content: "]";
    }
    &.intersection {
      animation: filterblink 1s forwards;
      animation-iteration-count: 6;
      line-height: 1.4;
    }
  }
  @keyframes filterblink {
    0% {
      filter: hue-rotate(0deg);
    }
    25% {
      filter: hue-rotate(90deg);
    }
    50% {
      filter: hue-rotate(180deg);
    }
    75% {
      filter: hue-rotate(270deg);
    }
    100% {
      filter: hue-rotate(360deg);
    }
  }
  .icon_external-link {
    width: 0.7rem;
    height: 0.7rem;
    margin: 4px 4px 0 2px;
    color: var(--font-color);
    display: inline-block;
    vertical-align: super;
    &.insert {
      display: none;
    }
  }
  .amazon {
    display: inline-flex;
    align-items: center;
    margin: -4px 0 0 2px;
    width: 1.1rem;
    height: 1.1rem;
    background-color: #285a8e;
    color: #fff;
    border-radius: 4px;
  }
  .github {
    display: inline-flex;
    align-items: center;
    margin: -5px 0 0 3px;
    width: 1rem;
    height: 1rem;
    background-color: #424c57;
    color: #fff;
    border-radius: 4px;
  }
  .copyButton {
    position: absolute;
    top: 5px;
    right: 5px;
    width: 32px;
    height: 32px;
    background: rgba(237, 249, 255, 0.9);
    border: 1px solid #09625a;
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1d73e1;
    transition: all 0.2s ease;
    z-index: 5;
    &:hover {
      background: #fff;
      border-color: #aaa;
    }
    &.copied {
      background: #d4eef4;
      border-color: #aaa;
      color: #0d92c6;
      animation: copy-success-pulse infinite 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    }
    svg {
      width: 20px;
      height: 20px;
    }
  }
  @keyframes copy-success-pulse {
    0% {
      transform: scale(1);
    }
    40% {
      transform: scale(1.08);
    }
    100% {
      transform: scale(1);
    }
  }
  .table-container {
    width: auto;
    margin: var(--padding-l) 0 var(--padding-m);
    padding: var(--padding-s) 0;
    overflow-x: auto;
    table {
      margin: 0;
      width: max-content;
      min-width: 100%;
      table-layout: initial;
      font-size: 16px;
      th {
        vertical-align: middle;
      }
      &.active {
        & :where(th, td):first-child {
          position: sticky;
          left: 1px;
          background-color: #071c1ed1;
          transform: translateX(-2px);
          width: max-content;
        }
      }
    }
    &::after {
      content: "表が見切れている時はスクロール可能";
      font-size: 0.75rem;
      color: var(--notes);
    }
  }
  :where(h2, h3, h4, h5) {
    & + .table-container {
      padding-top: 0;
    }
  }
  .ytp {
    margin-bottom: 1em;
    .wrapper {
      width: 100%;
      background-position: center center;
      background-size: cover;
      background-color: #000;
      position: relative;
    }
    .container {
      position: relative;
      display: block;
      height: 0;
      padding: 0 0 56.25%;
      overflow: hidden;
      width: 100%;
    }
    .inner {
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      height: 100%;
      width: 100%;
      border: 0;
    }
    button {
      display: inline-block;
      margin-bottom: 20px;
      padding: 6px 12px;
      border: 1px solid #777;
      border-radius: 3px;
      background-color: #fff;
      color: #333;
      text-decoration: none;
      font-weight: bold;
      line-height: normal;
      cursor: pointer;
    }
    :is(.play-button, .play-button:focus, .play-button:hover) {
      mask-image: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='currentColor' d='m9.5 16.5 7-4.5-7-4.5v9ZM12 22q-2.075 0-3.9-.788t-3.175-2.137q-1.35-1.35-2.137-3.175T2 12q0-2.075.788-3.9t2.137-3.175q1.35-1.35 3.175-2.137T12 2q2.075 0 3.9.788t3.175 2.137q1.35 1.35 2.138 3.175T22 12q0 2.075-.788 3.9t-2.137 3.175q-1.35 1.35-3.175 2.138T12 22Zm0-2q3.35 0 5.675-2.325T20 12q0-3.35-2.325-5.675T12 4Q8.65 4 6.325 6.325T4 12q0 3.35 2.325 5.675T12 20Zm0-8Z'/></svg>");
      mask-position: center;
      mask-repeat: no-repeat;
      background: var(--brand);
      width: 6rem;
      height: 6rem;
      margin: 0;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      animation: heartbeat 1.5s infinite;
    }
    .title {
      display: inline-flex;
      margin: 0 var(--padding-ex-s) 0 0;
      color: var(--yt-font-color);
      background-color: var(--yt-background-color);
      padding: var(--padding-ex-xs) var(--padding-xs);
      border-radius: 0 0 10px 0;
      position: absolute;
      top: 0;
      left: 0;
      line-height: 1.2;
      font-size: 0.8275em;
      opacity: 0.9;
    }
    &.mv_hidden {
      display: none;
    }
    &.size-s {
      width: 200px;
      height: 113px;
    }
    &.size-m {
      width: 400px;
      height: 225px;
    }
    &.right {
      margin-left: auto;
    }
    &.left {
      margin-right: auto;
    }
    &.center {
      margin-left: auto;
      margin-right: auto;
    }
    &.f-right {
      float: right;
      margin-left: 10px;
    }
    &.f-left {
      float: left;
      margin-right: 10px;
    }
    @media screen and (max-width: 42.5em) {
      &.size-s, &.size-m {
        width: 100%;
        height: auto;
      }
      &.f-left, &.f-right {
        float: none;
        margin: unset;
      }
    }
  }
  @media (width < 640px) {
    .ytp {
      .title {
        font-size: 1rem;
      }
    }
  }
  @keyframes heartbeat {
    0% {
      transform: translate(-50%, -50%) scale(0.8);
    }
    5% {
      transform: translate(-50%, -50%) scale(0.9);
    }
    10% {
      transform: translate(-50%, -50%) scale(0.8);
    }
    15% {
      transform: translate(-50%, -50%) scale(1);
    }
    50% {
      transform: translate(-50%, -50%) scale(0.8);
    }
    100% {
      transform: translate(-50%, -50%) scale(0.8);
    }
  }
  .ytgrid {
    margin: var(--padding-s) 0;
    gap: 0;
    row-gap: 0.5rem;
    row-gap: var(--padding-s);
    div {
      margin: 0;
    }
    @media (width >= 768px) {
      row-gap: 0;
      gap: var(--padding-xs);
    }
  }
  .mv_hidden {
    display: none;
  }
  .home-header {
    margin: 2rem 0;
    .home-header img {
      border-radius: 100%;
      border: solid 0.5rem var(--brand);
      width: 5rem;
      height: 5rem;
    }
  }
}
@layer utility {
  @keyframes movebg {
    to {
      background-position: var(--bg-size) 0;
    }
  }
  .emgithub-container {
    pre {
      overflow-x: scroll;
    }
    .emgithub-file .code-area {
      td.hljs-ln-line.hljs-ln-numbers {
        width: min-content !important;
      }
      .hljs-ln {
        tr {
          display: flex;
          justify-content: start;
          flex-wrap: nowrap;
        }
      }
    }
    svg {
      display: none;
    }
  }
  #custom-tooltip {
    position: fixed;
    background: #333;
    color: #fff;
    padding: 6px 10px;
    border-radius: 4px;
    font-size: 0.725em;
    pointer-events: none;
    max-width: 25em;
    word-break: break-word;
    white-space: normal;
    line-height: 1.5;
    opacity: 0;
    transition: opacity 0.15s;
    z-index: 9999;
    &.visible {
      opacity: 1;
    }
  }
  .footer {
    margin-top: calc(var(--padding-l) * 3);
    margin-bottom: 1rem;
    border-top: solid 1px var(--transparency-1);
    padding: 1rem 0;
    ul {
      list-style-type: none;
      padding: 0;
    }
    .site-meta {
      display: grid;
      grid-template-columns: 1fr 33.3% 1fr;
      align-items: center;
      justify-items: center;
      ul {
        display: flex;
        align-items: center;
        list-style: none;
        padding: 0;
        margin: 0;
        flex-direction: row;
        li {
          padding: 0.25rem;
          &:first-of-type {
            padding-left: 0;
          }
        }
      }
      .site-meta {
        grid-column: 1/2;
      }
      .credit {
        display: flex;
        grid-column: 2/3;
        margin: var(--padding-s) 0;
      }
      .feedMeta {
        grid-column: 3/4;
      }
      :where(.social-related, .feedMeta) {
        column-gap: var(--padding-l);
        row-gap: var(--padding-xl);
      }
    }
    button {
      appearance: none;
      -moz-appearance: none;
      -webkit-appearance: none;
      border: solid 0.1rem var(--transparency-1);
      background: none;
      padding: 0.5rem 0.5rem;
      display: none;
      align-items: center;
      cursor: pointer;
      margin: 3rem auto;
      svg {
        color: var(--font-color);
        fill: currentColor;
        &.sun:hover {
          color: orange;
        }
      }
    }
    @media (width < 768px) {
      .site-meta {
        grid-template-columns: initial;
        grid-template-columns: 50% 50%;
        grid-template-rows: auto auto;
        .credit {
          grid-column: 1/-1;
          grid-row: 2/3;
        }
        .feedMeta {
          grid-column: 2/3;
        }
      }
    }
  }
  @media (width < 768px) {
    footer {
      width: 100vw;
      ul {
        flex-flow: column wrap;
      }
    }
  }
}
@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-duration: initial;
      --tw-ease: initial;
    }
  }
}
