  :root{
    --paper:#1A1A1A;
    --card:#252525;
    --ink:#E0E0E0;
    --ink-soft:#A0A0A0;
    --accent-red:#FF6B6B;
    --accent-gold:#D4A017;
    --line:#404040;
    --text:#F0F0F0;
    --text-muted:#B0B0B0;
    --ok:#66BB6A;
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;}
  body{
    background:var(--paper);
    color:var(--text);
    font-family:'IBM Plex Sans', sans-serif;
    line-height:1.6;
    padding:0 0 80px;
  }
  a{
    color:var(--accent-gold);
    text-decoration:none;
    transition:color 0.2s;
  }
  a:hover{
    color:var(--ink);
    text-decoration:underline;
  }

  header.top{
    max-width:800px;
    margin:0 auto;
    padding:56px 24px 28px;
  }
    .top-nav {
    display: flex;
    justify-content: flex-end;
    gap: 16px;
    margin-bottom: 20px;
    font-family: 'IBM Plex Mono', monospace;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
  }
  .top-nav a {
    color: var(--text-muted);
    text-decoration: none;
    transition: color 0.2s;
  }
  .top-nav a:hover {
    color: var(--accent-gold);
  }
  .eyebrow{
    font-family:'IBM Plex Mono', monospace;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:.72rem;
    color:var(--accent-gold);
    margin:0 0 10px;
  }
  h1{
    font-family:'Fraunces', serif;
    font-weight:600;
    font-size:2.5rem;
    margin:0 0 10px;
    color:var(--ink);
    letter-spacing:-.01em;
  }
  h2{
    font-family:'Fraunces', serif;
    font-size:1.6rem;
    font-weight:500;
    color:var(--ink);
    margin:40px 0 16px;
    border-bottom:1px solid var(--line);
    padding-bottom:8px;
  }
  h3{
    font-family:'IBM Plex Sans', sans-serif;
    font-size:1.15rem;
    font-weight:600;
    color:var(--accent-gold);
    margin:24px 0 12px;
  }

  main.content{
    max-width:800px;
    margin:0 auto;
    padding:0 24px;
  }

  p{
    color:var(--text);
    margin:0 0 16px;
  }
  
  ul, ol{
    margin:0 0 24px;
    padding-left:24px;
    color:var(--text);
  }
  li{
    margin-bottom:8px;
  }

  blockquote {
    border-left:3px solid var(--accent-gold);
    background:var(--card);
    margin:24px 0;
    padding:16px 20px;
    font-style:italic;
    color:var(--text-muted);
    border-radius:2px;
  }

  .grid-info {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    margin:32px 0;
  }
  @media(max-width:600px){
    .grid-info {grid-template-columns:1fr;}
  }

  .info-box {
    background:var(--card);
    border:1px solid var(--line);
    padding:20px;
    border-radius:4px;
  }
  .info-box h3 {
    margin-top:0;
  }

  table {
    width:100%;
    border-collapse:collapse;
    margin:24px 0;
    font-size:.9rem;
  }
  th, td {
    padding:10px 12px;
    text-align:left;
    border-bottom:1px solid var(--line);
  }
  th {
    font-family:'IBM Plex Mono', monospace;
    text-transform:uppercase;
    font-size:.75rem;
    color:var(--ink-soft);
    background:rgba(255,255,255,0.02);
  }
  td.code {
    font-family:'IBM Plex Mono', monospace;
    color:var(--accent-red);
  }

  .btn-back {
    display:inline-block;
    font-family:'IBM Plex Sans', sans-serif;
    background:var(--card);
    border:1px solid var(--line);
    color:var(--ink);
    padding:10px 20px;
    border-radius:3px;
    font-size:.88rem;
    font-weight:500;
    margin-bottom:20px;
  }
  .btn-back:hover {
    background:rgba(255,255,255,0.05);
    border-color:var(--ink-soft);
  }
footer.note {
    max-width: 800px;
    margin: 64px auto 0;
    padding: 24px;
    border-top: 1px solid var(--line);
    text-align: center;
    font-size: 0.85rem;
    color: var(--text-muted);
  }
  footer.note div {
    margin-bottom: 8px;
  }
  footer.note div:last-of-type {
    margin-bottom: 0;
  }
  footer.note .footer-links {
    margin-top: 12px;
    font-family: 'IBM Plex Mono', monospace;
    font-size: 0.8rem;
  }
  footer.note .footer-links a {
    color: var(--text-muted);
    text-decoration: none;
    transition: color 0.2s;
  }
  footer.note .footer-links a:hover {
    color: var(--accent-gold);
  }