/* Layout and content styles — mobile first */
:root{--ink:#22323e;--muted:#65737e;--line:#e2e8ed;--paper:#fff;--background:#f6f8fa;--soft:#f0f4f6;--green:#168653;--red:#c94849;--container:1160px;--radius:14px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--background);color:var(--ink);font:400 16px/1.75 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:clip;-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:3px}a:hover{text-decoration-color:currentColor}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:3px solid #168653;outline-offset:3px}
.wrap{width:min(calc(100% - 32px),var(--container));margin-inline:auto}
.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}
.page-grid{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:22px;padding-top:28px;padding-bottom:55px}
.article-card,.sidebar-card,.author-card,.privacy-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 3px 18px rgba(22,43,58,.035)}
.article-card{padding:22px 18px;min-width:0}
.article-content{overflow-wrap:break-word;min-width:0}
.article-content>*:first-child{margin-top:0}
.article-content h2,.article-content h3{color:#1a2b37;line-height:1.3;letter-spacing:-.024em;font-weight:750}
.article-content h2{font-size:clamp(1.45rem,3.5vw,1.95rem);margin:43px 0 16px;padding-top:2px;scroll-margin-top:100px}
.article-content h3{font-size:clamp(1.11rem,2.5vw,1.32rem);margin:28px 0 12px}
.article-content p{margin:0 0 19px;color:#384955}
.article-content ul{padding-left:23px;margin:11px 0 23px;color:#384955}
.article-content li{padding-left:3px;margin-bottom:8px}
.table-scroll{max-width:100%;overflow-x:auto;overflow-y:hidden;margin:21px 0 27px;border:1px solid var(--line);border-radius:10px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.table-scroll table{width:100%;min-width:570px;border-collapse:collapse;border-spacing:0;line-height:1.55;font-size:.92rem}
.table-scroll td,.table-scroll th{padding:13px 15px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:normal}
.table-scroll th{background:#ecf1f4;font-weight:700;color:#203441;white-space:normal}
.table-scroll tbody tr:nth-child(even){background:#fafbfc}
.table-scroll tbody tr:last-child td{border-bottom:0}
.table-scroll tbody td:first-child{font-weight:650;color:#283a46}
.table-scroll:focus{outline:2px solid #bdc9d1;outline-offset:2px}
.sidebar{min-width:0;order:-1}
.sidebar-card{padding:17px 17px 16px}
.toc-title{display:flex;align-items:center;gap:10px;font-size:1rem;font-weight:750;color:#253846;margin:0}
.toc-title svg{width:18px;height:18px;flex:none}
.toc-list{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:0}
.toc-list a{display:block;border-left:2px solid var(--line);padding:7px 0 7px 12px;color:#596b77;text-decoration:none;font-size:.85rem;line-height:1.45;transition:color .15s,border-color .15s}
.toc-list a:hover,.toc-list a[aria-current="location"]{border-left-color:var(--green);color:var(--green)}
.toc-details summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;gap:12px}
.toc-details summary::-webkit-details-marker{display:none}
.toc-chevron{width:18px;height:18px;transition:transform .2s}
.toc-details[open] .toc-chevron{transform:rotate(180deg)}
.author-card{margin-top:22px;padding:22px 20px}
.author-heading{margin:0 0 15px;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:#6d7b85;font-weight:800}
.author-inner{display:flex;align-items:flex-start;gap:16px}
.avatar{display:flex;align-items:center;justify-content:center;flex:none;width:56px;height:56px;border-radius:50%;background:#edf1f4;border:1px solid #dce4e9;color:#344958;font-weight:800;font-size:1.1rem}
.author-name{font-size:1.13rem;font-weight:800;line-height:1.25;margin:0 0 8px}
.author-description{margin:0 0 9px;color:#546673;font-size:.94rem;line-height:1.7}
.author-email{font-size:.92rem;overflow-wrap:anywhere;color:#334f63}
.site-footer{background:#192c37;color:#dce5ea;padding:32px 0;margin-top:0}
.footer-inner{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:.88rem}
.footer-inner p{margin:0}
.footer-links{display:flex;flex-wrap:wrap;gap:16px}
.footer-links a{color:#edf2f5;text-decoration:none}
.footer-links a:hover{text-decoration:underline}
.privacy-layout{padding-top:28px;padding-bottom:60px}
.privacy-card{max-width:920px;padding:22px 19px;margin-inline:auto}
.privacy-card h2{font-size:clamp(1.3rem,3vw,1.62rem);line-height:1.35;margin:35px 0 12px}
.privacy-card h2:first-child{margin-top:0}
.privacy-card p,.privacy-card li{color:#42525e}
.privacy-card ul{padding-left:20px}
.privacy-card a{color:#2d596f}
.privacy-updated{color:#70808a;margin:0 0 24px;font-size:.91rem}
@media(min-width:640px){.article-card{padding:34px 35px}.sidebar-card{padding:22px}.author-card{padding:27px 28px}.privacy-card{padding:40px 42px}.footer-inner{flex-direction:row;align-items:center;justify-content:space-between}.page-grid{gap:26px}.wrap{width:min(calc(100% - 48px),var(--container))}}
@media(min-width:980px){.page-grid{grid-template-columns:minmax(0,1fr) 270px;gap:28px;padding-top:38px;padding-bottom:74px}.article-card{padding:39px 44px}.sidebar{order:0;position:sticky;top:98px}.toc-details summary{cursor:default;pointer-events:none}.toc-chevron{display:none}.toc-details:not([open]) .toc-list{display:grid}.toc-details:not([open]) .toc-list{margin-top:14px}.author-card{margin-top:28px}.privacy-layout{padding-top:38px}.site-footer{padding:37px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
