@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,900;1,400;1,700&family=DM+Sans:wght@300;400;500;600&family=DM+Mono:wght@400;500&display=swap");:root{--accent:#f59e0b;--accent-dark:#d97706;--accent-light:#fcd34d;--accent-muted:rgba(245,158,11,.12);--bg-base:#0a0a0a;--bg-surface:#111;--bg-elevated:#1a1a1a;--bg-border:#222;--bg-hover:#1e1e1e;--text-primary:#f0ece4;--text-secondary:#9a9490;--text-muted:#5a5650;--text-inverse:#0a0a0a;--cat-tools:#f59e0b;--cat-bigtech:#3b82f6;--cat-research:#8b5cf6;--cat-policy:#10b981;--cat-startups:#ef4444;--cat-howitworks:#06b6d4;--font-display:"Playfair Display",Georgia,serif;--font-body:"DM Sans",system-ui,sans-serif;--font-mono:"DM Mono","Courier New",monospace;--nav-height:64px;--shadow-sm:0 1px 3px rgba(0,0,0,.4);--shadow-md:0 4px 16px rgba(0,0,0,.5);--shadow-lg:0 8px 32px rgba(0,0,0,.6);--transition:0.2s ease}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg-base);font-family:var(--font-body);font-size:16px;line-height:1.6;min-height:100vh}body,h1,h2,h3,h4,h5,h6{color:var(--text-primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);line-height:1.2}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button{cursor:pointer;font-family:var(--font-body)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--bg-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background:var(--accent-muted);color:var(--accent-light)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.container{max-width:1200px}.container,.container-narrow{width:100%;margin:0 auto;padding:0 24px}.container-narrow{max-width:780px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.article-content{font-size:1.1rem;line-height:1.8;color:var(--text-primary)}.article-content h2{font-size:1.75rem;margin:2.5rem 0 1rem;color:var(--text-primary)}.article-content h3{font-size:1.4rem;margin:2rem 0 .75rem}.article-content p{margin-bottom:1.5rem}.article-content a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.article-content a:hover{color:var(--accent-light)}.article-content ol,.article-content ul{margin-bottom:1.5rem;padding-left:1.75rem}.article-content li{margin-bottom:.5rem}.article-content blockquote{border-left:3px solid var(--accent);padding:1rem 1.5rem;margin:2rem 0;background:var(--bg-surface);border-radius:0 8px 8px 0;font-style:italic;color:var(--text-secondary)}.article-content code{font-family:var(--font-mono);font-size:.875em;background:var(--bg-elevated);padding:.2em .4em;border-radius:4px;color:var(--accent-light)}.article-content pre{background:var(--bg-elevated);padding:1.5rem;border-radius:8px;overflow-x:auto;margin-bottom:1.5rem;border:1px solid var(--bg-border)}.article-content pre code{background:none;padding:0}.article-content img{border-radius:8px;margin:2rem auto;box-shadow:var(--shadow-md)}.article-content hr{border:none;border-top:1px solid var(--bg-border);margin:2.5rem 0}.ProseMirror{min-height:400px;outline:none;font-family:var(--font-body);font-size:1rem;line-height:1.7;color:var(--text-primary)}.ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--text-muted);pointer-events:none;height:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translateX(-8px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:fadeIn .4s ease forwards}.animate-pulse{animation:pulse 1.5s ease infinite}.skeleton{background:linear-gradient(90deg,var(--bg-surface) 25%,var(--bg-elevated) 50%,var(--bg-surface) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}