/* ----------------------------------------------------
   Minimal, framework‑free, responsive base stylesheet
   ---------------------------------------------------- */
:root{
    --bg:#fff;
    --text:#161617;
    --muted:#5b5c63;
    --brand:#0f6abf;
    --brand-contrast:#fff;
    --border:#e5e7eb;
    --code-bg:#f6f8fa;
    --maxw:85ch;
    --pad:1rem;
    --radius:8px; }
@media (prefers-color-scheme: dark){
    :root{ --bg:#0b0c0f; --text:#e7e7ea; --muted:#a0a1a7; --brand:#5aa9ff; --brand-contrast:#071018; --border:#252731; --code-bg:#0f1116; }
}

html{ font-size:clamp(16px,1.2vw+14px,18px); -webkit-text-size-adjust:100%; }
body{ margin:0; font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Helvetica Neue,Arial,"Apple Color Emoji","Segoe UI Emoji"; line-height:1.6; color:var(--text); background:var(--bg); }
.container{ max-width:var(--maxw); margin-inline:auto; padding:calc(var(--pad)*1.25) var(--pad); }
header.site-header{ border-bottom:1px solid var(--border); position:sticky; top:0; backdrop-filter:saturate(140%) blur(6px); background:color-mix(in oklab,var(--bg) 88%,transparent); z-index:20; }
.brand{ display:flex; align-items:baseline; gap:.5rem; flex-wrap:wrap; }
.brand a{ text-decoration:none; color:inherit; font-weight:700; }
.brand small{ color:var(--muted); font-weight:500; }
.skip-link{ position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }
.skip-link:focus{ position:static; width:auto; height:auto; padding:.5rem .75rem; background:var(--brand); color:var(--brand-contrast); border-radius:var(--radius); }

.image-in-text{
    width: 100%;
    height: auto;
}

nav.primary{ display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; }
nav.primary a{ text-decoration:none; color:var(--text); padding:.4rem .6rem; border-radius:var(--radius); }
nav.primary a[aria-current="page"], nav.primary a:hover{ background:var(--border); }
.nav-row{ display:grid; grid-template-columns:1fr auto; gap:1rem; align-items:center; }
#nav-toggle{ display:none; }
label[for="nav-toggle"]{ display:none; cursor:pointer; padding:.4rem .6rem; border:1px solid var(--border); border-radius:var(--radius); }

@media (max-width:760px)
{ nav.primary{ display:none; }
  #nav-toggle:checked + nav.primary{ display:flex; }
  label[for="nav-toggle"]{ display:inline-block; }
}

h1{ font-size:clamp(1.8rem,2.4vw+1rem,2.4rem); line-height:1.2; margin:1rem 0 .5rem; }
h2{ font-size:clamp(1.25rem,1.2vw+1rem,1.6rem); line-height:1.3; margin:1.25rem 0 .25rem; }
h3{ font-size:1.1rem; margin:1rem 0 .25rem; }
p{ margin:.5rem 0 1rem; }
strong{ font-weight:650; }
a{ color:var(--brand); }
blockquote{ border-inline-start:3px solid var(--border); margin:1rem 0; padding:.5rem 1rem; color:var(--muted); }
hr{ border:0; border-top:1px solid var(--border); margin:2rem 0; }
.muted{ color:var(--muted); }
.nowrap{ white-space:nowrap; }
.pill{ font-size:.85rem; padding:.1rem .5rem; border:1px solid var(--border); border-radius:999px; color:var(--muted); }
.breadcrumbs{ font-size:.9rem; color:var(--muted); display:flex; gap:.5rem; flex-wrap:wrap; }
.breadcrumbs a{ color:inherit; text-decoration:none; }
.card{ border:1px solid var(--border); border-radius:var(--radius); padding:.9rem; background:color-mix(in oklab,var(--bg) 94%,var(--border)); }
.callout{ border-left:4px solid var(--brand); padding:.75rem 1rem; border-radius:var(--radius); background:color-mix(in oklab,var(--brand) 8%,var(--bg)); }
.table{ width:100%; border-collapse:collapse; }
.table th,.table td{ border:1px solid var(--border); padding:.5rem .6rem; text-align:left; vertical-align:top; }
.table th{ background:color-mix(in oklab,var(--bg) 92%,var(--border)); font-weight:650; }
.table caption{ text-align:left; font-weight:600; margin:.5rem 0; }
.scroll-x{ overflow-x:auto; }
pre,code,kbd{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace; }
code{ background:var(--code-bg); border:1px solid var(--border); border-radius:6px; padding:.1rem .3rem; }
pre{ background:var(--code-bg); border:1px solid var(--border); border-radius:var(--radius); padding:.75rem; overflow-x:auto; }
figure{ margin:1rem 0; }
figcaption{ font-size:.9rem; color:var(--muted); }
.footnotes{ border-top:1px solid var(--border); margin-top:2rem; padding-top:1rem; font-size:.95rem; }
footer.site-footer{ border-top:1px solid var(--border); margin-top:3rem; font-size:.95rem; color:var(--muted); }

@media print{ header.site-header,.skip-link,.breadcrumbs,label[for="nav-toggle"]{ display:none!important; } a[href^="http"]::after{ content:" (" attr(href) ")"; font-size:.9em; color:var(--muted);} .container{ max-width:100%; } }

