/* Please Abstain — c2 wiki style (white / Times serif / royal blue) */
:root { --bg:#ffffff; --ink:#000; --blue:#0000cc; --muted:#555; --line:#ccc; }
*,*::before,*::after { box-sizing:border-box; }
html { background:var(--bg); }
body { margin:0; background:var(--bg); color:var(--ink); font-family:"Times New Roman",Times,serif; font-size:17px; line-height:1.5; }
img { max-width:100%; }
a { color:var(--blue); text-decoration:none; }
a:hover { text-decoration:underline; }
h1,h2,h3 { color:var(--blue); font-weight:700; margin:0; line-height:1.15; }
code,abbr { font-family:"Courier New",monospace; text-decoration:none; }
code { background:#f4f4f4; padding:0 3px; }
.container { max-width:900px; margin:0 auto; padding:0 24px; }
.skip-link { position:absolute; left:-999px; }
.masthead-bar { border-bottom:1px solid var(--line); }
.bar-inner { display:flex; align-items:center; gap:8px 16px; flex-wrap:wrap; padding:12px 0; }
.wordmark { display:flex; align-items:center; gap:10px; text-decoration:none; font-weight:700; font-size:22px; color:var(--blue); }
.wordmark:hover { text-decoration:none; }
.wordmark-logo { width:34px; height:34px; }
.wordmark-do, .wordmark-abstain { color:var(--blue); }
.dept { margin:0; flex:1 1 auto; font-size:15px; font-style:italic; color:var(--muted); }
.nav { margin-left:auto; }
.nav-toggle { display:none; }
.nav-menu { display:flex; flex-wrap:wrap; gap:4px 14px; list-style:none; margin:0; padding:0; }
.nav-menu a { color:var(--blue); font-size:16px; }
.bulletin { padding:26px 0 16px; }
.bulletin-grid { display:grid; grid-template-columns:1.7fr 1fr; gap:32px; align-items:start; }
.kicker { font-size:14px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; margin:0 0 8px; }
.lede-story h1 { font-size:clamp(28px,4.2vw,40px); color:var(--blue); margin:0 0 14px; }
.deck { font-size:17px; color:var(--ink); margin:0 0 14px; }
.text-link { color:var(--blue); font-weight:700; }
.hero-stamp { width:100%; max-width:180px; margin:0 0 12px; }
.news-list { list-style:none; margin:0; padding:0; }
.news-list li { padding:8px 0; border-top:1px solid var(--line); }
.news-list li:first-child { border-top:none; padding-top:0; }
.news-list p { margin:2px 0 0; font-size:15px; color:var(--ink); }
.dateline { font-size:13px; font-weight:700; color:var(--muted); }
.section { padding:22px 0; }
.section-head { margin-bottom:10px; }
.overline { font-size:14px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; margin:0 0 4px; }
.section-head h2 { font-size:clamp(22px,3vw,28px); color:var(--blue); }
.section-sub { font-size:16px; color:var(--muted); margin:8px 0 0; }
.bubbles, .cards { display:grid; grid-template-columns:repeat(3,1fr); gap:24px 28px; margin-top:14px; }
.bubbles.mandates { grid-template-columns:repeat(2,1fr); gap:22px 34px; }
.bubble, .card { background:none; border:none; border-radius:0; padding:0; }
.bubble-tag { font-size:13px; font-weight:700; color:var(--muted); text-transform:uppercase; margin:0 0 2px; }
.bubble h3, .card h3 { font-size:20px; color:var(--blue); margin:0 0 6px; }
.bubble p, .card p { font-size:15px; color:var(--ink); margin:0 0 8px; }
.card { display:block; text-decoration:none; color:inherit; }
.card:hover h3 { text-decoration:underline; }
.card-cue, .bubble .text-link { color:var(--blue); font-weight:700; }
.new { color:#cc0000; font-weight:700; font-size:13px; margin-left:6px; }
.lineage-text { font-size:16px; color:var(--ink); margin:6px 0 0; }
.lineage-text strong { font-weight:700; }
.site-footer { border-top:1px solid var(--line); padding:20px 0; margin-top:16px; }
.footer-inner { display:flex; flex-wrap:wrap; gap:12px 32px; align-items:baseline; justify-content:space-between; }
.footer-wordmark { font-weight:700; font-size:18px; color:var(--blue); text-decoration:none; }
.footer-wordmark .wordmark-do, .footer-wordmark .wordmark-abstain { color:var(--blue); }
.footer-brand { max-width:360px; }
.footer-brand p { margin:6px 0 0; font-size:15px; color:var(--muted); }
.footer-nav { display:flex; flex-wrap:wrap; gap:6px 18px; font-size:15px; }
.footer-nav a { color:var(--blue); }
.footer-fine { flex-basis:100%; font-size:14px; color:var(--muted); margin:12px 0 0; }
.page-hero { padding:26px 0 6px; }
.page-hero .kicker { color:var(--muted); }
.page-hero h1 { font-size:clamp(28px,5vw,42px); color:var(--blue); }
.sheet { background:none; border:none; border-radius:0; padding:0; margin:18px 0; max-width:820px; }
.sheet h2 { font-size:22px; color:var(--blue); margin:24px 0 8px; }
.sheet h2:first-child { margin-top:0; }
.sheet h3 { font-size:18px; color:var(--blue); margin:18px 0 6px; }
.sheet p, .sheet li { font-size:16px; color:var(--ink); line-height:1.55; }
.sheet ul { padding-left:22px; }
.sheet pre { background:#f4f4f4; border:1px solid var(--line); border-radius:0; padding:12px; overflow-x:auto; font-family:"Courier New",monospace; font-size:13px; }
.sheet table { border-collapse:collapse; width:100%; max-width:820px; margin:10px 0 22px; font-size:15px; }
.sheet th, .sheet td { border:1px solid var(--line); padding:6px 12px; text-align:left; vertical-align:top; }
.sheet th { background:#f4f4f4; font-weight:700; }
.sheet table code { white-space:nowrap; }
.sheet .lead { font-size:17px; }
.footnote { border-top:1px solid var(--line); margin-top:28px; padding-top:12px; font-size:14px; color:var(--muted); }
.footnote a { color:var(--blue); }
.backlink { color:var(--blue); font-weight:700; }
.badge-strip { display:flex; flex-wrap:wrap; gap:10px; margin:16px 0; }
.badge-strip a { color:var(--blue); font-weight:700; text-decoration:underline; }
@media (max-width:800px){ .bulletin-grid, .bubbles, .cards { grid-template-columns:1fr; } }
/* 2003-ism footer */
.counter { display:inline-block; background:#000; color:#39ff14; font-family:"Courier New",monospace; padding:1px 6px; border:1px solid #888; margin-right:6px; }
.nowplaying { flex-basis:100%; font-family:"Courier New",monospace; font-size:13px; color:#555; margin:12px 0 0; text-align:center; }
.nowplaying a { color:var(--blue); }
.footer-fine .counter { }

.blink { animation:blink 1.2s steps(1) infinite; }
@keyframes blink { 50% { opacity:0; } }
