@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=JetBrains+Mono:wght@400;500&display=swap');

:root{
  --black:#0a0a0a;
  --white:#fafafa;
  --gray-1:#1c1c1c;
  --gray-2:#666;
  --gray-3:#ddd;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{background:var(--white);color:var(--black);font-family:'Space Grotesk',sans-serif;-webkit-font-smoothing:antialiased;}

header{
  border-bottom:3px solid var(--black);
  padding:20px 24px 16px;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  flex-wrap:wrap;
  gap:12px;
}
.logo{font-weight:700;font-size:clamp(24px,5vw,36px);letter-spacing:-0.02em;text-transform:uppercase;text-decoration:none;color:var(--black);}
.logo span{color:var(--gray-2);}
nav a{
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  color:var(--gray-2);
  text-decoration:none;
  margin-left:16px;
}
nav a:hover{color:var(--black);}
.meta{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--gray-2);text-align:right;}
.pulse{display:inline-block;width:6px;height:6px;background:var(--black);border-radius:50%;margin-right:6px;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.2;}}

.ticker{border-bottom:1px solid var(--black);padding:8px 24px;font-family:'JetBrains Mono',monospace;font-size:12px;white-space:nowrap;overflow:hidden;position:relative;background:var(--black);color:var(--white);}
.ticker-inner{display:inline-block;padding-left:100%;animation:scroll 28s linear infinite;}
@keyframes scroll{0%{transform:translateX(0);}100%{transform:translateX(-100%);}}
.ticker-inner span{margin-right:48px;}

main{max-width:1100px;margin:0 auto;padding:0 24px;}
main.narrow{max-width:720px;}

.grid{display:grid;grid-template-columns:2fr 1fr;gap:0;border-left:1px solid var(--black);margin-top:32px;}
.feed{border-right:1px solid var(--black);}
.card{padding:24px;border-bottom:1px solid var(--black);cursor:pointer;transition:background .15s;position:relative;}
.card:hover{background:var(--gray-1);color:var(--white);}
.card:hover .tag{background:var(--white);color:var(--black);}
.card:hover .time{color:var(--gray-3);}
.tag{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.05em;text-transform:uppercase;background:var(--black);color:var(--white);padding:3px 8px;margin-bottom:10px;}
.headline{font-size:20px;font-weight:500;line-height:1.3;margin-bottom:8px;}
.time{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--gray-2);}
.card.lead{padding:32px 24px;}
.card.lead .headline{font-size:28px;font-weight:700;line-height:1.2;}

.sidebar{padding:24px;}
.sidebar h3{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--black);}
.side-item{padding:14px 0;border-bottom:1px solid var(--gray-3);}
.side-item .n{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--gray-2);}
.side-item .headline{font-size:14px;font-weight:500;margin-top:4px;}

/* article page */
h1{font-size:clamp(28px,4vw,40px);font-weight:700;line-height:1.2;letter-spacing:-0.01em;margin-bottom:16px;}
.byline{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--gray-2);display:flex;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--black);margin-bottom:24px;flex-wrap:wrap;}
.summary{font-size:18px;line-height:1.6;color:var(--gray-1);margin-bottom:24px;padding-left:16px;border-left:3px solid var(--black);}
.body-text{font-size:16px;line-height:1.75;}
.body-text p{margin-bottom:18px;}
.source-box{margin-top:36px;padding:20px;border:1px solid var(--black);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.source-box .label{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--gray-2);text-transform:uppercase;letter-spacing:.05em;}
.source-box a{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--black);background:var(--white);border:1px solid var(--black);padding:8px 16px;text-decoration:none;display:inline-block;}
.source-box a:hover{background:var(--black);color:var(--white);}

.related{margin-top:48px;}
.related h3{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--black);}
.rel-item{padding:14px 0;border-bottom:1px solid var(--gray-3);display:flex;justify-content:space-between;gap:16px;cursor:pointer;}
.rel-item:hover .headline{text-decoration:underline;}
.rel-item .time{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--gray-2);white-space:nowrap;}

/* policy/static page */
.policy-body{font-size:16px;line-height:1.8;padding:40px 0 60px;}
.policy-body h2{font-size:20px;font-weight:700;margin:32px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--black);}
.policy-body p{margin-bottom:14px;color:var(--gray-1);}
.policy-body ul{margin:0 0 14px 20px;color:var(--gray-1);}
.updated{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--gray-2);margin-top:8px;}

/* ad slots */
.ad-slot{
  border:1px dashed var(--gray-2);
  background:var(--gray-3);
  color:var(--gray-2);
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  text-align:center;
  padding:40px 16px;
  margin:24px 0;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.ad-slot.sidebar-ad{margin:24px;}

footer{border-top:3px solid var(--black);margin-top:40px;padding:20px 24px;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--gray-2);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}
footer a{color:var(--gray-2);}

@media(max-width:700px){
  .grid{grid-template-columns:1fr;}
  .feed{border-right:none;}
}
