:root { --ink:#172028; --paper:#fffdf9; --sea:#0e6278; --sand:#f4eadb; --line:#d8d3c9; }
* { box-sizing:border-box; }
html, body { margin:0; max-width:100%; overflow-x:hidden; background:var(--paper); color:var(--ink); font-family:Georgia,serif; line-height:1.6; }
.shell, .article { width:calc(100% - 32px); max-width:980px; margin:auto; }
.site-header { background:#fff; border-bottom:1px solid var(--line); font-family:Arial,sans-serif; }
.site-header .shell { min-height:70px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { font-weight:800; color:var(--ink); text-decoration:none; font-size:1.1rem; }
.site-header nav { display:flex; flex-wrap:wrap; gap:15px; }
.site-header nav a, a { color:#075e7a; text-underline-offset:3px; }
.site-header nav a { text-decoration:none; font-size:.88rem; }
.kicker { font:700 .76rem Arial,sans-serif; text-transform:uppercase; letter-spacing:.1em; color:var(--sea); margin-top:40px; }
.article { padding-bottom:48px; }
h1 { font-size:clamp(2.25rem,6vw,4.6rem); line-height:1.04; letter-spacing:-.045em; margin:.2em 0; }
h2 { margin:2.3em 0 .45em; font-size:clamp(1.35rem,3vw,2rem); line-height:1.15; }
h3 { margin:0 0 .35em; font-size:1.05rem; }
.hero { margin:30px 0 38px; background:#dce8e7; }
.hero img { display:block; width:100%; height:auto; }
.lead { font-size:1.18rem; }
.answer-block, .final-check { border-left:5px solid var(--sea); background:#eef7f7; padding:16px 18px; margin:18px 0; }
.grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.card { padding:16px; background:#fff; border:1px solid var(--line); border-radius:5px; min-width:0; }
.card p { margin:0; }
.table-scroll { max-width:100%; overflow-x:auto; border:1px solid var(--line); }
table { width:100%; border-collapse:collapse; min-width:620px; }
th, td { padding:12px; text-align:left; vertical-align:top; border-bottom:1px solid var(--line); }
th { background:var(--sand); font-family:Arial,sans-serif; font-size:.82rem; }
.source-list { padding-left:20px; }
.source-list code { font-size:.78rem; overflow-wrap:anywhere; word-break:break-word; }
.site-footer { background:#162830; color:#eaf5f2; padding:26px 0; font-family:Arial,sans-serif; font-size:.9rem; }
.skip-link { position:absolute; left:-999px; }
.skip-link:focus { left:10px; top:10px; background:white; padding:8px; z-index:3; }
main, article, section, p, li, code { min-width:0; max-width:100%; overflow-wrap:anywhere; word-break:break-word; }
@media (max-width:640px) { .site-header .shell { align-items:flex-start; padding:15px 0; flex-direction:column; gap:6px; } .grid { grid-template-columns:1fr; } .article { width:calc(100% - 24px); } .lead { font-size:1.05rem; } }
