:root{color-scheme:light dark;--bg: #fffdf9;--text: #1f1f22;--muted: #5b5b66;--primary: #e4572e;--primary-contrast: #ffffff;--surface: #ffffff;--border: #e9e6df;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--space-3xl: 48px;--space-4xl: 64px;--radius: 8px;--shadow: 0 2px 8px rgba(0,0,0,.06)}@media (prefers-color-scheme: dark){:root{--bg: #0f1115;--text: #e8e8ea;--muted: #b2b2ba;--surface: #171922;--border: #2a2d39}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Helvetica,Arial,sans-serif;font-size:17px;line-height:1.6;color:var(--text);background-color:var(--bg);margin:0;padding:0}h1,h2,h3,h4,h5,h6{margin:0 0 var(--space-lg) 0;color:var(--text);font-weight:700}h1{font-size:38px;line-height:1.2}h2{font-size:30px;line-height:1.3}h3{font-size:23px;font-weight:600;line-height:1.4}p{margin:0 0 var(--space-lg) 0;line-height:1.7}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}a:focus{outline:2px solid var(--primary);outline-offset:3px;border-radius:2px}button{font-family:inherit;font-size:inherit;background:var(--primary);color:var(--primary-contrast);border:none;padding:var(--space-md) var(--space-xl);border-radius:var(--radius);cursor:pointer;font-weight:600;transition:opacity .2s}button:hover{opacity:.9}button:focus{outline:2px solid var(--primary);outline-offset:3px}img{max-width:100%;height:auto}.container{max-width:72ch;margin:0 auto;padding-inline:var(--space-lg)}.container-wide{max-width:1200px;margin:0 auto;padding-inline:var(--space-lg)}@media (min-width: 768px){.container,.container-wide{padding-inline:var(--space-2xl)}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--space-lg)}.grid{display:grid;gap:var(--space-xl)}.grid-auto{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}@media (min-width: 768px){.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}}.skip-link{position:absolute;top:-40px;left:6px;background:var(--primary);color:var(--primary-contrast);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius);text-decoration:none;font-weight:600;z-index:1000}.skip-link:focus{top:6px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tag{display:inline-block;background:var(--border);color:var(--text);padding:var(--space-xs) var(--space-md);border-radius:calc(var(--radius) / 2);font-size:14px;font-weight:500;text-decoration:none;margin-right:var(--space-sm);margin-bottom:var(--space-sm)}.tag:hover{background:var(--primary);color:var(--primary-contrast);text-decoration:none}.breadcrumb{font-size:14px;color:var(--muted);margin-bottom:var(--space-xl)}.breadcrumb a{color:var(--muted)}.breadcrumb a:hover{color:var(--primary)}.article-meta{color:var(--muted);font-size:15px;margin-bottom:var(--space-xl)}.article-meta time{font-weight:500}.toc{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-lg);margin:var(--space-xl) 0}.toc h3{margin-bottom:var(--space-md);font-size:18px}.toc ul{list-style:none;padding:0;margin:0}.toc li{margin-bottom:var(--space-sm)}.toc a{color:var(--text);text-decoration:none;font-size:15px}.toc a:hover{color:var(--primary);text-decoration:underline}.anchor-link{opacity:0;margin-left:var(--space-sm);color:var(--muted);text-decoration:none;transition:opacity .2s}h2:hover .anchor-link,h3:hover .anchor-link{opacity:1}.article-navigation{display:flex;justify-content:space-between;gap:var(--space-lg);margin-top:var(--space-4xl);padding-top:var(--space-xl);border-top:1px solid var(--border)}.article-nav-link{flex:1;padding:var(--space-lg);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:var(--text)}.article-nav-link:hover{background:var(--border);text-decoration:none}.article-nav-link strong{display:block;color:var(--primary);margin-bottom:var(--space-xs);font-size:14px}.article-nav-next{text-align:right}
