:root{--yellow:#ffcc00;--blue:#0033a0;--red:#ce1126;--ink:#171c27;--muted:#5c6470;--line:#dde2e8;--soft:#f3f6fa}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font:17px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
a{color:var(--blue);text-underline-offset:2px}
a:hover{color:var(--red)}
.container{width:min(100% - 36px,780px);margin-inline:auto}
.flag-strip{height:6px;background:linear-gradient(90deg,var(--yellow) 0 33.33%,var(--blue) 33.33% 66.66%,var(--red) 66.66%)}
.site-header{background:var(--blue);color:#fff;padding:14px 0}
.site-header .container{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.brand{display:inline-block;border-radius:6px;background:var(--yellow);padding:3px 10px;color:var(--ink);font-size:22px;font-weight:800;line-height:1.25;text-decoration:none}
.brand:hover{color:var(--ink)}
.site-descriptor{font-size:13px;opacity:.88}
main{padding-block:26px 54px}
.eyebrow{margin:0 0 10px;color:var(--red);font-size:13px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
h1{margin:0;color:var(--blue);font-size:clamp(29px,5vw,42px);line-height:1.16;letter-spacing:-.02em}
.article-meta{margin:16px 0 20px;color:var(--muted);font-size:14px}
.lead{margin:0 0 22px;font-size:20px;line-height:1.55;font-weight:540}
.hero{margin:18px 0 24px}
.hero img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:9px}
figcaption{margin-top:7px;color:var(--muted);font-size:12px}
.article-nav{border-left:5px solid var(--yellow);background:var(--soft);padding:13px 19px;margin:26px 0 34px}
.article-nav p{margin:0 0 5px;font-size:15px;font-weight:800}
.article-nav ul{margin:0;padding-left:20px;font-size:15px}
h2{margin:39px 0 12px;color:var(--blue);font-size:26px;line-height:1.25}
h3{margin:22px 0 6px;color:var(--blue);font-size:19px;line-height:1.3}
p{margin:0 0 17px}
strong{font-weight:750}
.table-scroll{overflow-x:auto;margin:22px 0 27px}
table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.45}
caption{text-align:left;margin-bottom:9px;font-weight:800}
th,td{border:1px solid var(--line);padding:11px 12px;text-align:left;vertical-align:top}
th{background:var(--soft);color:var(--blue)}
.checks{padding-left:23px;margin:20px 0}
.checks li{margin-bottom:13px;padding-left:5px}
.method{margin-top:38px;border-top:3px solid var(--yellow);padding-top:5px}
.author-bio{margin-top:36px;border:1px solid var(--line);border-radius:8px;background:var(--soft);padding:19px;font-size:15px}
.author-bio strong{display:block;font-size:17px}
.site-footer{border-top:5px solid var(--yellow);padding:20px 0;color:var(--muted);font-size:13px}
@media(max-width:620px){body{font-size:16px}.container{width:min(100% - 28px,780px)}.lead{font-size:18px}h2{font-size:23px}table{min-width:560px}.site-descriptor{display:none}}
