/* Our Daily Media — Red & White Liquid Glass (light + dark) */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

/* ---- Dark theme (default) ---- */
:root,[data-theme="dark"]{
  --bg-0:#0a0608;--text:#f8f4f5;--text-dim:#cbbcc0;--text-faint:#8c7c81;
  --accent:#ff3b51;--accent-2:#ff8189;
  --glass:rgba(255,255,255,0.06);--glass-strong:rgba(255,255,255,0.10);
  --glass-border:rgba(255,255,255,0.14);
  --au1:rgba(255,59,81,0.38);--au2:rgba(255,120,90,0.26);--au3:rgba(214,30,60,0.32);--au4:rgba(255,180,180,0.18);
  --veil:linear-gradient(180deg,rgba(10,6,8,0.35),rgba(10,6,8,0.88));
  --shadow:0 8px 32px rgba(0,0,0,0.4);
  --pill-text:#1a0a0d;
}
/* ---- Light theme (red & white) ---- */
[data-theme="light"]{
  --bg-0:#fff6f7;--text:#1c0c10;--text-dim:#5e4a4f;--text-faint:#9a868c;
  --accent:#e0182f;--accent-2:#ff5365;
  --glass:rgba(255,255,255,0.55);--glass-strong:rgba(255,255,255,0.72);
  --glass-border:rgba(224,24,47,0.18);
  --au1:rgba(255,90,107,0.30);--au2:rgba(255,150,120,0.22);--au3:rgba(224,24,47,0.18);--au4:rgba(255,200,205,0.40);
  --veil:linear-gradient(180deg,rgba(255,246,247,0.30),rgba(255,246,247,0.75));
  --shadow:0 8px 30px rgba(224,24,47,0.12);
  --pill-text:#fff;
}
/* Fallback to OS preference when no explicit choice */
@media (prefers-color-scheme: light){
  :root:not([data-theme]){
    --bg-0:#fff6f7;--text:#1c0c10;--text-dim:#5e4a4f;--text-faint:#9a868c;
    --accent:#e0182f;--accent-2:#ff5365;
    --glass:rgba(255,255,255,0.55);--glass-strong:rgba(255,255,255,0.72);
    --glass-border:rgba(224,24,47,0.18);
    --au1:rgba(255,90,107,0.30);--au2:rgba(255,150,120,0.22);--au3:rgba(224,24,47,0.18);--au4:rgba(255,200,205,0.40);
    --veil:linear-gradient(180deg,rgba(255,246,247,0.30),rgba(255,246,247,0.75));
    --shadow:0 8px 30px rgba(224,24,47,0.12);--pill-text:#fff;
  }
}

:root{--radius:20px;--font-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--font-serif:'Source Serif Pro',Georgia,serif;--max-width:1200px}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:var(--font-sans);color:var(--text);background:var(--bg-0);line-height:1.7;-webkit-font-smoothing:antialiased;position:relative;min-height:100vh;overflow-x:hidden;transition:background .4s,color .4s}
body::before{content:"";position:fixed;inset:-30%;z-index:-2;background:radial-gradient(40% 50% at 20% 20%,var(--au1),transparent 60%),radial-gradient(45% 55% at 80% 10%,var(--au2),transparent 60%),radial-gradient(50% 60% at 70% 80%,var(--au3),transparent 60%),radial-gradient(40% 50% at 15% 75%,var(--au4),transparent 60%);filter:blur(40px) saturate(140%);animation:drift 22s ease-in-out infinite alternate}
body::after{content:"";position:fixed;inset:0;z-index:-1;background:var(--veil)}
@keyframes drift{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(-4%,3%,0) scale(1.12)}}
a{color:var(--accent);text-decoration:none;transition:color .2s}
a:hover{color:var(--accent-2)}
img{max-width:100%;height:auto}
.container{max-width:var(--max-width);margin:0 auto;padding:0 20px}

