@font-face {
    font-family: "DOS"; 
    src: url('fonts/Px437_DOS-V_re_ANK24.woff2') format('woff2');
  }
  
  :root { 
      font-size: 1.125em;
      color-scheme: light dark;
      accent-color: teal;
  }
  
  body {
      color: black;
      font-family: "DOS", "Courier New", Courier, monospace;
      font-smooth: never;
      -webkit-font-smoothing: none;
      -moz-font-smoothing: greyscale;
  }
  
  * { 
      image-rendering: pixelated;
      box-sizing: border-box;
      margin: 0;
      padding: 0;
      scrollbar-color: cadetblue gainsboro;
      overscroll-behavior: none;
  }
  
  ul {
      padding: 0px 10px 0px 20px;
      margin: 0px;
      text-align: left;
  }
  
  .border { /* .rope from https://maxbittker.github.io/broider/ */
      border-image:  url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAAtklEQVQ4T7VV2xHAIAjTzToao3Wz9vigFyMoZ7V/VIghPKzlwFcPYJYG9BJ57JJbpKKNl+uZ2uxvPh+oOpgzBuA/CzIw9jd7CBoBWhZbQJGhl1nH1NOINWXmU00N1EvZ6xBkyhp3mnpFmIEyIbdQrNcW0IwUqUKNnKKpY12X+xQviFqs0VQDcARXOkExhrPvsYp2AxKYjmnUYr8KFbXXMihqHBUIN1dq9nkf8E5Nzf6uV+DIc/ICR9UIJTV+2f0AAAAASUVORK5CYII=") 7 /  7px / 0 round;
      border-width:  7px;
      border-style:  solid;
      background-color: rgb(255, 255, 255, 87%);
      padding: 18px 36px;
  }
      
  a.border:hover, a.border:focus { 
      border-image:  url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAAsElEQVQ4T7VVQQ7AIAib/3/0JktqagOiRjnphhVKwfJcsHIB8+lA32q4pFTjPV9u/2yv/u0sFuYAZz7A39jX1uqPfYvUA40AkcURUKQ7DepxpJxq5CmnAPVS9hTCdHEGP9daKHWIJDeqgVsoPZBFqlkuV38kwW1JcdTK6zFQNAFf0KXPXTLDa0TFsPc1Ve3/VKeRRCKJLUuKJRLRsA2qk2h5SkXzcTRTU05PvgBXnpMPNvIIJdPd95YAAAAASUVORK5CYII=") 7 /  7px / 0 round;
  }
      
  .clearfix::after {
      content: "";
      clear: both;
      display: table;
  }
  
  hr {
      border: none;
      border-top: 1px solid;
  }
  
  h3, h2, h1 { font-weight: normal; }
  
  h3 { font-size: 1.25rem; line-height: 1; font-style: italic; }
  h2 { font-size: 1.45rem; line-height: 1; text-transform: uppercase; }
  h1 { font-size: 2.75rem; line-height: 1; }
           
  p, ol, ul, dl, code, details { font-size: 1rem; line-height: 1.3; }
           
  h1, h2, h3, h4, h5, h6, p, table, details, cite, blockquote, hr {
      margin: 18px 0;
  }
  
  ul, dl {
      margin: 18px 0 18px 18px;
  }
  
  ol { margin: 18px 0 18px 54px; }
  ol ol { margin: 0 0 0 54px; }
  
  ul ul, dd { 
      margin: 0 0 0 18px;
  }
  
  details p { margin: 18px 0 18px 36px; }
  
  summary { cursor: pointer; }
  
  ul { list-style-type: square; }
  
  code {
      background-color: lightgrey;
      font-family: 'Courier New', monospace; 
      padding: 1px 4px;
      
  }
  
  pre {
      background-color: lightgrey;
      overflow-x: auto;
      padding: 1px 4px;
  }
  
  table {	border: 1px solid; }
  tr, td, th { border: 1px dotted; }
  td, th { padding: 5px; }
  
  textarea {
      padding: 2px;
  }
  
  cite { 
      display: block;
      text-align: right;
  }
  
  blockquote { border-left: 1px solid; padding-left: 14px; }
  
  details > summary {
      list-style-type: 'â–º ';
  }
  
  details[open] > summary {
      list-style-type: 'â–¼ ';
  }
  
  a {
      color: teal;
      padding: 1px;
  }
  
  a:hover, a:focus {
      background-color: teal;
      color: white;
  }
  
  button, input, textarea {	
      font-family: "DOS", "Courier New", Courier, monospace;
  }
  
  img { max-width: 100%; }
      
  .new { 
      text-transform: uppercase;
      text-shadow: 0 -1px yellow, 1px 0 yellow, 0 1px yellow, -1px 0 yellow;
  }
  
  ::selection {
      color: white;
      background-color: teal;
  }
  
  @media screen and (max-width: 600px){
      
      h1, h2, h3, h4, h5, h6, p, table, details, cite, blockquote, hr {
          margin: 16px 0;
      }
  
      ul, dl {
          margin: 16px 0 16px 16px;
      }
  
      ol { margin: 16px 0 16px 48px; }
      ol ol { margin: 0 0 0 48px; }
  
      ul ul, dd { 
          margin: 0 0 0 16px;
      }
  
      details p { margin: 16px 0 16px 32px; }
      
      p, ol, ul, dl, code, details, table, figcaption { font-size: 0.9rem; }
  }
  
  @media (prefers-color-scheme: dark) {
      * { scrollbar-color: cadetblue darkslategrey; }
      body { color: white; }
      img { filter: brightness(.9); }
      .border { background-color: rgb(0,20,20,75%); border-color: darkslategrey; }
      .new, code { color: black; }
      a { color: #b2d7c1; }
      a:hover, a:focus { color: darkslategrey; background-color: #b2d7c1; }
      a.border:hover, a.border:focus { border-image:  url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAAtklEQVQ4T7VV2xHAIAjTzToao3Wz9vigFyMoZ7V/VIghPKzlwFcPYJYG9BJ57JJbpKKNl+uZ2uxvPh+oOpgzBuA/CzIw9jd7CBoBWhZbQJGhl1nH1NOINWXmU00N1EvZ6xBkyhp3mnpFmIEyIbdQrNcW0IwUqUKNnKKpY12X+xQviFqs0VQDcARXOkExhrPvsYp2AxKYjmnUYr8KFbXXMihqHBUIN1dq9nkf8E5Nzf6uV+DIc/ICR9UIJTV+2f0AAAAASUVORK5CYII=") 7 /  7px / 0 round;
      }
  }
  
  /* HOTLINKERS BEWARE */
  
  body:has(.border.tunes)::before {
      content: "hi angela. hotlinking someone's personal stylesheet is pretty rude. people have asked you to stop doing this before, so i think you already know that?";
      font-size: 40px;
      background: red;
      position: sticky;
      top:0;left:0;
      z-index: 3;
  }
  
  body:has(.border.tunes) {
      filter: brightness(3) contrast(4);
      background-size: 2px;
  }
  
  body:has(.border.tunes) * {
      transform: rotate(10deg);
  }
  
  body:has(.border.tunes) .border {
      border: 20px dotted red;
  }
  
  body:has(.border.tunes) a {
      color: red;
  }
  