*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--font-serif: "Playfair Display", Georgia, serif;--font-sans: "DM Sans", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Mono", monospace;--font-ui: var(--font-sans);--accent: oklch(52% .18 165);--accent-bg: oklch(94% .05 165);--density: 1}:root,[data-theme=light]{--bg: oklch(97.5% .007 80);--bg2: oklch(95% .008 80);--bg-card: oklch(99.5% .004 80);--bg-side: oklch(96% .008 80);--border: oklch(88% .012 80);--text: oklch(13% .01 80);--text2: oklch(42% .01 80);--text3: oklch(62% .01 80);--shadow: rgba(0,0,0,.06)}[data-theme=dark]{--bg: oklch(13% .008 250);--bg2: oklch(16% .009 250);--bg-card: oklch(17% .009 250);--bg-side: oklch(11% .008 250);--border: oklch(24% .01 250);--text: oklch(93% .005 80);--text2: oklch(65% .008 80);--text3: oklch(48% .008 80);--shadow: rgba(0,0,0,.35)}html,body{height:100%;background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;transition:background .25s,color .25s}#root{min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}input[type=range]{cursor:pointer}*,*:before,*:after{transition:background-color .2s,border-color .2s,color .15s}button,a{transition:opacity .15s,box-shadow .2s,transform .2s,background-color .15s,border-color .15s,color .15s}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}#root{animation:fadeUp .4s ease both}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite;display:inline-block}.article-body{font-size:15px;line-height:1.8;color:var(--text);font-family:var(--font-ui);overflow-wrap:break-word}.article-body p{margin:0 0 18px}.article-body h1,.article-body h2,.article-body h3,.article-body h4,.article-body h5,.article-body h6{font-family:var(--font-serif);font-weight:600;color:var(--text);margin:32px 0 12px;line-height:1.3}.article-body h1{font-size:1.6em}.article-body h2{font-size:1.35em}.article-body h3{font-size:1.15em}.article-body h4{font-size:1.05em}.article-body img{max-width:100%;height:auto;border-radius:6px;margin:16px 0}.article-body a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.article-body blockquote{border-left:3px solid var(--accent);margin:20px 0;padding:8px 16px;color:var(--text2);font-style:italic;background:var(--bg2);border-radius:0 4px 4px 0}.article-body ul,.article-body ol{margin:12px 0;padding-left:24px}.article-body li{margin-bottom:6px}.article-body code{font-family:var(--font-mono);font-size:.88em;background:var(--bg2);border:1px solid var(--border);border-radius:4px;padding:1px 5px}.article-body pre{margin:20px 0;padding:16px 20px;background:var(--bg2);border:1px solid var(--border);border-radius:6px;overflow-x:auto;line-height:1.55}.article-body pre code{background:none;border:none;padding:0;font-size:13px;color:var(--text)}.article-body table{width:100%;border-collapse:collapse;margin:20px 0;font-size:14px}.article-body th,.article-body td{border:1px solid var(--border);padding:8px 12px;text-align:left}.article-body th{background:var(--bg2);font-weight:600}.article-body hr{border:none;border-top:1px solid var(--border);margin:28px 0}.article-body figure{margin:20px 0}.article-body figcaption{font-size:12px;color:var(--text3);margin-top:6px;text-align:center}
