/* ═══════════════════════════════════════════════
   XPERIENCES.SPACE — Retro Newspaper Edition
   Monospace · Terminal · Newsprint
   ═══════════════════════════════════════════════ */
:root {
  --paper: #f2efe9;
  --ink: #1a1a1a;
  --ink-soft: #555;
  --ink-muted: #888;
  --accent: #8b0000;
  --accent-light: #c0392b;
  --border: #bbb;
  --border-light: #d5d0c5;
  --masthead-bg: #1a1a1a;
  --masthead-text: #f2efe9;
  --font: 'Courier New', 'IBM Plex Mono', 'JetBrains Mono', 'Liberation Mono', monospace;
  --line: 1.6;
  --max-w: 720px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:15px}
body{
  font-family:var(--font);
  background:var(--paper);
  color:var(--ink);
  line-height:var(--line);
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
time{color:var(--ink-soft)}

/* ── Layout ── */
.container{max-width:var(--max-w);margin:0 auto;padding:0 20px}

/* ── Masthead ── */
.masthead{
  background:var(--masthead-bg);
  color:var(--masthead-text);
  padding:20px 0 14px;
  text-align:center;
  border-bottom:3px double var(--accent);
}
.masthead h1{
  font-size:1.6rem;
  font-weight:700;
  letter-spacing:.25em;
  text-transform:uppercase;
  color:var(--accent);
}
.masthead .tagline{
  font-size:.75rem;
  color:var(--ink-muted);
  letter-spacing:.1em;
  margin:4px 0 8px;
  text-transform:uppercase;
}
.masthead .dateline{
  font-size:.7rem;
  color:var(--ink-muted);
  border-top:1px solid #333;
  padding-top:8px;
  display:inline-block;
}

/* ── Nav ── */
.nav-bar{
  background:var(--masthead-bg);
  padding:0 0 12px;
  text-align:center;
  border-bottom:2px solid var(--accent);
}
.nav-bar a{
  color:var(--masthead-text);
  font-size:.72rem;
  padding:3px 8px;
  display:inline-block;
}
.nav-bar a:hover{color:var(--accent);text-decoration:none}
.nav-bar .sep{color:#444;font-size:.65rem}

/* ── Section Title ── */
.section-title{
  font-size:.8rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.15em;
  color:var(--ink-soft);
  margin:28px 0 12px;
  border-bottom:1px solid var(--border-light);
  padding-bottom:6px;
}

/* ── Article List (Newspaper style) ── */
.articles-list{margin:0 0 20px}
.article-entry{
  border-bottom:1px solid var(--border-light);
  padding:14px 0;
  cursor:pointer;
  transition:background .12s;
}
.article-entry:hover{background:rgba(0,0,0,.02)}
.article-entry:last-child{border-bottom:none}
.article-meta{
  font-size:.68rem;
  color:var(--ink-soft);
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom:4px;
}
.article-meta .badge{
  display:inline-block;
  color:var(--accent);
  font-weight:700;
  margin-right:8px;
}
.article-meta .badge-sponsored{color:#8b6914}
.article-entry h3{
  font-size:.95rem;
  font-weight:700;
  line-height:1.3;
  margin-bottom:4px;
}
.article-entry p{
  font-size:.8rem;
  color:var(--ink-soft);
  line-height:1.4;
}
.article-entry .views{
  font-size:.65rem;
  color:var(--ink-muted);
  display:inline-block;
  margin-top:4px;
}

/* ── Featured (Prominent) ── */
.featured-entry{
  border:2px solid var(--ink);
  padding:16px;
  margin-bottom:16px;
  cursor:pointer;
  transition:background .12s;
  background:rgba(139,0,0,.02);
}
.featured-entry:hover{background:rgba(139,0,0,.04)}
.featured-entry h3{
  font-size:1.05rem;
  font-weight:700;
  line-height:1.3;
}
.featured-entry p{font-size:.82rem;color:var(--ink-soft);margin-top:4px}

/* ── Category Filter ── */
.cat-filter{
  margin:0 0 16px;
  display:flex;
  flex-wrap:wrap;
  gap:4px;
}
.cat-btn{
  font-family:var(--font);
  font-size:.68rem;
  padding:3px 10px;
  border:1px solid var(--border);
  background:transparent;
  cursor:pointer;
  color:var(--ink-soft);
  text-transform:uppercase;
  letter-spacing:.05em;
  transition:all .12s;
}
.cat-btn:hover,.cat-btn.active{
  background:var(--ink);
  color:var(--paper);
  border-color:var(--ink);
  text-decoration:none;
}

/* ── Article Page ── */
.article-page{padding:20px 0 40px}
.article-header{margin-bottom:20px}
.article-header .meta-top{
  font-size:.68rem;
  color:var(--ink-soft);
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom:6px;
}
.article-header .meta-top .badge{color:var(--accent);font-weight:700;margin-right:8px}
.article-header h1{
  font-size:1.15rem;
  font-weight:700;
  line-height:1.3;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.article-header .stats{
  font-size:.68rem;
  color:var(--ink-muted);
  margin-top:6px;
}
.article-header .tags{margin-top:4px}
.article-header .tag{
  font-size:.65rem;
  color:var(--ink-soft);
  margin-right:6px;
}
.article-content{
  font-size:.85rem;
  line-height:var(--line);
}
.article-content p{margin-bottom:.8rem}
.article-content .content-preview{
  margin-bottom:1.2rem;
  padding-bottom:1rem;
  border-bottom:1px solid var(--border-light);
}
.original-embed{
  margin:1.2rem 0;
  border:1px solid var(--border);
  background:var(--paper);
}
.original-embed iframe{
  width:100%;
  height:65vh;
  min-height:350px;
  border:none;
  display:block;
}
.embed-fallback{
  font-size:.7rem;
  padding:8px 12px;
  background:rgba(0,0,0,.03);
  color:var(--ink-muted);
  text-align:center;
  border-top:1px solid var(--border-light);
}
.embed-fallback a{color:var(--accent);font-weight:700}

/* ── Hero ── */
.hero-mini{
  border:1px solid var(--border-light);
  padding:14px 18px;
  margin-bottom:16px;
  background:rgba(0,0,0,.01);
}
.hero-mini h1{font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.hero-mini p{font-size:.75rem;color:var(--ink-soft);margin-top:2px}

/* ── Sponsored Note ── */
.sponsored-note{
  font-size:.72rem;
  color:var(--ink-soft);
  border:1px dashed var(--border);
  padding:10px 14px;
  margin-top:16px;
}
.sponsored-note a{color:var(--accent);font-weight:700}

/* ── Related ── */
.related-section{margin-top:28px;padding-top:16px;border-top:2px solid var(--ink)}
.related-section .section-title{font-size:.75rem;letter-spacing:.1em}
.related-entry{
  padding:10px 0;
  border-bottom:1px solid var(--border-light);
  cursor:pointer;
}
.related-entry:last-child{border-bottom:none}
.related-entry:hover{background:rgba(0,0,0,.01)}
.related-entry h3{font-size:.85rem;font-weight:700;line-height:1.3}
.related-entry .views{font-size:.65rem;color:var(--ink-muted)}

/* ── Sponsor Section ── */
.sponsor-box{
  border:1px solid var(--border);
  padding:16px;
  margin:24px 0;
  text-align:center;
}
.sponsor-box h3{font-size:.85rem;font-weight:700;text-transform:uppercase}
.sponsor-box p{font-size:.78rem;color:var(--ink-soft);margin:6px 0}
.sponsor-btn{
  display:inline-block;
  font-family:var(--font);
  font-size:.75rem;
  padding:6px 16px;
  border:1px solid var(--ink);
  color:var(--ink);
  text-transform:uppercase;
  letter-spacing:.1em;
  transition:all .12s;
}
.sponsor-btn:hover{
  background:var(--ink);
  color:var(--paper);
  text-decoration:none;
}

/* ── Footer ── */
.footer{
  margin-top:30px;
  border-top:2px solid var(--ink);
  padding:20px 0;
  font-size:.72rem;
  color:var(--ink-soft);
  text-align:center;
}
.footer a{color:var(--accent)}
.footer .footer-links{margin:8px 0}
.footer .footer-links a{color:var(--ink-soft);margin:0 6px}
.footer .footer-links a:hover{color:var(--accent)}

/* ── Responsive ── */
@media(max-width:600px){
  html{font-size:14px}
  .container{padding:0 14px}
  .masthead h1{font-size:1.2rem;letter-spacing:.15em}
  .article-entry h3{font-size:.88rem}
  .article-header h1{font-size:1rem}
  .original-embed iframe{height:45vh;min-height:250px}
  .cat-filter{gap:3px}
  .cat-btn{font-size:.65rem;padding:2px 8px}
}

/* ── Print ── */
@media print{
  body{background:#fff;color:#000;font-size:12px}
  .masthead{background:#fff;color:#000;border-color:#000}
  .nav-bar,.fab,.geo-banner{display:none}
  .container{max-width:100%}
}

/* ── Logos ── */
.logo-img { height: 40px; width: auto; }
.footer-logo { height: 60px; width: auto; opacity: 0.8; }
.topbar {
  background: var(--masthead-bg);
  padding: 12px 0;
  border-bottom: 2px solid var(--accent);
}
.topbar .logo { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.topbar .logo-text {
  font-family: var(--font-heading);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--masthead-text);
  letter-spacing: 1px;
}
.topbar .logo-text span { color: var(--accent); }
.topbar .nav-links { display: flex; gap: 16px; align-items: center; }
.topbar .nav-links a {
  color: var(--masthead-text);
  font-size: 0.8rem;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 4px 0;
  border-bottom: 2px solid transparent;
  transition: all .15s;
}
.topbar .nav-links a:hover, .topbar .nav-links a.active { border-bottom-color: var(--accent); color: var(--accent); }
.hero.portal-hero {
  background: var(--masthead-bg);
  padding: 40px 0;
  text-align: center;
  border-bottom: 3px double var(--accent);
}
.hero.portal-hero h1 {
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: 900;
  color: var(--accent);
  letter-spacing: 2px;
  text-transform: uppercase;
}
.hero.portal-hero p {
  font-size: 0.9rem;
  color: var(--ink-muted);
  margin-top: 8px;
}
.footer-content {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 30px;
  text-align: left;
}
.footer-brand p { font-size: 0.8rem; margin-top: 8px; }
.footer-links h4, .footer-contact h4 {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--ink);
  margin-bottom: 8px;
}
.footer-links a, .footer-contact a {
  display: block;
  font-size: 0.75rem;
  color: var(--ink-soft);
  margin-bottom: 4px;
}
.footer-bottom {
  margin-top: 20px;
  padding-top: 12px;
  border-top: 1px solid var(--border-light);
}
@media (max-width: 768px) {
  .footer-content { grid-template-columns: 1fr; text-align: center; }
  .topbar .nav-links { gap: 8px; flex-wrap: wrap; }
  .topbar .nav-links a { font-size: 0.7rem; }
}

/* ── Tags ── */
.article-header .tags { margin-top: 4px; }

/* ── Source Link ── */
.source-link {
  font-size: .7rem;
  color: #888;
  margin-top: 1.2rem;
  padding-top: .8rem;
  border-top: 1px solid #d5d0c5;
}
.source-link a { color: #8b0000; font-weight: 700; }

/* ── Dark Mode ── */
[data-theme="dark"] {
  --paper: #111;
  --ink: #e0ddd5;
  --ink-soft: #999;
  --ink-muted: #666;
  --accent: #c0392b;
  --accent-light: #e74c3c;
  --border: #333;
  --border-light: #222;
  --masthead-bg: #0a0a0a;
  --masthead-text: #e0ddd5;
}
[data-theme="dark"] .featured-entry {
  background: rgba(192,57,43,.04);
  border-color: #c0392b;
}
[data-theme="dark"] .featured-entry:hover {
  background: rgba(192,57,43,.08);
}
[data-theme="dark"] .article-entry:hover {
  background: rgba(255,255,255,.02);
}
[data-theme="dark"] .hero-mini {
  background: rgba(255,255,255,.02);
}
[data-theme="dark"] .original-embed {
  background: #1a1a1a;
  border-color: #333;
}
[data-theme="dark"] .embed-fallback {
  background: rgba(255,255,255,.03);
}
[data-theme="dark"] .sponsor-box {
  border-color: #333;
}
[data-theme="dark"] .sponsor-btn {
  border-color: #e0ddd5;
  color: #e0ddd5;
}
[data-theme="dark"] .sponsor-btn:hover {
  background: #e0ddd5;
  color: #111;
}
[data-theme="dark"] .related-section {
  border-top-color: #333;
}
[data-theme="dark"] .footer {
  border-top-color: #333;
}
[data-theme="dark"] .footer-links a {
  color: #666;
}
[data-theme="dark"] .cat-btn {
  border-color: #333;
  color: #999;
}
[data-theme="dark"] .cat-btn:hover,
[data-theme="dark"] .cat-btn.active {
  background: #e0ddd5;
  color: #111;
  border-color: #e0ddd5;
}
[data-theme="dark"] .source-link {
  border-top-color: #333;
  color: #666;
}