/* Header */
.site-header{position:sticky;top:.75rem;z-index:100;margin:.75rem auto 0;max-width:var(--max-width);padding:0 20px}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:.85rem 1.4rem;background:var(--glass-strong);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--glass-border);border-radius:18px;box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,0.12)}
.site-logo{font-family:var(--font-serif);font-size:1.35rem;font-weight:700;color:var(--text);letter-spacing:-.02em}
.site-logo:hover{color:var(--accent)}
.site-nav{display:flex;align-items:center;gap:1rem}
.nav-list{display:flex;gap:1.3rem;list-style:none;flex-wrap:wrap}
.nav-list a{color:var(--text-dim);font-size:.9rem;font-weight:500}
.nav-list a:hover{color:var(--accent)}
.nav-toggle{display:none;background:none;border:none;color:var(--text);font-size:1.3rem;cursor:pointer}
.theme-toggle{background:var(--glass);border:1px solid var(--glass-border);color:var(--text);width:38px;height:38px;border-radius:50%;cursor:pointer;font-size:1rem;display:grid;place-items:center;transition:transform .2s,background .2s;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.theme-toggle:hover{transform:rotate(20deg) scale(1.05);background:var(--glass-strong)}

/* Hero */
.hero{text-align:center;padding:5rem 1rem 2.5rem}
.hero-title{font-family:var(--font-serif);font-weight:700;font-size:clamp(2.4rem,6vw,4.2rem);line-height:1.05;letter-spacing:-.03em;margin-bottom:1rem;background:linear-gradient(135deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero-subtitle{color:var(--text-dim);font-size:clamp(1rem,2vw,1.2rem);max-width:620px;margin:0 auto}

/* Layout */
.site-main{padding:1rem 0 2rem}
.content-layout{display:grid;grid-template-columns:1fr 320px;gap:1.6rem;align-items:start}
.section-title{font-family:var(--font-serif);font-size:1.6rem;font-weight:600;margin-bottom:1.4rem;letter-spacing:-.01em}

/* Cards */
.article-grid{display:grid;gap:1.1rem}
.article-card{background:var(--glass);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border:1px solid var(--glass-border);border-radius:var(--radius);padding:1.5rem 1.6rem;box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,0.1);transition:transform .25s,border-color .25s,box-shadow .25s}
.article-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 16px 44px rgba(224,24,47,0.18),inset 0 1px 0 rgba(255,255,255,0.14)}
.card-category{display:inline-block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--pill-text);background:linear-gradient(135deg,var(--accent),var(--accent-2));padding:.25rem .7rem;border-radius:100px;margin-bottom:.8rem}
.card-title{font-family:var(--font-serif);font-size:1.3rem;line-height:1.25;margin-bottom:.5rem;font-weight:600}
.card-title a{color:var(--text)}
.card-title a:hover{color:var(--accent)}
.card-excerpt{color:var(--text-dim);font-size:.95rem;margin-bottom:.7rem}
.card-meta{color:var(--text-faint);font-size:.82rem}

/* Sidebar */
.sidebar{display:flex;flex-direction:column;gap:1.1rem}
.sidebar-section{background:var(--glass);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border:1px solid var(--glass-border);border-radius:var(--radius);padding:1.3rem 1.4rem;box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,0.08)}
.sidebar-section h3{font-family:var(--font-serif);font-size:1.1rem;margin-bottom:.8rem;color:var(--text)}
.sidebar-section p{color:var(--text-dim);font-size:.9rem}
.category-list,.recent-posts-list{list-style:none;display:flex;flex-direction:column;gap:.55rem}
.category-list a,.recent-posts-list a{color:var(--text-dim);font-size:.92rem}
.category-list a:hover,.recent-posts-list a:hover{color:var(--accent)}

/* Ads */
.ad-slot{margin:1.3rem 0;text-align:center}
.ad-placeholder{display:flex;align-items:center;justify-content:center;min-height:90px;color:var(--text-faint);font-size:.8rem;background:var(--glass);border:1px dashed var(--glass-border);border-radius:14px}
.sidebar-ad .ad-placeholder{min-height:250px}

/* Article page */
.article-content{max-width:760px;margin:0 auto;background:var(--glass);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border:1px solid var(--glass-border);border-radius:var(--radius);padding:2.5rem;box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,0.1)}
.article-header{margin-bottom:1.5rem}
.article-category{display:inline-block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--pill-text);background:linear-gradient(135deg,var(--accent),var(--accent-2));padding:.25rem .7rem;border-radius:100px;margin-bottom:1rem}
.article-title{font-family:var(--font-serif);font-size:clamp(1.9rem,4vw,2.7rem);line-height:1.15;letter-spacing:-.02em;margin-bottom:.8rem;color:var(--text)}
.article-meta{color:var(--text-faint);font-size:.9rem;display:flex;gap:1rem;flex-wrap:wrap;padding-bottom:1.2rem;border-bottom:1px solid var(--glass-border)}
.article-body,.article-body-continued{font-family:var(--font-serif);font-size:1.1rem;line-height:1.85;color:var(--text-dim)}
.article-body p,.article-body-continued p{margin-bottom:1.3rem}
.article-body h2,.article-body-continued h2{font-family:var(--font-sans);font-size:1.4rem;font-weight:700;color:var(--text);margin:2rem 0 .8rem}
.article-body a,.article-body-continued a{color:var(--accent);border-bottom:1px solid var(--glass-border)}
.article-body blockquote,.article-body-continued blockquote{border-left:3px solid var(--accent);padding-left:1.1rem;margin:1.5rem 0;color:var(--text-faint);font-style:italic}
.article-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--glass-border)}
.article-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}
.article-tags a,.article-tags span{font-size:.8rem;color:var(--text-dim);background:var(--glass);border:1px solid var(--glass-border);padding:.3rem .7rem;border-radius:100px}
.article-nav{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}

