@font-face {
      font-family: 'Dico';
      src: url('https://dwtd1975.neocities.org/img/fonts/Dico.ttf') format('truetype');
      font-weight: normal;
      font-style: normal;
    }
    @font-face {
      font-family: 'ScreamWhenYouReReadytoDie';
      src: url('https://dwtd1975.neocities.org/img/fonts/ScreamWhenYou%27reReadytoDie.ttf') format('truetype');
      font-weight: normal;
      font-style: normal;
    }
    @font-face {
      font-family: 'Undead';
      src: url('https://dwtd1975.neocities.org/img/fonts/Undead.ttf') format('truetype');
      font-weight: normal;
      font-style: normal;
    }
    @font-face {
      font-family: 'HydratingLip';
      src: url('https://dwtd1975.neocities.org/img/fonts/HydratingLip.ttf') format('truetype');
      font-weight: normal;
      font-style: normal;
    }
    :root {
      --colour:      #ffffff;
      --bg:          #000000;
      --col-gap:     2rem;
      --section-gap: 3.5rem;
      --font-body:   'Dico', serif;
      --font-sc:     'IM Fell English SC', serif;
      --font-title:  'ScreamWhenYouReReadytoDie', serif;
      --font-deco:   'HydratingLip', serif;
      --font-mono:   ui-monospace, monospace;
      --sc-spacing:  .08em;
      --border-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFQAAABUCAYAAAAcaxDBAAAEs0lEQVR4Xu2c0W7TUBBE7fL/nwxBVzSmOdf18Xiv7Tz0PISEmZ2dNRJCqO08FXk8Ho/lwzRN8zzPy4cbuLtPedndB5C7+5SX3X0AubtPedndB5C7+8TLzi48On90nhGHvxb8M83zrzhji8fj92OaPpbP1Qfwv++fqeVW84w4/Ow/8dH5o/OMOPzsgqPzR+cZGm6FTDfSefObnpLmbYoNCzTdSOfNb3pKmrcpNizQdCOdN/9Tby9NoJ5i+8im2LBA04103vymp6R5m+IRrECqE/NTJ6mf2HwUtgdbmOrE/NRJ6ic2H4XtwRamOjE/dZL6ic1HYXuwhalOzE+dNH8beJrMT2xfFLaGLUhhnsF9nKdOzL/o7XXe0D/ZXLaHLlAOMJhncB/nqRPzx/ry7iBdoBxgMM/gPs5TJ+aP9eXdQbpAOcBgnsF9z/n20gTqhPvoj/Xl3U66AFsgOqHfSPPoT3UjMjeWhe11z1/SohP6jTSP/lQ3InPDFqY6od9oef/+63gd5i37P4e+1T+hbkTmhi1MdUK/kebRn+pGZ64GEuaRaj65eh/pwlmoWoB5pJpPrt5HuvDXQo9pnj86T8LVB67ua7/zuWX0PtKFs1C1APNINZ9cvY/MLMCFqf6VJrA9589mq1+Dfeinbpz6QNeeKOfPZrPfSh/6qRvnPtAVOH821o996KduvDzQ9m/dX+EC6gbnz8b6sQ/91I3I3LCFpt9N2i/1b4pr2ALT7ybtl/o3xTVsgel3k/ZL/ZviGrbA9LtJ+6X+TbFhgaa/O+xPeA/91PV4CzD93WF/wnvop67HW4Dp7w77E95DP3U93gJMf3fYn/Ae+qnHxzPwP9d8yfVovr/nH+k9kbkxusDdjL4nMjdGF7ib0fdE5sboAncz+p7OzAUMpE7of3d4D/ubTjrRAqgT+t8d3sP+ppNOtADqhP53h/ewv+mkEy2AOqH/3eE97G862RQbaWDqvxrrZ7qh5nRB6r8a69f0Znj+JnVDzVaApP6reen3mKb5o3+gy4cD/dWcLkj9V2P9TDcic8MWUif0n431IezHedWXdzvpAmQBof9srA9hP86rvrzbSRcgCwj9Z/O1T3tjy9mP96i+vNtJFyALCP1nY30I+3Fe9eXdSXAhYcEqZ+9jPvNK4XtgAcJCVc7ex3zmlcL3wAKEhaqcvY/5zCuF74EFCAtVOXsf85kXh1tgqhP6jTSP/lQ3InPDFqY6od9I8+hPdSMyN2xhqhP6jTSP/lQ3InPDFqY6od9I8+hPdWP4VzBTJ+anbnA+hfuqeT8PVPqk/DxQ6ZNy4wNtv8ydn3kG51O4r5rXDT8XPL/DN12Q/rhKO4g6MX+qV+nCqgvTefNTJ+ZP9SpdWHVhOm9+6u3DV4P5U71KF1ZdmM6/+vtv1mUeYT79qV5Fw0YXsDzTSeonNm862RQbaaBheaaT1E9sftG/+ZEaZFNs2MIUyzOdpH5i86aTTbGRBhqWZzpJ/cTmTSeb4gjSQsboPFLNj8xHqBYko/NINT8yH6FakIzOI9X8yHyEakEyOo9U8yPzCKqFRzO6T2n4CKMPqDK6T2n4CKMPqDK6T2n4CC8HrHzB69WMfqB/ARMj2IDXT71BAAAAAElFTkSuQmCC');
    }

    @media (prefers-color-scheme: light) {
      :root {
        --colour: #000000;
        --bg:     #ffffff;
        --border-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFQAAABUCAYAAAAcaxDBAAADCUlEQVR4Xu2aS3alMAwFX/a/6E4yxNAUhWRDzrmZypal0scyL1+f+t+/QcVXXWVJw6P2dDj/qAMH6B+1J0BLxbDfHKAvADq7pLr1d+s7DcGdDJ1tYLf+bn0BunIKSYY+0EOpZEhOJtv9tJ7kZM8oV/quZCgpJDk5YPfTepKTPQE6EAhQeWkQMJI/nqHdBpDDo3w8f2xTpK9UwvZpe6WHBuiWwGkAA/TzsQwCtPnSmg7U9jBqIdRDV/dU8m8jt+l+BIMOJIB0adD+2ZcU+RegsgUE6OK5tpyhKmI/zlFJUk+kkqeeS+db+fLPdxZ4gEJJBSjV1MwmfnC2nTxeX/KUYZL/xzps9duxywZM2XOkPEAVwu3iAC3AO9oaoBOAUolbOZk4tYdd+H5JYxr5i3MoKbDyAJ08V1JGUACqcjtlUAIlQyEif/7pWc246n6bgWr9nQuCDiB5FUh1v7VPrQ9Q/k0pQCGFFaAfXWr9lQwlhSSvlujs/a1TQIDuM5DGvNMECtAAbe8Ay0v+Vd8b23H6DMWXkrXRRtTqX72+1Z8rPTQZKkIcoAtKnubK1hIRwZ+11Pp7moR3vtgH6EloA5SflpTBG7wBugAo3ep0kamIzmqMJ3rJPpKX51B7gF2/minZR/IAHQgQMJIH6NuA2p76trGK7Cl9rhs/QNMFc5TeVBLkwJ0zK32W7AlQSTdAJTBa/nqg5AD1XCoxq3/1eeWfQN7uYIAOBLovKSrx6nnJ0OYAtgO1YxP9M1a1p9qMrNpffilRjyJgJA9QKCGbAQEaoP+v+t9ytBlFJUy3qD2PxjY6j/aTPbR/Iw9QTqgAVQQCdIfrdSVvxyJKANuTaP2r5kxy/s6vnqSTANkABqh86lEAAjRAz4uYMohaQLXE6dKp2kf7Sb6bQwmIUkjKGh4SNkBkEvlH8gAdCBMwkgfo00CpZEiuIkzKLrSMCypOl5TspYZfNe53f8nAAwO69bX25ADdR6wUsAD9g0BbS6qjB8lLSR25IkMDVIXELy71KH8c7mi1JxnaPIV8Azr5cFznJoi7AAAAAElFTkSuQmCC');
      }
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html, body {
      background: var(--bg);
      color: var(--colour);
      font-family: var(--font-body);
      line-height: 1.72;
    }
    body {
      min-height: 100vh;
    }
    a {
      color: var(--colour);
      text-decoration: underline;
    }
    .full > p::first-line {
      font-weight: bold;
    }

    /* ── Navigation ── */
    .nav {
      padding: .6rem 1rem;
      overflow-x: auto;
      scrollbar-width: none;
      width: fit-content;
      max-width: 100%;
      margin: 0 auto;
    }
    .nav::-webkit-scrollbar { display: none; }
    .navlist {
      list-style: none;
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      justify-content: center;
      align-items: center;
      margin: 0 auto;
    }
    .navlist li {
      display: flex;
      align-items: center;
      padding: .3rem 1rem;
      flex-shrink: 0;
    }
    .navlist li a {
      font-family: var(--font-body);
      font-size: 1.1rem;
      font-style: italic;
      white-space: nowrap;
      text-decoration: none;
    }
    .navlist li a img {
      display: block;
      height: auto;
      width: auto;
    }

    /* ── Masthead ── */
    .masthead {
      padding: 1.8rem 1rem 1.4rem;
      text-align: center;
    }
    .masthead a {
      display: block;
      text-decoration: none;
    }
    .masthead a img {
      max-width: 100%;
      height: auto;
      display: block;
      margin: 0 auto;
    }
    .masthead h1 {
      font-family: var(--font-deco);
      font-size: 4.5rem;
      font-weight: 400;
      line-height: 1;
      letter-spacing: 0.05em;
    }
    .lined {
      display: flex;
      align-items: center;
      gap: .6rem;
      margin: .7rem auto 0;
      max-width: 560px;
    }
    .masthead > p {
      font-family: var(--font-sc);
      font-size: 0.8rem;
      letter-spacing: .3em;
      text-transform: uppercase;
      white-space: nowrap;
    }

    /* ── Layout ── */
    .wrapper {
      width: 100%;
      max-width: 1300px;
      margin: 0 auto;
      padding: 0 4rem;
    }
    @media (max-width: 900px) {
      .wrapper { padding: 0 1rem; }
    }
    main { padding: 1.5rem 0; }
    .full { margin-bottom: var(--section-gap); }
    .two {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: var(--col-gap);
      margin-bottom: var(--section-gap);
      position: relative;
    }
    .two::after {
      content: '';
      position: absolute;
      left: 50%; top: 0; bottom: 0;
      width: 0;
      border-left: 1px dotted var(--colour);
      transform: translateX(-50%);
    }
    @media (max-width: 900px) {
      .two { grid-template-columns: 1fr; }
      .two::after { display: none; }
    }
    .three {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--col-gap);
      margin-bottom: var(--section-gap);
    }
    .three > div {
      border: 28px solid;
      border-image: var(--border-image) 28 / 28px round;
      padding: 1.2rem;
      overflow: hidden;
    }
    .three > div > a,
    .archive-ep > a {
      display: block;
      line-height: 0;
    }
    .three > div > a > img,
    .three > div > img,
    .archive-ep img {
      display: block;
      width: 100%;
      height: auto;
    }
    @media (max-width: 900px) { .three { grid-template-columns: 1fr; } }

    /* ── Horizontal rules ── */
    hr {
      border: none;
      width: 25%;
      margin: 0 auto var(--section-gap);
    }
    hr.hr--solid  { border-top: 2px solid var(--colour); }
    hr.hr--dotted { border-top: 2px dotted var(--colour); }
    hr.hr--double { border-top: 4px double var(--colour); }
    hr.hr--dashed { border-top: 2px dashed var(--colour); }

    /* ── Ornament after every 5th paragraph ── */
    .full > p:nth-of-type(5n)::after {
      content: '⁂';
      display: block;
      text-align: center;
      letter-spacing: .4em;
      margin: 1rem 0 .1rem;
      font-size: 1.1rem;
    }

    /* ── Headings ── */
    section h2 {
      font-family: var(--font-title);
      font-size: 1.8rem;
      font-weight: 400;
      letter-spacing: .04em;
      text-transform: uppercase;
      line-height: 1.1;
      margin-bottom: 1rem;
    }
    section h3 {
      font-family: var(--font-title);
      font-size: 1rem;
      font-weight: 400;
      text-transform: uppercase;
      letter-spacing: .04em;
    }
    .aside-2 h3 {
      display: block;
      padding: .3rem .8rem;
      margin-bottom: .75rem;
    }
    .aside-2 h3 a {
      text-decoration: none;
    }
    .aside-2 h3 a:hover {
      text-decoration: underline;
    }
    .three > div > h3:first-child {
      display: block;
      padding: .3rem .6rem;
      margin-bottom: .75rem;
    }

    /* ── Blockquote ── */
    blockquote {
      font-size: 1.5em;
      font-style: italic;
      border-left: 3px solid var(--colour);
      margin: 1.5rem 0;
      padding: .5rem 1.2rem;
      line-height: 1.6;
    }

    /* ── Paragraphs ── */
    p { margin-bottom: .9em; }
    p:last-child { margin-bottom: 0; }
    .aside-2 p:last-child, .three > div p:last-child { padding-bottom: .4rem; }

    /* ── Drop caps ── */
    .full > p:first-of-type::first-letter {
      float: left;
      font-family: var(--font-deco);
      font-size: 4.8em;
      line-height: .8;
      padding-right: .1em;
      margin-top: .08em;
      color: var(--colour);
    }

    /* ── Aside-2 variants ── */
    .aside-2 {
      padding: .7rem .8rem;
      margin: .8rem 0;
      font-family: var(--font-mono);
      font-size: 1rem;
      line-height: 1.55;
    }
    .aside-2--dotted {
      border: 28px solid;
      border-image: var(--border-image) 28 / 28px round;
      text-align: center;
    }
    .aside-2--double {
      border: 28px solid;
      border-image: var(--border-image) 28 / 28px round;
    }
    .aside-2--accent {
      border: 28px solid;
      border-image: var(--border-image) 28 / 28px round;
    }
    .aside-2--dashed {
      border: 28px solid;
      border-image: var(--border-image) 28 / 28px round;
    }

    /* ── Footer ── */
    .footer {
      margin-top: var(--section-gap);
      padding: 2.5rem 2rem 3rem;
      text-align: center;
    }
    .backtotop {
      margin-bottom: 2rem;
      max-width: none;
    }
    .toplink {
      font-family: var(--font-body);
      font-weight: 400;
      font-size: 1rem;
      letter-spacing: .25em;
      text-transform: uppercase;
      border: 1px solid var(--colour);
      cursor: pointer;
      color: var(--colour);
      white-space: nowrap;
      padding: .3rem .6rem;
      text-decoration: none;
    }
    .toplink:hover {
      background: var(--colour);
      color: var(--bg);
    }
    .footer-body {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: var(--col-gap);
      margin-top: 2rem;
      align-items: start;
    }
