@font-face {
  font-family: "LilitaOne";
  src: url("/LilitaOne-Regular.ttf") format("truetype");
  font-display: swap;
}

* { box-sizing: border-box; }
html { color-scheme: dark; background: #000; color: #fff; }
body { margin: 0; font: 18px/1.65 Arial, sans-serif; }
a { color: inherit; text-underline-offset: 4px; }
a:focus-visible { outline: 3px solid #8dbbff; outline-offset: 5px; }
.news-main { width: min(100% - 40px, 1000px); margin: 56px auto 80px; }
.page-heading { margin-bottom: 48px; }
h1, h2, h3 { line-height: 1.15; overflow-wrap: anywhere; }
h1, .news-card h2 { font-family: "LilitaOne", Arial, sans-serif; font-weight: 400; }
h1 { margin: 16px 0; font-size: clamp(40px, 7vw, 68px); }
.page-heading p, .subtitle { color: #c5c5c5; }
.eyebrow, .entry-meta { color: #aaa; font-size: 14px; }
.eyebrow { text-transform: uppercase; letter-spacing: 2px; }
.news-feed { display: grid; gap: 48px; }
.news-card { padding-bottom: 48px; border-bottom: 1px solid #303030; }
.card-link { text-decoration: none; display: block; }
.card-link:hover h2 { text-decoration: underline; text-underline-offset: 6px; }
.header-image { display: block; width: 100%; height: auto; max-height: min(640px, 70svh); object-fit: contain; border-radius: 16px; background: #151515; }
.news-card .entry-meta { margin-top: 24px; }
.news-card h2 { font-size: clamp(28px, 5vw, 42px); margin: 12px 0; }
.news-card p { margin: 12px 0; }
.read-update { display: inline-block; margin-top: 12px; font-size: 15px; text-decoration: underline; }
.empty-state { padding: 48px 0 72px; border-top: 1px solid #303030; }
.empty-state h2 { font-size: 28px; }
.empty-state p { color: #aaa; }
.back-link { font-size: 15px; }
.entry-header { margin: 36px 0; }
.entry-meta { display: flex; flex-wrap: wrap; gap: 8px 20px; overflow-wrap: anywhere; }
.subtitle { font-size: clamp(19px, 3vw, 24px); line-height: 1.5; }
.entry-body { max-width: 760px; margin: 40px auto; overflow-wrap: anywhere; }
.entry-body h2 { margin-top: 48px; font-size: 30px; }
.entry-body h3 { margin-top: 32px; font-size: 24px; }
.entry-body img { display: block; max-width: 100%; height: auto; border-radius: 8px; }
.entry-body blockquote { margin: 24px 0; padding-left: 24px; border-left: 3px solid #888; color: #c5c5c5; }
.entry-body pre { padding: 20px; overflow-x: auto; background: #151515; border: 1px solid #303030; border-radius: 8px; }
.entry-body code { font-size: 0.9em; background: #151515; }
.entry-body table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.entry-body th, .entry-body td { padding: 10px 16px; border: 1px solid #444; }
.entry-body hr { margin: 36px 0; border: 0; border-top: 1px solid #444; }
.draft-badge { display: inline-block; padding: 2px 10px; color: #ffda91; border: 1px solid #735727; border-radius: 4px; font-size: 12px; font-weight: bold; letter-spacing: 1px; }
.preview-banner { margin: 0; padding: 12px 20px; text-align: center; color: #ffda91; background: #251d10; font-size: 14px; }
.site-footer { display: flex; justify-content: center; flex-wrap: wrap; gap: 18px; padding: 24px 20px 40px; font-size: 14px; }
@media (max-width: 600px) {
  .news-main { margin-top: 32px; }
  .page-heading { margin-bottom: 32px; }
  .header-image { border-radius: 10px; }
}
