body {
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
      line-height: 1.7;
      color: #333;
}

h2 {
      font-size: 2em;
      text-transform: uppercase;
      margin: 60px 0 30px 0;
      padding-top: 20px;
      border-top: 2px solid #e0e0e0;
      font-weight: 700;
      letter-spacing: 0.5px;
}

h2:first-of-type {
      border-top: none;
      margin-top: 0;
}

h3 {
      font-size: 1.4em;
      font-weight: 600;
      margin: 40px 0 20px 0;
      color: #222;
}

h4 {
      font-size: 1.2em;
      margin: 40px 0 20px 0;
      font-weight: 600;
}

hr {
      color: #eee;
      width: 50%;
      margin: 40px auto;
}

main {
      display: flex;
      align-items: flex-start;
      padding: 0 20px;
      justify-content: space-between;
      flex-wrap: wrap;
}

@media (min-width: 1400px){
      main {
            padding: 40px 120px;
      }
}

nav {
      width: 100%;
      padding: 20px;
      border-bottom: 1px solid #888;
}

@media (min-width: 768px){
      nav {
            position: sticky;
            top: 32px;
            width: 200px;
            border-bottom: none;
      }
}

@media (min-width: 992px){
      nav {
            width: 300px;
      }
}

nav label,
nav label a {
      display: block;
      margin: 8px 0;
      cursor: pointer;
      text-decoration: none;
      color: #000;
      font-weight: 600;
      font-size: 15px;
      transition: color 0.2s;
}

nav label:hover {
      color: #0066cc;
}

.submenu-wrap label {
      font-size: 14px;
      margin: 0;
      font-weight: 400;
}

nav input {
      display: none;
}

.content {
      width: 500px;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
      font-size: 16px;
      line-height: 1.8;
}

.content p {
      margin: 20px 0;
}

.content ul,
.content ol {
      margin: 20px 0;
      padding-left: 30px;
}

.content li {
      margin: 10px 0;
      line-height: 1.7;
}

.content code {
      background: #f5f5f5;
      padding: 2px 6px;
      border-radius: 3px;
      font-family: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;
      font-size: 0.9em;
      color: #c7254e;
}

.content a {
      color: #0066cc;
      text-decoration: none;
}

.content a:hover {
      text-decoration: underline;
}

.content strong {
      font-weight: 600;
      color: #000;
}

@media (min-width: 992px){
      .content {
            width: 600px;
            font-size: 17px;
      }
}

@media (min-width: 1200px){
      .content {
            width: 800px;
            font-size: 17px;
      }
}

.submenu-wrap {
      display: flex;
      flex-direction: column;
      gap: 5px;
      max-height: 0;
      margin: -8px 0 0;
      padding: 0 10px;
      overflow: hidden;
      transition: max-height .4s linear;
      list-style: none;
}

@media (min-width: 992px){
      .submenu-wrap {
            padding: 0 20px;
      }
}

input:checked + .submenu-wrap {
      margin: 0;
      max-height: 400px;
}

.submenu-wrap li {
      font-size: 14px;
      margin: 0;
}

.submenu-wrap li label {
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
      margin: 0;
}

.submenu-wrap a {
      color: #555;
      text-decoration: none;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
      transition: color 0.2s;
}

.submenu-wrap a:hover {
      color: #0066cc;
      text-decoration: none;
}

pre {
      background: #f8f9fa;
      border: 1px solid #e0e0e0;
      border-left: 3px solid #0066cc;
      padding: 20px;
      font-family: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;
      font-size: 14px;
      max-width: 100%;
      white-space: pre-wrap;
      overflow-x: auto;
      border-radius: 4px;
      margin: 25px 0;
      line-height: 1.6;
}

pre code {
      background: none;
      padding: 0;
      color: #333;
      font-size: inherit;
}

.changelog p {
      margin: 50px 0;
}