:root{color-scheme:light;--bg:#fff;--bg-alt:#f8fafc;--color-bg-card:#fff;--color-bg-alt:#f8fafc;--surface:#fff;--surface-solid:#f1f5f9;--text:#0f172a;--color-text:#0f172a;--muted:#64748b;--color-text-muted:#64748b;--line:#e2e8f0;--color-border:#e2e8f0;--accent:#2563eb;--color-accent:#2563eb;--accent-strong:#1d4ed8;--accent-soft:#2563eb14;--danger:#ef4444;--radius-sm:6px;--radius:10px;--radius-lg:14px;--font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Pretendard Variable", Pretendard, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 4px 12px -2px #0f172a0f, 0 2px 6px -1px #0f172a0a;--shadow-lg:0 12px 28px -4px #0f172a1a, 0 4px 12px -2px #0f172a0d}:root[data-theme=dark]{color-scheme:dark;--bg:#090d16;--bg-alt:#0f172a;--color-bg-card:#0f172a;--color-bg-alt:#131b2e;--surface:#0f172a;--surface-solid:#1e293b;--text:#f8fafc;--color-text:#f8fafc;--muted:#94a3b8;--color-text-muted:#94a3b8;--line:#1e293b;--color-border:#1e293b;--accent:#3b82f6;--color-accent:#3b82f6;--accent-strong:#60a5fa;--accent-soft:#3b82f626;--danger:#f87171;--shadow-sm:0 1px 2px 0 #0000004d;--shadow:0 4px 16px -2px #0006;--shadow-lg:0 16px 32px -4px #00000080}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--bg:#090d16;--bg-alt:#0f172a;--color-bg-card:#0f172a;--color-bg-alt:#131b2e;--surface:#0f172a;--surface-solid:#1e293b;--text:#f8fafc;--color-text:#f8fafc;--muted:#94a3b8;--color-text-muted:#94a3b8;--line:#1e293b;--color-border:#1e293b;--accent:#3b82f6;--color-accent:#3b82f6;--accent-strong:#60a5fa;--accent-soft:#3b82f626;--danger:#f87171}}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg);color:var(--text);font-family:var(--font-sans);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg);min-height:100vh;color:var(--text);flex-direction:column;line-height:1.6;display:flex}main{flex:1}a{color:inherit;text-decoration:none}.skip-link{background:var(--accent);color:#fff;z-index:999;border-radius:0 0 6px;padding:8px 16px;font-weight:600;transition:top .2s;position:absolute;top:-40px;left:0}.skip-link:focus{top:0}.site-header{z-index:100;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#ffffffd9;justify-content:space-between;align-items:center;padding:.85rem 2rem;transition:background .2s,border-color .2s;display:flex;position:sticky;top:0}:root[data-theme=dark] .site-header{background:#090d16d9}@media (prefers-color-scheme:dark){:root:not([data-theme]) .site-header{background:#090d16d9}}.wordmark{letter-spacing:-.02em;color:var(--text);align-items:center;gap:.6rem;font-size:1.15rem;font-weight:800;display:flex}.brand-mark{background:var(--accent);width:10px;height:10px;box-shadow:0 0 10px var(--accent);border-radius:50%;display:inline-block}.brand-title{color:var(--text)}.site-header nav{align-items:center;gap:.35rem;display:flex}.site-header nav a{color:var(--muted);border-radius:var(--radius-sm);padding:.45rem .85rem;font-size:.875rem;font-weight:500;transition:all .15s}.site-header nav a:hover{color:var(--text);background:var(--bg-alt)}.site-header nav a[aria-current=page]{color:var(--accent);background:var(--accent-soft);font-weight:600}.header-actions{align-items:center;gap:.75rem;display:flex}.icon-button{border:1px solid var(--line);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.95rem;transition:all .15s;display:inline-flex}.icon-button:hover{border-color:var(--accent);color:var(--accent)}.language-link{color:var(--muted);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.35rem .7rem;font-size:.8125rem;font-weight:600;transition:all .15s}.language-link:hover{color:var(--text);border-color:var(--accent)}.site-footer{border-top:1px solid var(--line);background:var(--bg-alt);margin-top:auto;padding:4rem 2rem 3rem}.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;max-width:1120px;margin:0 auto;display:grid}.brand-col .wordmark{margin-bottom:1rem}.footer-desc{color:var(--muted);max-width:360px;margin-bottom:1rem;font-size:.875rem;line-height:1.6}.copyright{color:var(--muted);font-size:.8125rem}.footer-heading{text-transform:uppercase;letter-spacing:.08em;color:var(--text);margin-bottom:1rem;font-size:.8125rem;font-weight:700}.footer-links{flex-direction:column;gap:.6rem;list-style:none;display:flex}.footer-links a{color:var(--muted);font-size:.875rem;transition:color .15s}.footer-links a:hover{color:var(--accent)}@media (width<=840px){.site-header{flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem}.site-header nav{order:3;width:100%;padding-top:.5rem;overflow-x:auto}.footer-grid{grid-template-columns:1fr;gap:2rem}}.article-layout{max-width:820px;margin:0 auto;padding:3rem 1.5rem 6rem}.article-header{border-bottom:1px solid var(--line);margin-bottom:3rem;padding-bottom:2rem}.article-category{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-bottom:.75rem;font-size:.8125rem;font-weight:700;display:inline-block}.article-title{letter-spacing:-.02em;color:var(--text);margin:0 0 1rem;font-size:2.25rem;font-weight:800;line-height:1.3}.article-lead{color:var(--muted);margin:0 0 1.5rem;font-size:1.125rem;line-height:1.7}.article-byline{color:var(--muted);align-items:center;gap:.6rem;font-size:.875rem;display:flex}.article-byline strong{color:var(--text)}.prose{color:var(--text);font-size:1.0625rem;line-height:1.8}.prose h2{letter-spacing:-.01em;border-top:1px solid var(--line);color:var(--text);margin:2.75rem 0 1rem;padding-top:1.5rem;font-size:1.625rem;font-weight:700}.prose h3{color:var(--text);margin:2rem 0 .75rem;font-size:1.25rem;font-weight:600}.prose p{color:var(--text);margin:0 0 1.5rem}.prose ul,.prose ol{margin:0 0 1.5rem;padding-left:1.6rem}.prose li{margin-bottom:.5rem}.prose strong{color:var(--text);font-weight:700}.prose pre{color:#e2e8f0;border-radius:var(--radius);font-family:var(--font-mono);background:#0f172a;border:1px solid #1e293b;margin:1.5rem 0;padding:1.25rem 1.5rem;font-size:.9375rem;line-height:1.6;overflow-x:auto}.prose code{font-family:var(--font-mono);font-size:.88em}.prose :not(pre)>code{background:var(--surface-solid);color:var(--accent);border:1px solid var(--line);border-radius:4px;padding:.2rem .45rem}.prose table{border-collapse:collapse;border-radius:var(--radius);border:1px solid var(--line);width:100%;margin:2rem 0;font-size:.9375rem;overflow:hidden}.prose th{background:var(--bg-alt);text-align:left;color:var(--text);border-bottom:1px solid var(--line);padding:.85rem 1rem;font-weight:600}.prose td{border-bottom:1px solid var(--line);color:var(--text);padding:.85rem 1rem}.prose tr:last-child td{border-bottom:none}.prose tr:hover td{background:var(--bg-alt)}.prose blockquote{border-left:4px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text);margin:1.5rem 0;padding:.75rem 1.25rem}.prose blockquote p:last-child{margin-bottom:0}
