  :root{
    --bg:#f2efe2;
    --panel:#fbfaf3;
    --ink:#111100;
    --rule:#000000;
    --link:#0000ee;
    --visited:#551a8b;
    --red:#cc0000;
    --yellow:#fff200;
    --grey:#c0c0c0;
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;}
  ::-webkit-scrollbar{width:18px;height:18px;}
  ::-webkit-scrollbar-track{background:var(--grey);box-shadow:inset 1px 1px 0 #808080, inset -1px -1px 0 #fff;}
  ::-webkit-scrollbar-thumb{background:var(--grey);border-top:2px solid #fff;border-left:2px solid #fff;border-right:2px solid #404040;border-bottom:2px solid #404040;}
  ::-webkit-scrollbar-thumb:hover{background:#d4d0c8;}
  ::-webkit-scrollbar-thumb:active{border-top:2px solid #404040;border-left:2px solid #404040;border-right:2px solid #fff;border-bottom:2px solid #fff;}
  ::-webkit-scrollbar-button{background:var(--grey);border-top:2px solid #fff;border-left:2px solid #fff;border-right:2px solid #404040;border-bottom:2px solid #404040;height:16px;width:16px;display:block;}
  ::-webkit-scrollbar-corner{background:var(--grey);}
  html{scrollbar-width:auto;scrollbar-color:#808080 #c0c0c0;}
  body{
    background:var(--bg);
    background-image:repeating-linear-gradient(0deg, rgba(0,0,0,0.025) 0px, rgba(0,0,0,0.025) 1px, transparent 1px, transparent 3px);
    color:var(--ink);
    font-family:"Times New Roman", Times, Georgia, serif;
    font-size:16px;
    line-height:1.4;
  }
  a{color:var(--link);text-decoration:underline;cursor:pointer;}
  a:visited{color:var(--visited);}
  a:hover{color:var(--red);}

  .rainbow{height:5px;background:linear-gradient(90deg,#ff0000,#ff9900,#ffee00,#33cc33,#0066ff,#6600cc,#ff0099);}

  .blink{animation:blinker 1.1s steps(1) infinite;}
  @keyframes blinker{50%{opacity:0;}}
  @media (prefers-reduced-motion: reduce){.blink{animation:none;}}

  .wrap{max-width:1000px;margin:0 auto;padding:0 12px 40px;}

  .masthead{
    display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;
    padding:14px 0 8px;border-bottom:4px double var(--rule);
  }
  @media (max-width:640px){
    .masthead{grid-template-columns:1fr;justify-items:center;text-align:center;}
    .title-row{flex-direction:column;gap:6px;}
    .masthead h1{font-size:32px;}
    .site-logo{width:56px;height:56px;}
  }
  .badge{
    border:1px solid var(--rule);background:var(--panel);
    font-family:Arial, Helvetica, sans-serif;font-size:9px;font-weight:bold;
    text-align:center;padding:3px 6px;color:#000080;width:120px;
  }
  .badge small{display:block;font-weight:normal;font-size:8px;color:#333;}
  .title-row{display:flex;align-items:center;justify-content:center;gap:12px;min-width:0;}
  .title-row > div{min-width:0;}
  .site-logo{
    width:72px;height:72px;
    object-fit:cover;
    border:2px solid #000;
    border-radius:10px;
    background:var(--panel);
    flex-shrink:0;
  }
  .masthead h1{margin:0;font-size:40px;color:var(--red);letter-spacing:-1px;text-shadow:2px 2px 0 rgba(0,0,0,0.15);}
  .masthead h1 a{color:inherit;text-decoration:none;}
  .masthead .tagline{font-family:Arial, Helvetica, sans-serif;font-size:11px;font-style:italic;color:#333;text-align:center;margin-top:-4px;}

  .navbar{
    font-family:Arial, Helvetica, sans-serif;font-size:12px;font-weight:bold;
    background:var(--grey);border-top:1px solid #fff;border-bottom:1px solid #555;
    padding:5px 10px;display:flex;gap:14px;flex-wrap:wrap;
  }
  .navbar a{color:#000080;text-decoration:none;}
  .navbar a:hover{text-decoration:underline;color:var(--red);}
  .navbar span.sep{color:#555;}

  .article{
    max-width:680px;
    margin:0 auto;
    padding:22px 0 10px;
  }
  .kicker{
    font-family:Arial, Helvetica, sans-serif;
    font-size:11px;font-weight:bold;letter-spacing:1.5px;color:var(--red);
    margin-bottom:6px;
  }
  .article h2{
    font-size:32px;
    line-height:1.15;
    margin:0 0 12px;
  }
  .dek{
    font-size:18px;
    font-style:italic;
    font-weight:bold;
    color:#333;
    border-left:4px solid var(--red);
    padding-left:12px;
    margin:0 0 14px;
  }
  .byline{
    font-family:Arial, Helvetica, sans-serif;
    font-size:11px;
    color:#555;
    border-top:1px solid #999;
    border-bottom:1px solid #999;
    padding:6px 0;
    margin:0 0 16px;
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:6px;
  }
  .byline strong{color:#000;}

  .toolbar{
    font-family:Arial, Helvetica, sans-serif;
    font-size:11px;
    display:flex;
    gap:14px;
    margin:0 0 16px;
    flex-wrap:wrap;
  }
  .toolbar a{text-decoration:none;color:#000080;}
  .toolbar a:hover{color:var(--red);text-decoration:underline;}

  .brokenimg{
    width:100%;
    max-width:420px;
    height:220px;
    display:flex;align-items:center;justify-content:center;
    border:1px dashed #888;
    background:repeating-linear-gradient(45deg,#e8e6da,#e8e6da 6px,#ddd9c8 6px,#ddd9c8 12px);
    color:#777;
    font-family:Arial, Helvetica, sans-serif;
    font-size:11px;
    text-align:center;
    margin:0 0 6px;
    padding:6px;
  }
  .lead-photo{
    width:100%;
    max-width:640px;
    height:auto;
    display:block;
    margin:0 0 6px;
    border:2px solid #000;
    box-shadow:4px 4px 0 rgba(0,0,0,0.25);
  }
  .caption{
    font-family:Arial, Helvetica, sans-serif;
    font-size:10px;
    color:#666;
    font-style:italic;
    margin:0 0 20px;
  }

  .article p{margin:0 0 16px;}

  .pull{
    font-size:20px;
    font-weight:bold;
    font-style:italic;
    color:var(--red);
    text-align:center;
    margin:26px 0;
    line-height:1.3;
  }

  .tags{
    font-family:Arial, Helvetica, sans-serif;
    font-size:11px;
    margin:24px 0 8px;
  }
  .tags a{
    display:inline-block;
    border:1px solid #999;
    background:var(--panel);
    padding:2px 8px;
    margin:0 6px 6px 0;
    text-decoration:none;
    color:#333;
  }
  .tags a:hover{border-color:var(--red);color:var(--red);}

  footer{
    border-top:4px double var(--rule);
    padding:14px 0;
    font-family:Arial, Helvetica, sans-serif;
    font-size:10px;
    color:#555;
    text-align:center;
    line-height:1.6;
    margin-top:30px;
  }

  .llm-bait{
    max-width:640px;
    margin:0 auto 14px;
    background:#000;
    color:#33ff33;
    font-family:"Courier New", Courier, monospace;
    font-size:10px;
    line-height:1.6;
    text-align:left;
    padding:10px 12px;
    border:2px inset #888;
  }
  .llm-bait .prompt{color:#666;}

  .overlay{position:fixed;inset:0;background:rgba(0,0,0,0.4);display:flex;align-items:center;justify-content:center;z-index:50;padding:16px;}
  .overlay[hidden]{display:none;}
  .dialog{
    width:min(400px,100%);
    background:var(--grey);
    border-top:2px solid #fff;border-left:2px solid #fff;
    border-right:2px solid #333;border-bottom:2px solid #333;
    font-family:Arial, Helvetica, sans-serif;
    box-shadow:4px 4px 0 rgba(0,0,0,0.3);
  }
  .titlebar{
    background:linear-gradient(90deg,#000080,#1084d0);color:#fff;font-size:12px;font-weight:bold;
    padding:3px 4px 3px 6px;display:flex;justify-content:space-between;align-items:center;
  }
  .titlebar button{
    background:var(--grey);border-top:1px solid #fff;border-left:1px solid #fff;
    border-right:1px solid #333;border-bottom:1px solid #333;
    font-weight:bold;font-size:11px;width:18px;height:16px;line-height:1;cursor:pointer;
  }
  .dialog-body{padding:14px;font-size:12px;color:#000;background:var(--grey);}
  .dialog-body .icon-row{display:flex;gap:10px;align-items:flex-start;}
  .dialog-body .icon{font-size:26px;line-height:1;}
  .dialog-actions{padding:0 14px 12px;display:flex;justify-content:flex-end;}
  .btn95{
    font-family:Arial, Helvetica, sans-serif;font-size:11px;background:var(--grey);
    border-top:1px solid #fff;border-left:1px solid #fff;border-right:1px solid #444;border-bottom:1px solid #444;
    padding:3px 10px;cursor:pointer;
  }
  .btn95:active{border-top:1px solid #444;border-left:1px solid #444;border-right:1px solid #fff;border-bottom:1px solid #fff;}

  .sparkle{position:fixed;pointer-events:none;font-size:14px;z-index:60;animation:sparkfade 0.7s ease-out forwards;}
  @keyframes sparkfade{from{opacity:1;transform:translateY(0) scale(1);}to{opacity:0;transform:translateY(-14px) scale(0.6);}}
