/* Shared typography, navigation and article components. */
:root{--accent:#1714a1;--ink:#20202f;--muted:#59596b;--line:#dddde8;--paper:#fff;--tint:#eeedf9}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#f5f5f7;color:var(--ink);font:17px/1.85 -apple-system,BlinkMacSystemFont,"Segoe UI","Malgun Gothic",sans-serif;word-break:keep-all;overflow-wrap:anywhere}
a{color:var(--accent);text-underline-offset:.2em}
a:hover{text-decoration-thickness:2px}
a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
p{margin:0 0 1.1em}h1,h2,h3{line-height:1.4;letter-spacing:-.035em}h1{font-size:clamp(28px,4vw,42px);margin:0 0 22px}h2{font-size:clamp(24px,3vw,30px);margin:0 0 22px}h3{font-size:19px;margin:0 0 12px}ul,ol{padding-left:24px}li+li{margin-top:9px}strong{font-weight:700}code{font: .9em/1.5 Consolas,monospace;background:var(--tint);padding:2px 5px;border-radius:3px}
.wrap{width:min(100% - 48px,1080px);margin-inline:auto}.reading{max-width:820px}.site-header{padding:26px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{font-size:23px;font-weight:800;color:var(--ink);text-decoration:none}.site-header nav{display:flex;gap:24px;font-size:15px}.site-header nav a{text-decoration:none}.site-header [aria-current]{font-weight:700;text-decoration:underline}.site-main{padding-bottom:56px;min-height:60vh}.site-footer{border-top:1px solid var(--line);padding:28px 0;color:var(--muted);font-size:13px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.site-footer p{margin:0}.skip-link{position:absolute;left:12px;top:-100px;padding:10px;background:#fff;z-index:5}.skip-link:focus{top:12px}.eyebrow{font-size:12px;font-weight:750;letter-spacing:.12em;color:var(--accent);margin-bottom:16px}.small,.post-meta{font-size:13px;color:var(--muted)}.post-meta time{white-space:nowrap}.lead{font-size:19px;color:#454559}.page-heading{margin:36px 0}.breadcrumbs{font-size:13px;margin:28px 0;color:var(--muted)}.breadcrumbs ol{list-style:none;margin:0;padding:0;display:flex;gap:12px;flex-wrap:wrap}.breadcrumbs li+li{margin:0}.breadcrumbs li+li:before{content:"/";padding-right:12px}.section{padding:42px 0;border-top:1px solid var(--line)}.section>:last-child{margin-bottom:0}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.cards.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{padding:24px;background:var(--paper);border:1px solid var(--line);border-radius:10px}.card p{font-size:15px;color:var(--muted);margin-bottom:0}.section-tail{margin-top:22px;color:var(--muted);font-size:15px}.editor-note{padding:24px 28px;background:var(--tint);border-left:3px solid var(--accent);font-size:14px}.editor-note h2{font-size:19px;margin-bottom:12px}.editor-note p:last-child{margin-bottom:0}.post-card{padding:30px;background:var(--paper);border:1px solid var(--line);border-radius:12px;margin:30px 0 44px}.post-card h2{font-size:28px}.post-card h2 a{color:var(--ink);text-decoration:none}.post-card ul{font-size:15px}.post-card .text-link{font-weight:700}.article-content section{margin:40px 0}.article-content h2{font-size:27px}.article-content .editor-note h2{font-size:19px}.notice{padding:22px 26px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--accent);margin:28px 0;font-size:15px}.notice p{margin-top:10px}.notice p:last-child{margin-bottom:0}.toc{padding:24px 28px;border:1px solid var(--line);border-radius:8px;font-size:15px}.toc ol{margin-bottom:0}.table-wrap{overflow-x:auto;margin:28px 0}.table-wrap table{width:100%;border-collapse:collapse;text-align:left;font-size:14px;min-width:460px}.table-wrap caption{text-align:left;color:var(--muted);font-size:13px;margin-bottom:12px}.table-wrap th,.table-wrap td{padding:13px;border:1px solid var(--line);vertical-align:top}.table-wrap thead{background:var(--tint)}.table-wrap tbody{background:#fff}blockquote{margin:28px 0;padding:22px 26px;border-left:3px solid var(--accent);background:var(--tint);font-size:19px}blockquote p{margin:0}.steps{padding-left:26px}.steps li{padding-left:6px;margin-bottom:24px}.steps p{margin:8px 0 0}.technical-detail{border:1px solid var(--line);border-radius:8px;background:#fff}.technical-detail summary{padding:18px 22px;cursor:pointer;color:var(--accent);font-weight:650}.technical-detail div{padding:6px 22px 22px}.technical-detail h3{margin-top:20px}.article-back{border-top:1px solid var(--line);padding-top:26px;margin:36px 0 0}
@media(max-width:680px){body{font-size:16px}.wrap{width:calc(100% - 36px)}.site-header{padding:20px 0;gap:16px}.site-header nav{gap:16px}.brand{font-size:21px}.section{padding:30px 0}.cards,.cards.two{grid-template-columns:1fr}.card{padding:22px}.lead{font-size:18px}.post-card{padding:24px 20px}.post-card h2{font-size:24px}.editor-note,.notice,.toc{padding:20px}.article-content h2{font-size:24px}.article-content section{margin:32px 0}.site-footer{display:block}.site-footer p+p{margin-top:10px}}