/* Footer */
.site-footer{margin:3rem auto 1.5rem;max-width:var(--max-width);padding:0 20px}
.footer-inner{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;padding:2rem;background:var(--glass);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border:1px solid var(--glass-border);border-radius:var(--radius) var(--radius) 0 0;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1)}
.footer-brand h3{font-family:var(--font-serif);font-size:1.2rem;color:var(--text);margin-bottom:.5rem}
.footer-brand p{color:var(--text-dim);font-size:.9rem;max-width:340px}
.footer-links h4{color:var(--text);font-size:.95rem;margin-bottom:.7rem}
.footer-links ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.footer-links a{color:var(--text-dim);font-size:.9rem}
.footer-links a:hover{color:var(--accent)}
.footer-bottom{text-align:center;padding:1.2rem;color:var(--text-faint);font-size:.82rem;background:var(--glass);border:1px solid var(--glass-border);border-top:none;border-radius:0 0 var(--radius) var(--radius)}

/* Responsive */
@media(max-width:900px){.content-layout{grid-template-columns:1fr}.sidebar{flex-direction:row;flex-wrap:wrap}.sidebar-section{flex:1;min-width:240px}}
@media(max-width:560px){.header-inner{padding:.7rem 1rem}.hero{padding:3.5rem .5rem 2rem}.article-content{padding:1.6rem}.footer-inner{flex-direction:column;gap:1.2rem}}

/* === Article Artifacts === */

/* TL;DR / Key Takeaways box */
.tldr-box{background:var(--glass);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border:1px solid var(--glass-border);border-radius:var(--radius);padding:1.4rem 1.6rem;margin:1.5rem 0;box-shadow:var(--shadow)}
.tldr-box h3{font-family:var(--font-sans);font-size:1rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.6rem}
.tldr-box ul{list-style:none;padding:0;margin:0}
.tldr-box li{padding:.35rem 0 .35rem 1.4rem;position:relative;color:var(--text-dim);font-size:.95rem}
.tldr-box li::before{content:"▸";position:absolute;left:0;color:var(--accent);font-weight:700}

/* Table of Contents */
.toc{background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:14px;padding:1.2rem 1.4rem;margin:1.5rem 0;font-size:.9rem}
.toc h3{font-family:var(--font-sans);font-size:.85rem;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.6rem}
.toc ol{list-style:none;counter-reset:toc-counter;padding:0;margin:0}
.toc li{counter-increment:toc-counter;padding:.25rem 0;margin:0}
.toc li::before{content:counter(toc-counter) ". ";color:var(--accent);font-weight:600;margin-right:.3rem}
.toc a{color:var(--text-dim);text-decoration:none;font-size:.88rem;border:none}
.toc a:hover{color:var(--accent)}