.footer dl {
  text-align: left;
}
    @media (max-width: 900px) {
      .footer-body { grid-template-columns: 1fr; }
    }

    /* ── Misc ── */
    .underline { text-decoration: underline; }
    mark {
      background: var(--colour);
      color: var(--bg);
      padding: 0 2px;
    }
    a.dead {
      text-decoration-style: dotted;
      pointer-events: none;
    }
    a.dead::before { content: '† '; font-style: normal; }

    /* ── Cast image hover swaps ── */
    .bust-wrap {
      display: block;
      position: relative;
      line-height: 0;
      width: fit-content;
      margin: 0 auto;
      border: 28px solid;
      border-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFQAAABUCAYAAAAcaxDBAAADvklEQVR4Xu2c23IaQQxEsf//m0NqiLJkj4cRjWakrdScJ6BbrYtxGfvBX7fNVL6OR5sp7INOZh90Mlc86P149B6X2uFSwxj7oJO5375vt9uv47nHpXa41DAG3qFtxOGb9lI7XGGY4bU6M6r+VEqbG+qBVH8qpc0N9UADf7Pe6U+ltLkxONADzni/jX9q0Z9KaXODB+VMUT2V0uaGd5Conkppc8M7SFRPpbS54R0kqqdS2tzgQaKU7lTa3NgHncw+6GT2QUV4MK8n/R5qnucPsTTcUBei/6AVdkQ1z/OHWBpuqAvR76Hmef4QS8MNdSH6PdQ8zx9iRbi3AHVCv4eaRz/1EFPDDG/gh95epNH+hkS/B2MI8+inHmJqmOENTJ3Q76Hm0U89xNQw4zFwC7bJ2YMLEfo91Dz6qYeYGvaCpQu8QWr/peFG6kIdUvsvDTdSF+qQ2n9puJG6UIfU/u+EcyAPZrKe+mq8/tQ9WH9iKBrRhqynvhqvP/WDZuyIrD8xFI1O5hBmsp76arz+1J+/YvRh/YmhaPxpOOxxgpkcmPpqvP7UPVh/oid6DVij+qtR55X8LG5IAR/4q1HnlfwsbkgBh7+92q+kv5r+lE84r+RncUMK+MBfjTqv5GdxgwH0UPdgfTXR+Z/1Tbnvg/6cf/wJhvOzfh/0ePQenJ/1wYN+3+6Dr+bD/Ax4POv1qIT7eXB+1p90mhssIKzp+x+3PB5dif68Tziv5GdxQwr4wF+NOq/kZ3FDCvjAX406r+RncUMK+MBfjTqv5Gdxj35gq3yt/Atd1Ffj9afuwfoTQ9GINmQ99dV4/amDvx9SW9nDyvoTQ9FwGv6AmaynvhqvP3UP1p8Yika0Ieupr2bc3/lc3WE4/1CcxHih9aT2XxpupC7UIbX/0nAjdaEOqf2XhhupC3VI7b8i3FuAOqHfQ82jn3qIqWGGNzB1Qr+Hmkc/9RBTwwxvYOqEfg81j37qIaaGGd7AZ72pP19RYD/CPPqph5ga9gJ1Afo91DzPH2JpuKEuRL+Hmuf5QywNN9SFZv/fJrV/iKXhhroQ/R5qnucPsTT8TbhwlNKdSpsb3YNq3/UnSncqbW50DxqgdKfS5sbgoG28gdyndKfS5gYvxpmieiqlzQ3vIFE9ldLmhneQqJ5KaXPDO0hUT6W0ucGDEM6o+lMpbW6oB1L9qZQ2N9QDqf5USpsbnQOdfk/ijB3/CfpTKW3+Au9g5FI7XGoYYx90Mvugk+kedPDXp0vtcKlh/gf2QSezDzqZfdDJ/AYkmexVgwkbRAAAAABJRU5ErkJggg==') 28 / 28px round;
    }
    @media (prefers-color-scheme: light) {
      .bust-wrap {
        border-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFQAAABUCAYAAAAcaxDBAAADvklEQVR4Xu2c23IaQQxEsf//m0NqiLJkj4cRjWakrdScJ6BbrYtxGfvBX7fNVL6OR5sp7INOZh90Mlc86P149B6X2uFSwxj7oJO5375vt9uv47nHpXa41DAG3qFtxOGb9lI7XGGY4bU6M6r+VEqbG+qBVH8qpc0N9UADf7Pe6U+ltLkxONADzni/jX9q0Z9KaXODB+VMUT2V0uaGd5Conkppc8M7SFRPpbS54R0kqqdS2tzgQaKU7lTa3NgHncw+6GT2QUV4MK8n/R5qnucPsTTcUBei/6AVdkQ1z/OHWBpuqAvR76Hmef4QS8MNdSH6PdQ8zx9iRbi3AHVCv4eaRz/1EFPDDG/gh95epNH+hkS/B2MI8+inHmJqmOENTJ3Q76Hm0U89xNQw4zFwC7bJ2YMLEfo91Dz6qYeYGvaCpQu8QWr/peFG6kIdUvsvDTdSF+qQ2n9puJG6UIfU/u+EcyAPZrKe+mq8/tQ9WH9iKBrRhqynvhqvP/WDZuyIrD8xFI1O5hBmsp76arz+1J+/YvRh/YmhaPxpOOxxgpkcmPpqvP7UPVh/oid6DVij+qtR55X8LG5IAR/4q1HnlfwsbkgBh7+92q+kv5r+lE84r+RncUMK+MBfjTqv5GdxgwH0UPdgfTXR+Z/1Tbnvg/6cf/wJhvOzfh/0ePQenJ/1wYN+3+6Dr+bD/Ax4POv1qIT7eXB+1p90mhssIKzp+x+3PB5dif68Tziv5GdxQwr4wF+NOq/kZ3FDCvjAX406r+RncUMK+MBfjTqv5Gdxj35gq3yt/Atd1Ffj9afuwfoTQ9GINmQ99dV4/amDvx9SW9nDyvoTQ9FwGv6AmaynvhqvP3UP1p8Yika0Ieupr2bc3/lc3WE4/1CcxHih9aT2XxpupC7UIbX/0nAjdaEOqf2XhhupC3VI7b8i3FuAOqHfQ82jn3qIqWGGNzB1Qr+Hmkc/9RBTwwxvYOqEfg81j37qIaaGGd7AZ72pP19RYD/CPPqph5ga9gJ1Afo91DzPH2JpuKEuRL+Hmuf5QywNN9SFZv/fJrV/iKXhhroQ/R5qnucPsTT8TbhwlNKdSpsb3YNq3/UnSncqbW50DxqgdKfS5sbgoG28gdyndKfS5gYvxpmieiqlzQ3vIFE9ldLmhneQqJ5KaXPDO0hUT6W0ucGDEM6o+lMpbW6oB1L9qZQ2N9QDqf5USpsbnQOdfk/ijB3/CfpTKW3+Au9g5FI7XGoYYx90Mvugk+kedPDXp0vtcKlh/gf2QSezDzqZfdDJ/AYkmexVgwkbRAAAAABJRU5ErkJggg==') 28 / 28px round;
      }
    }
    .bust-wrap img.bust-default {
      display: block;
      max-width: 100%;
    }
    .bust-wrap img.bust-hover {
      display: none;
      max-width: 100%;
    }
    .bust-wrap:hover img.bust-default { display: none; }
    .bust-wrap:hover img.bust-hover   { display: block; }

    /* ── Archive widget ── */
    .archive-widget {
      position: relative;
    }
    .archive-ep {
      display: none;
    }
    .archive-ep:target {
      display: block;
    }
    .archive-widget .archive-ep:first-of-type {
      display: block;
    }
    .archive-ep:target ~ .archive-ep:first-of-type,
    .archive-widget:has(.archive-ep:target) .archive-ep:first-of-type:not(:target) {
      display: none;
    }
    .archive-ep-title {
      font-family: var(--font-title);
      font-size: .9rem;
      font-weight: 400;
      letter-spacing: .06em;
      text-transform: uppercase;
      margin: .6rem 0 0;
      padding: .4rem 0 .3rem;
      display: block;
    }
    .archive-nav-pagination {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: .4rem;
      margin-top: .4rem;
    }
    .archive-nav-downloads {
      display: flex;
      flex-direction: column;
      gap: .4rem;
      margin-top: .4rem;
    }
    .archive-nav-pagination a,
    .archive-nav-downloads a {
      font-family: var(--font-body);
      font-size: 1rem;
      font-weight: 400;
      letter-spacing: .1em;
      text-transform: uppercase;
      text-decoration: none;
      border: 1px solid var(--colour);
      padding: .7rem .4rem;
      color: var(--colour);
      text-align: center;
      display: block;
    }
    .archive-nav-pagination a:hover,
    .archive-nav-downloads a:hover {
      border: 1px dashed var(--colour);
    }
    .archive-nav-placeholder {
      border: 1px solid transparent;
    }

    /* ── Coffin toggle (desktop pointer devices only) ── */
    #coffinWrap {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      z-index: 999999;
      line-height: 0;
    }
    #coffinBtn {
      background: none;
      border: none;
      padding: 0;
      cursor: pointer;
      display: block;
    }
    #coffinBtn img {
      display: block;
      width: 100%;
      height: auto;
    }
    @media (hover: hover) and (pointer: fine) {
      #coffinWrap { display: block; }
      #hypnoPointer { visibility: visible; }
    }