*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}:root{--bg:#f2ede6;--bg2:#ece6dd;--surface:#faf7f2;--surface2:#f5f0e8;--border:#0f192314;--border-strong:#0f192326;--ink:#0f1923;--ink2:#2c3540;--ink3:#6b6560;--ink4:#9c9590;--accent:#c1440e;--accent-light:#f5e8e2;--navy:#0f1923;--ticker-bg:#0f1923;--header-bg:#f5f0e8;--header-border:#0f19231a;--header-text:#0f1923;--header-text-muted:#0f192373;--footer-bg:#f0ebe2;--footer-border:#0f19231a;--footer-text:#0f1923;--footer-text-muted:#0f192366}[data-theme=dark]{--bg:#0d1117;--bg2:#161b22;--surface:#1a2030;--surface2:#1f2736;--border:#ffffff12;--border-strong:#ffffff21;--ink:#e8ddd0;--ink2:#b8b0a4;--ink3:#706860;--ink4:#4a4540;--accent:#e05a1a;--accent-light:#e05a1a1f;--navy:#0a0f16;--ticker-bg:#060a0f;--header-bg:#0a0f16;--header-border:#ffffff0f;--header-text:#e8d5b0;--header-text-muted:#e8d5b073;--footer-bg:#0a0f16;--footer-border:#ffffff0f;--footer-text:#e8d5b0;--footer-text-muted:#e8d5b059}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:DM Sans,sans-serif;line-height:1.6;transition:background .3s,color .3s}h1,h2,h3,h4{color:var(--ink);letter-spacing:-.2px;font-family:Playfair Display,serif;line-height:1.28}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}::selection{background:var(--accent);color:#fff}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--ink3)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media (max-width:1024px){.page-layout{grid-template-columns:1fr!important}}@media (max-width:768px){.hamburger-btn{display:flex!important}.desktop-nav-links{display:none!important}}@media (max-width:480px){.article-meta{flex-direction:column;align-items:flex-start!important}}