/* Callout boxes */
.callout{display:flex;gap:.8rem;align-items:flex-start;background:var(--glass);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);border:1px solid var(--glass-border);border-radius:14px;padding:1rem 1.2rem;margin:1.4rem 0;box-shadow:var(--shadow)}
.callout-icon{font-size:1.2rem;flex-shrink:0;line-height:1.5}
.callout-body{flex:1}
.callout-body strong{display:block;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.2rem}
.callout-body p{margin:0;font-size:.95rem;color:var(--text-dim)}
.callout-tip{border-left:3px solid #22c55e}
.callout-tip .callout-body strong{color:#22c55e}
.callout-note{border-left:3px solid var(--accent)}
.callout-note .callout-body strong{color:var(--accent)}
.callout-warning{border-left:3px solid #f59e0b}
.callout-warning .callout-body strong{color:#f59e0b}

/* Pull quote */
.pull-quote{position:relative;margin:2rem 0;padding:1.2rem 2rem;text-align:center;font-family:var(--font-serif);font-size:1.3rem;font-style:italic;line-height:1.6;color:var(--text);border-top:2px solid var(--accent);border-bottom:2px solid var(--accent)}
.pull-quote::before{content:""";font-size:4rem;position:absolute;top:-.5rem;left:.5rem;color:var(--accent);opacity:.3;font-family:Georgia,serif;line-height:1}
.pull-quote .attribution{display:block;margin-top:.5rem;font-size:.85rem;font-style:normal;color:var(--text-faint);font-family:var(--font-sans)}

/* Stat callout */
.stat-callout{display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--glass);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border:1px solid var(--glass-border);border-radius:var(--radius);padding:1.5rem 1.2rem;margin:1.5rem 0;box-shadow:var(--shadow)}
.stat-number{font-family:var(--font-serif);font-size:2.8rem;font-weight:700;letter-spacing:-.03em;background:linear-gradient(135deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1}
.stat-label{color:var(--text-dim);font-size:.92rem;margin-top:.3rem}

/* Table styling */
.table-wrapper{overflow-x:auto;margin:1.5rem 0;background:var(--glass);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);border:1px solid var(--glass-border);border-radius:14px;padding:0;box-shadow:var(--shadow)}
.table-wrapper table{width:100%;border-collapse:collapse;font-size:.95rem}
.table-wrapper th{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--pill-text);font-family:var(--font-sans);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.8rem 1rem;text-align:left}
.table-wrapper td{padding:.7rem 1rem;color:var(--text-dim);border-bottom:1px solid var(--glass-border)}
.table-wrapper tr:last-child td{border-bottom:none}

/* FAQ section */
.faq-section{margin:2rem 0}
.faq-section h2{font-family:var(--font-serif);font-size:1.4rem;font-weight:600;color:var(--text);margin-bottom:1rem}
.faq-item{border-bottom:1px solid var(--glass-border);padding:1rem 0}
.faq-item:first-child{border-top:1px solid var(--glass-border)}
.faq-question{font-family:var(--font-sans);font-size:1rem;font-weight:600;color:var(--text);cursor:pointer;display:flex;justify-content:space-between;align-items:center}
.faq-question::after{content:"+";font-size:1.2rem;color:var(--accent);transition:transform .2s}
.faq-answer{padding-top:.6rem;color:var(--text-dim);font-size:.95rem;line-height:1.7}

/* Hero image */
.hero-image-wrapper{margin:1.5rem 0;border-radius:14px;overflow:hidden;background:var(--glass);border:1px solid var(--glass-border);box-shadow:var(--shadow)}
.hero-image-wrapper img{width:100%;height:auto;display:block}
.hero-caption{padding:.7rem 1rem;font-size:.85rem;color:var(--text-faint);font-style:italic;text-align:center}
.hero-caption .alt-text{display:block;font-size:.78rem;color:var(--text-faint);font-style:normal;margin-top:.2rem;opacity:.7}

/* Reading time & byline */
.reading-time{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;color:var(--text-faint);margin-left:.3rem}

/* Conclusion / CTA */
.conclusion-cta{background:var(--glass);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border:1px solid var(--glass-border);border-radius:var(--radius);padding:1.5rem 1.6rem;margin:1.5rem 0;text-align:center;box-shadow:var(--shadow)}
.conclusion-cta h3{font-family:var(--font-serif);font-size:1.2rem;color:var(--text);margin-bottom:.5rem}
.conclusion-cta p{color:var(--text-dim);font-size:.95rem;margin-bottom:0}

/* Related posts */
.related-posts{background:var(--glass);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);border:1px solid var(--glass-border);border-radius:var(--radius);padding:1.3rem 1.4rem;margin:1.5rem 0;box-shadow:var(--shadow)}
.related-posts h3{font-family:var(--font-sans);font-size:.9rem;font-weight:700;color:var(--text);margin-bottom:.8rem}
.related-posts ul{list-style:none;padding:0;margin:0}
.related-posts li{padding:.35rem 0}
.related-posts a{color:var(--text-dim);font-size:.92rem;border:none}
.related-posts a:hover{color:var(--accent)}

/* Comparison grid */
.comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:1.5rem 0;border-radius:14px;overflow:hidden;border:1px solid var(--glass-border);background:var(--glass-border)}
.comparison-item{padding:1rem 1.2rem;background:var(--glass);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%)}
.comparison-item h4{font-family:var(--font-sans);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.3rem}
.comparison-item p{color:var(--text-dim);font-size:.9rem;margin:0;line-height:1.6}
.comparison-item.pro h4{color:#22c55e}
.comparison-item.con h4{color:var(--accent)}

/* Mermaid diagram wrapper */
.mermaid-wrapper{background:var(--glass);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);border:1px solid var(--glass-border);border-radius:14px;padding:1.2rem;margin:1.5rem 0;overflow-x:auto;box-shadow:var(--shadow)}
.mermaid-wrapper .mermaid{background:#fff;border-radius:10px;padding:1rem;text-align:center}

/* Article meta extended */
.article-meta-extended{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;padding-bottom:1.2rem;margin-bottom:1.5rem;border-bottom:1px solid var(--glass-border)}

/* Responsive article artifacts */
@media(max-width:560px){.stat-number{font-size:2rem}.comparison-grid{grid-template-columns:1fr}.pull-quote{font-size:1.1rem;padding:1rem 1.2rem}}
