/* Basecamp Pi design system v2 (3 Nov 2026). Light only, system fonts, no external requests.
   Served locally as /assets/ds.css?v=2 (bump ?v= when this file changes). Spec: build/design/design-system.md */
:root{color-scheme:light only;--bg:#f2ece2;--surface:#f7f3ec;--tx:#1b1914;--tx2:#4e473e;--tx3:#6a6156;--line:#d9d0c3;--line2:#c9beae;--ac:#1f3b31;--ac-soft:#e6efe8;--red:#b91c1c;--red-soft:#fef2f2;--red-line:#fecaca;--ok:#15803d;--ok-soft:#f0fdf4;--ok-line:#bbf7d0;--warn:#a16207;--warn-soft:#fffbeb;--warn-line:#fde68a;--na:#efe8dc;
--r-lg:16px;--r:12px;--r-sm:10px;--sh:0 1px 2px rgba(27,25,20,.05),0 6px 20px -6px rgba(27,25,20,.10);--sh-sm:0 1px 2px rgba(27,25,20,.05);
--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;
--f:-apple-system,BlinkMacSystemFont,system-ui,"Segoe UI",Roboto,"Inter","Helvetica Neue",Arial,sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{background:var(--bg);color:var(--tx);font:400 17px/1.6 var(--f);-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body{margin:0;overflow-wrap:break-word}
a{color:var(--ac);text-decoration-thickness:1px;text-underline-offset:3px}
:focus-visible{outline:3px solid var(--ac);outline-offset:2px;border-radius:6px}
b,strong{font-weight:650}
img{max-width:100%}
.wrap{max-width:640px;margin:0 auto;padding:0 calc(env(safe-area-inset-right) + 20px) 0 calc(env(safe-area-inset-left) + 20px)}

/* sticky top bar: back left, title centre, Home right */
header.bar{position:sticky;top:0;z-index:10;background:rgba(242,236,226,.92);-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top)}
header.bar .wrap{display:flex;align-items:center;justify-content:space-between;height:52px}
header.bar a{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:44px;min-width:44px;padding:0 6px;margin:0 -6px;font-size:15px;font-weight:600;color:var(--ac);text-decoration:none;border-radius:var(--r-sm);white-space:nowrap}
header.bar a.homeic{color:var(--tx2)}
header.bar a:active{background:var(--ac-soft)}
header.bar .ttl{flex:1;min-width:0;text-align:center;font-size:15px;font-weight:600;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 var(--s2)}
header.bar .sp0{min-width:44px}
header.bar svg{width:20px;height:20px;flex:none}

/* page intro */
.intro{padding:var(--s6) 0 var(--s4)}
.intro.ic{display:flex;align-items:center;gap:var(--s4)}
.intro .tile{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:var(--ac-soft);color:var(--ac);flex:none}
.intro .tile svg{width:28px;height:28px}
.eyebrow{margin:0 0 var(--s2);font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--tx3)}
h1{margin:0;font-size:32px;line-height:1.15;font-weight:700;letter-spacing:-.02em}
.sub,.intro p{margin:var(--s2) 0 0;font-size:17px;color:var(--tx2)}
h2{margin:var(--s6) 0 var(--s3);font-size:22px;line-height:1.25;font-weight:700;letter-spacing:-.01em;scroll-margin-top:72px}
h3{margin:var(--s5) 0 var(--s2);font-size:18px;line-height:1.3;font-weight:650}
h4{margin:var(--s4) 0 var(--s1);font-size:16px;font-weight:650}
.lbl,h2.lbl{margin:var(--s6) var(--s1) var(--s3);font-size:13px;line-height:1.4;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--tx3)}
p{margin:0 0 var(--s3)}
ul,ol{margin:0 0 var(--s3);padding-left:22px} li{margin:0 0 var(--s2)}
li::marker{color:var(--tx3)}
main{display:block;padding-bottom:var(--s5)}

/* jump nav (pills) */
nav.jump{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:var(--s2) 0 var(--s4)}
nav.jump.q4{grid-template-columns:repeat(4,1fr)}
nav.jump a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:44px;padding:4px 8px;border-radius:999px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-sm);font-size:14px;line-height:1.25;font-weight:600;color:var(--tx);text-decoration:none}
nav.jump.q4 a{white-space:nowrap;padding:0 4px}
nav.jump a:last-child:nth-child(odd){grid-column:span 2}
nav.jump.q4 a:last-child:nth-child(odd){grid-column:auto}
nav.jump a:active{background:var(--ac-soft);border-color:var(--ac)}

/* cards, section headings */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh);padding:var(--s5)}
.card>:last-child{margin-bottom:0}
div.sh{display:flex;align-items:center;gap:var(--s3);margin:var(--s6) 0 var(--s3);scroll-margin-top:72px}
div.sh h2{margin:0}
.sh .ic{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--r-sm);background:var(--ac-soft);color:var(--ac);flex:none}
.cite{display:block;margin-top:var(--s1);font-size:13px;line-height:1.5;color:var(--tx3)}
.cite a{color:var(--tx3)}

/* 000 hero */
.hero{background:var(--surface);border:1px solid var(--red-line);border-radius:var(--r-lg);box-shadow:0 1px 2px rgba(185,28,28,.06),0 10px 30px -10px rgba(185,28,28,.25);overflow:hidden;margin:var(--s2) 0 var(--s5)}
.hero .top{background:var(--red);color:#fff;padding:var(--s5)}
.hero .top .lbl{display:flex;align-items:center;gap:var(--s2);margin:0 0 var(--s3);font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#fff;opacity:.92}
.call0{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);min-height:88px;padding:var(--s3) var(--s3) var(--s3) var(--s5);border-radius:var(--r);background:#fff;color:var(--red);text-decoration:none;box-shadow:0 2px 0 rgba(0,0,0,.12)}
.call0 .n{font-size:56px;line-height:1;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:inherit}
.call0 .go{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--red);color:#fff;flex:none}
.call0 .go svg{width:26px;height:26px}
.call0:active{transform:scale(.99)}
.hero .who{margin:var(--s3) 0 0;font-size:19px;font-weight:650;color:inherit}
.hero .body{padding:var(--s5)}
.hero .body>:last-child{margin-bottom:0}
.hero .body li a{font-weight:650}

/* tables and phone numbers */
table{border-collapse:separate;border-spacing:0;width:100%;margin:0 0 var(--s3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh);overflow:hidden}
.tblcard{padding:0;overflow:hidden}
.tblcard table{border:0;border-radius:0;box-shadow:none;margin:0}
th{padding:var(--s3) var(--s4);text-align:left;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--tx3);background:#f3eee6;border-bottom:1px solid var(--line)}
td{padding:var(--s3) var(--s4);border-bottom:1px solid var(--line);vertical-align:top;font-size:16px;line-height:1.45}
tr:last-child td{border-bottom:0}
.num td,.tblcard td{vertical-align:middle}
.num td:last-child,.tblcard td:last-child{text-align:right;white-space:nowrap;padding-left:var(--s2);width:1%}
.num td:last-child a{font-weight:650}
.tel{display:inline-flex;align-items:center;gap:5px;min-height:44px;padding:0 10px;margin:2px 0;font-size:15px;border-radius:var(--r-sm);background:var(--ac-soft);color:var(--ac);font-weight:650;font-variant-numeric:tabular-nums;text-decoration:none;white-space:nowrap}
.tel:active{filter:brightness(.95)}
.nums{display:flex;flex-direction:column;align-items:flex-end;gap:var(--s2)}
.tin{font-weight:650;color:var(--ac);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;padding:6px 1px;font-variant-numeric:tabular-nums;white-space:nowrap}
.tin:active{background:var(--ac-soft);border-radius:6px}
tr.danger td{background:var(--red-soft)}
tr.danger td:first-child{font-weight:650;color:var(--red)}
tr.danger .tel{background:var(--red);color:#fff}
.after{margin:var(--s3) var(--s1) 0}

/* footer + sources */
footer{padding:var(--s2) 0 calc(env(safe-area-inset-bottom) + var(--s7));color:var(--tx2)}
.h-src{font-size:17px;margin:var(--s6) 0 var(--s2);scroll-margin-top:72px}
footer .lede{font-size:14px;color:var(--tx2)}
footer .lede b{display:none}
ol.srcs{list-style:none;padding:0;margin:var(--s4) 0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh);overflow:hidden}
ol.srcs li{margin:0;padding:var(--s3) var(--s4);border-bottom:1px solid var(--line);font-size:13px;line-height:1.55;color:var(--tx2);word-break:break-word;scroll-margin-top:72px}
ol.srcs li:last-child{border-bottom:0}
ol.srcs li b{color:var(--tx);font-weight:600}
ol.srcs li:target{background:var(--ac-soft)}
ol.srcs a{display:inline-flex;align-items:center;min-height:44px}
footer .home a,.foot a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;text-decoration:none;min-width:44px;justify-content:center}
.foot{margin:var(--s6) 0 0;padding:0 0 calc(env(safe-area-inset-bottom) + var(--s5));text-align:center;font-size:14px;color:var(--tx3)}
.foot a{padding:0 4px;min-width:44px;justify-content:center}

/* link lists (rows with chevron) */
.l{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh);overflow:hidden}
.l .r{display:flex;align-items:center;gap:var(--s3);min-height:64px;padding:var(--s3) var(--s4);border-top:1px solid var(--line);color:var(--tx);text-decoration:none;background:var(--surface)}
.l .r:first-child{border-top:0}
.l .r:active{background:var(--ac-soft)}
.l .r>div{flex:1;min-width:0}
.l .r b{display:block;font-size:17px;font-weight:600;line-height:1.35}
.l .r span{display:block;font-size:14px;line-height:1.4;color:var(--tx2);margin-top:2px}
.l a.r:after{content:"";width:8px;height:8px;border:solid var(--tx3);border-width:2px 2px 0 0;transform:rotate(45deg);flex:none;margin-right:4px}
.l .r.na{background:var(--na);color:var(--tx3)}
.l .r.na b{color:var(--tx2)}
.l .r.na em{flex:none;font-style:normal;font-size:12px;font-weight:600;letter-spacing:.02em;border:1px solid var(--line2);border-radius:999px;padding:2px 10px;color:var(--tx3);background:var(--surface)}
.note{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh);padding:var(--s4) var(--s5);margin:0 0 var(--s4);font-size:15px;color:var(--tx2)}
.note b{color:var(--tx)}
.note code{font:13px var(--mono);background:var(--na);padding:1px 5px;border-radius:5px;word-break:break-all}

/* tiles */
.g{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}
.t{display:flex;flex-direction:column;justify-content:space-between;gap:var(--s3);min-height:128px;padding:var(--s4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh);color:var(--tx);text-decoration:none}
.t:active{background:var(--ac-soft);border-color:var(--ac)}
.t>svg{width:40px;height:40px;padding:9px;border-radius:var(--r-sm);background:var(--ac-soft);color:var(--ac);flex:none}
.t b{display:block;font-size:17px;line-height:1.25;font-weight:650}
.t span{display:block;margin-top:3px;font-size:14px;line-height:1.35;color:var(--tx2)}
.t.w{grid-column:span 2;min-height:84px;flex-direction:row;align-items:center;justify-content:flex-start;gap:var(--s4)}
.t.na{background:var(--na);color:var(--tx3);box-shadow:none}.t.na>svg{color:var(--tx3);background:var(--line)}

/* search inputs */
.sbox{display:flex;gap:var(--s2);align-items:center}
.sbox input,.p-search #q{flex:1;min-width:0;height:52px;border:1px solid var(--line2);border-radius:var(--r);background:var(--surface);color:var(--tx);font:inherit;font-size:17px;padding:0 var(--s4);box-shadow:var(--sh-sm);-webkit-appearance:none;appearance:none;outline:none}
.sbox input::placeholder{color:var(--tx3)}
.sbox input:focus{border-color:var(--ac);box-shadow:0 0 0 3px rgba(31,59,49,.28)}
.sbox button{flex:none;height:52px;min-width:52px;padding:0 var(--s4);border:0;border-radius:var(--r);background:var(--ac);color:#fff;font:600 16px var(--f);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.sbox button:active{background:#173026}
.sbox button svg{width:22px;height:22px}
.btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;margin-top:var(--s3);padding:8px 18px;border:0;border-radius:var(--r);background:var(--ac);color:#fff;font:600 17px var(--f);cursor:pointer;text-decoration:none}
.btn:active{background:#173026}
.btn:disabled{background:var(--line2);color:var(--tx2)}
.btn.o{background:var(--surface);color:var(--tx);border:1px solid var(--line2)}
.btn.r{background:var(--red)}

/* ---------- home + category pages ---------- */
.p-home .intro{display:flex;align-items:center;gap:var(--s4);padding:calc(env(safe-area-inset-top) + var(--s6)) 0 var(--s5)}
.p-home .intro>svg{width:48px;height:48px;flex:none}
.p-home .sq{margin:0 0 var(--s5)}
.p-home h2,.p-cat main>h2{margin:var(--s6) var(--s1) var(--s3);font-size:13px;line-height:1.4;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--tx3)}
.p-home .g{margin-top:var(--s5)}
.au{background:var(--surface);border:1px solid var(--red-line);border-radius:var(--r-lg);box-shadow:0 1px 2px rgba(185,28,28,.06),0 10px 30px -10px rgba(185,28,28,.25);overflow:hidden}
.au .top{background:var(--red);color:#fff;padding:var(--s4) var(--s4) var(--s4)}
.au .top p{margin:var(--s3) var(--s1) 0;font-size:15px;line-height:1.45;font-weight:500}
.au .call0{min-height:76px}.au .call0 .n{font-size:48px}
.au>a.x,.au>div.x{display:block;padding:var(--s4) var(--s5);color:var(--tx);text-decoration:none}
.au>a.x b,.au>div.x b{display:block;font-size:19px;font-weight:700}
.au>a.x span,.au>div.x span{display:block;font-size:14px;line-height:1.4;color:var(--tx2);margin-top:2px}
.au>a.x:active{background:var(--ac-soft)}
.au nav{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--line)}
.au nav a,.au nav span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:52px;padding:6px;font-size:15px;font-weight:600;color:var(--ac);border-left:1px solid var(--line);text-decoration:none}
.au nav span{color:var(--tx3);background:var(--na);font-size:14px;line-height:1.2}
.au nav :first-child{border-left:0}
.au nav a:active{background:var(--ac-soft)}
.sp{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh);overflow:hidden}
.sp dl{display:grid;grid-template-columns:1fr 1fr;margin:0}
.sp dl div{padding:var(--s3) var(--s4);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.sp dl div:nth-child(-n+2){border-top:0}.sp dl div:nth-child(odd){border-left:0}
.sp dt{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--tx3)}
.sp dd{margin:0;font-size:18px;font-weight:650;font-variant-numeric:tabular-nums}
.sp dd.bad{color:var(--red)}
.sp>a{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:var(--s3) var(--s4);border-top:1px solid var(--line);font-weight:600;color:var(--ac);text-decoration:none}
.sp>a:active{background:var(--ac-soft)}
.p-home main,.p-cat main{padding-bottom:0}
.p-home .foot,.p-cat .foot{padding-bottom:calc(env(safe-area-inset-bottom) + 96px)}
form.dock{position:fixed;left:0;right:0;bottom:0;z-index:9;margin:0;padding:10px calc(env(safe-area-inset-right) + 16px) calc(env(safe-area-inset-bottom) + 10px) calc(env(safe-area-inset-left) + 16px);background:rgba(242,236,226,.94);-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);border-top:1px solid var(--line)}
form.dock .sbox{max-width:600px;margin:0 auto}
form.dock input,form.dock button{height:48px}form.dock button{min-width:48px;padding:0}

/* ---------- guide pages (/au/*.html, FM 21-76) ---------- */
.p-guide main>h2{margin:var(--s6) 0 var(--s3)}
.p-guide section{margin:0 0 var(--s5)}
.box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh);padding:var(--s4) var(--s5);margin:0 0 var(--s4)}
.box>:last-child{margin-bottom:0}
.box>h3:first-child{margin-top:0}
.box.call{border-color:var(--red-line);background:var(--red-soft)}
.box.call .n{font-size:40px;line-height:1;font-weight:800;color:var(--red);letter-spacing:-.02em}
.box.call a.n{text-decoration:none}
.box.do{border-color:var(--ok-line);background:var(--ok-soft);box-shadow:none}
.box.do>h3:first-child{color:var(--ok)}
.box.dont{border-color:var(--red-line);background:var(--red-soft);box-shadow:none}
.box.dont>h3:first-child{color:var(--red)}
.box.warn{border-color:var(--warn-line);background:var(--warn-soft);box-shadow:none}
.tag{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;border:1px solid currentColor;border-radius:999px;padding:1px 9px;margin:0 4px 2px 0}
.p-guide footer{margin-top:var(--s6);border-top:1px solid var(--line);padding-top:var(--s4);font-size:14px}
.p-guide footer>ol:not(.srcs){padding-left:20px}
.p-guide footer>ol:not(.srcs) li{word-break:break-word}
.fig{margin:var(--s4) 0;text-align:center}.fig img{max-width:100%;height:auto;background:#fff;border-radius:var(--r-sm);border:1px solid var(--line)}
.mtxt{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh);padding:var(--s4) var(--s5)}
.mtxt p{margin:0 0 .8em}.mtxt li{margin:0 0 .4em}.mtxt h2{margin:1.3em 0 .5em;font-size:20px}.mtxt h3{font-size:17px;margin:1.1em 0 .4em}
.mtxt .ind{margin-left:1.2em}
.pg{display:block;text-align:right;font-size:12px;color:var(--tx3);margin:.4em 0}
.pn{display:flex;gap:var(--s2);margin:var(--s4) 0}
.pn a{flex:1;min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center;padding:6px 10px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-sm);font-weight:600;font-size:15px;color:var(--ac);text-decoration:none}
.pn a:active{background:var(--ac-soft)}
ul.toc{list-style:none;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh);overflow:hidden}
ul.toc li{margin:0;border-top:1px solid var(--line)}ul.toc li:first-child{border-top:0}
ul.toc a{display:flex;align-items:center;min-height:52px;padding:var(--s3) var(--s4);font-weight:600;color:var(--tx);text-decoration:none}
ul.toc a:active{background:var(--ac-soft)}

/* ---------- Australia index + hospitals (/au/, /au/hospitals/) ---------- */
.p-au .g .t{min-height:96px;justify-content:center;gap:2px}
.p-au .s{font-size:14px;color:var(--tx2)}
.p-au .s b{white-space:nowrap}
.p-au main>h2,.p-au .wrap>h2{margin:var(--s6) var(--s1) var(--s3);font-size:13px;line-height:1.4;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--tx3)}
.q{margin-top:var(--s5);background:var(--surface);border:1px solid var(--red-line);border-radius:var(--r-lg);box-shadow:0 1px 2px rgba(185,28,28,.06),0 10px 30px -10px rgba(185,28,28,.25);overflow:hidden}
.p-au h2.qh{margin:0;padding:var(--s3) var(--s5);background:var(--red);color:#fff;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.p-au .k{padding:var(--s4) var(--s5);border-top:1px solid var(--line)}.p-au .k:first-of-type{border-top:0}
.p-au .k h3{margin:var(--s1) 0 var(--s2)}
.p-au .k p,.p-au .k ul,.p-au .k ol{margin:var(--s2) 0}.p-au .k li{margin:4px 0}
.p-au .k p.big{margin:var(--s1) 0 var(--s2)}
.p-au .big{font-size:19px;font-weight:600}.p-au .big a{font-size:40px;line-height:1.1;font-weight:800;color:var(--red);margin-right:6px;text-decoration:none;letter-spacing:-.02em}
.p-au table{font-size:15px;box-shadow:none;border-radius:var(--r)}
.p-au td{padding:var(--s2) var(--s3);font-size:15px}
.p-au td:first-child{width:60%}
.p-au td:last-child{font-weight:650;text-align:right}
.p-au td:last-child a:not(.c){white-space:nowrap}
.p-au td small{font-weight:400;color:var(--tx2)}
.p-au tr.sh td{background:#f3eee6;font-weight:650;text-align:left;width:auto;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--tx3)}
.p-au .w{background:var(--red-soft);border:1px solid var(--red-line);border-radius:var(--r);padding:var(--s3) var(--s4);font-weight:600;color:var(--red)}
.p-au .tag{font-size:13px;text-transform:none;letter-spacing:0;border:1px solid var(--tx);color:var(--tx);border-radius:6px;margin:3px 6px 3px 0}
.p-au .tag.y{background:#fde047}.p-au .tag.o{background:#fb923c}.p-au .tag.r{background:var(--red);border-color:var(--red);color:#fff}
.p-au a.c,.p-au .c{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:44px;height:44px;margin:-11px -8px -11px -4px;padding:11px 8px;font-size:12px;font-weight:650;line-height:1;text-align:center;color:var(--ac);background:var(--ac-soft) content-box;border-radius:999px;vertical-align:middle;text-decoration:none;letter-spacing:0}
.p-au .big a.c{font-size:12px;color:var(--ac);margin:-11px -8px -11px -4px}
.p-au details{margin:var(--s3) 0}
.p-au summary{display:flex;align-items:center;min-height:52px;padding:var(--s2) var(--s4);font-size:17px;font-weight:650;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-sm)}
.p-au details[open]>summary{margin-bottom:var(--s3)}
.p-au .src{font-size:14px;padding-left:24px}.p-au .src li{margin:6px 0}.p-au .src span{color:var(--tx3);word-break:break-all}.p-au .src a{font-weight:600}
.p-au .st{display:inline-block;font-size:12px;font-weight:650;padding:0 6px;border:1px solid var(--line2);border-radius:6px;background:var(--surface);color:var(--tx2);vertical-align:1px;white-space:nowrap}
.p-au .na{color:var(--tx3);font-weight:500;font-style:italic}
.l .r span.m{font-size:13px;margin-top:2px}
.p-au .gi{margin:-4px 4px 10px}
ul.lv{list-style:none;padding-left:0}ul.lv li{margin:8px 0}

/* ---------- search ---------- */
.p-search .sbox{margin:var(--s4) 0 0}
.p-search #s{margin:var(--s4) var(--s1) var(--s3);font-size:15px;font-weight:600;color:var(--tx2)}
.p-search ol{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh);overflow:hidden}
.p-search ol:empty{display:none}
.p-search li{margin:0;border-top:1px solid var(--line)}.p-search li:first-child{border-top:0}
.p-search li>a{display:block;padding:var(--s4);color:var(--tx);text-decoration:none}
.p-search li>a:active{background:var(--ac-soft)}
.p-search h3{margin:0 0 4px;font-size:17px;font-weight:650;line-height:1.35;color:var(--ac)}
.p-search .k{display:inline-block;padding:1px 9px;margin-bottom:6px;font-size:12px;font-weight:600;letter-spacing:.04em;border:1px solid var(--line2);border-radius:999px;color:var(--tx2);background:#f3eee6;border-top:1px solid var(--line2)}
.p-search li p{margin:0;font-size:15px;line-height:1.5;color:var(--tx2);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.p-search li p strong{font-weight:650;color:var(--tx)}
.p-search #more,.p-search #pmore{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin-top:var(--s3);padding:0 var(--s4);border:0;border-radius:var(--r);background:var(--ac);color:#fff;font:600 16px/1.2 var(--f);cursor:pointer}
.p-search #pmore{background:var(--surface);color:var(--ac);border:1px solid var(--line2)}
.p-search [hidden]{display:none!important}
.p-search #g{margin-top:var(--s5)}
.p-search #g h2{margin:0 var(--s1) var(--s3);font-size:19px}
.p-search #g h2 small{font-size:14px;font-weight:500;color:var(--tx2)}
.p-search #j{display:inline-flex;align-items:center;min-height:44px;margin:0 var(--s1) var(--s2);font-weight:600}
.p-search .pm{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--tx3)}
.p-search .pp{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center;padding:0 var(--s4) var(--s4);font-size:14px;font-weight:600;color:var(--tx3)}
.p-search .pp a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 12px;border:1px solid var(--line2);border-radius:999px;color:var(--ac);font-weight:600;text-decoration:none;background:var(--surface)}
.p-search .pp a:active{background:var(--ac-soft)}

/* ---------- stats ---------- */
.p-stats .g{gap:var(--s3)}
.p-stats .c{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh);padding:var(--s4)}
.p-stats .c.w{grid-column:span 2}
.p-stats .c small{display:block;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--tx3)}
.p-stats .n{font-size:30px;font-weight:700;line-height:1.15;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.p-stats .n i{font-style:normal;font-size:16px;font-weight:600;color:var(--tx3);margin-left:3px}
.p-stats .s{font-size:14px;color:var(--tx2);font-variant-numeric:tabular-nums}
.p-stats div.bar{height:8px;border-radius:999px;overflow:hidden;margin:var(--s2) 0 4px;background:var(--line)}
.p-stats div.bar b{display:block;height:100%;width:0;background:var(--ac);border-radius:999px;transition:width .4s}
.p-stats div.bar b.w{background:var(--warn)}.p-stats div.bar b.x{background:var(--red)}
.p-stats .cores{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s2);margin-top:var(--s2)}
.p-stats .cores div{font-size:13px;font-weight:600;text-align:center;font-variant-numeric:tabular-nums;color:var(--tx2)}
.p-stats .cores div.bar{height:6px;margin:4px 0 0}
.p-stats h2{margin:var(--s6) var(--s1) var(--s3);font-size:13px;line-height:1.4;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--tx3)}
.p-stats .row{display:flex;align-items:center;gap:var(--s3);min-height:56px;padding:var(--s3) var(--s4);border-top:1px solid var(--line)}
.p-stats .row:first-child{border-top:0}
.p-stats .row div{flex:1;min-width:0}.p-stats .row b{display:block;font-size:16px;font-weight:600}
.p-stats .pill{flex:none;font-size:13px;font-weight:600;border:1px solid currentColor;border-radius:999px;padding:2px 10px}
.p-stats .ok{color:var(--ok)}.p-stats .warn{color:var(--warn)}.p-stats .bad{color:var(--red)}
.p-stats #pw{font-weight:600}.p-stats #pw ul{margin:6px 0 0;padding-left:22px;font-weight:500}
.p-stats .wifi{border-color:var(--line2)}.p-stats .wifi small{margin-top:4px}
.p-stats .big{font-size:26px;font-weight:700;line-height:1.25;word-break:break-all;margin:0 0 var(--s3);font-family:var(--mono);color:var(--tx)}.p-stats .big.pw{font-size:30px;letter-spacing:.04em}
.p-stats details{margin-top:var(--s4);border-top:1px solid var(--line);padding-top:var(--s2)}
.p-stats summary{font-weight:600;color:var(--ac);min-height:44px;display:flex;align-items:center;cursor:pointer}
.p-stats #wf label{display:block;font-weight:600;margin-top:var(--s3)}
.p-stats #wf input[type=password],.p-stats #wf input[type=text]{display:block;width:100%;height:52px;margin-top:4px;border:1px solid var(--line2);border-radius:var(--r);padding:0 14px;font:600 19px var(--mono);color:var(--tx);background:var(--surface)}
.p-stats #wf input:focus{outline:none;border-color:var(--ac);box-shadow:0 0 0 3px rgba(31,59,49,.28)}
.p-stats #wf .sh{display:flex;align-items:center;gap:10px;font-weight:500;min-height:44px}.p-stats #wf .sh input{width:24px;height:24px}
.p-stats #wb{margin-top:var(--s4);width:100%;height:52px;border:0;border-radius:var(--r);background:var(--ac);color:#fff;font:600 17px var(--f)}.p-stats #wb:disabled{background:var(--line2);color:var(--tx2)}
.p-stats #wm{margin-top:var(--s3);font-weight:600}.p-stats #wm.ok{color:var(--ok);font-size:18px}.p-stats #wm.bad{color:var(--red)}
.p-stats #st{font-size:14px;font-weight:500;color:var(--tx3);margin:var(--s5) var(--s1) 0;text-align:center}
.p-stats #updc .row{align-items:flex-start;padding-left:0;padding-right:0}.p-stats #updc .row b{overflow-wrap:anywhere}.p-stats #updc .row input[type=checkbox]{width:28px;height:28px;margin-top:2px;flex:none}
.p-stats .un{font-size:14px;font-weight:500;color:var(--tx2);margin-top:4px}.p-stats .un b{display:inline;font-size:14px;color:var(--tx)}
.p-stats .flag{display:inline-block;font-size:12px;font-weight:600;color:#fff;background:var(--warn);border-radius:6px;padding:0 6px;margin-left:6px;vertical-align:2px}
.p-stats .flag.x{background:var(--red)}
.p-stats .note{border:1px solid var(--red-line);background:var(--red-soft);color:var(--tx);border-radius:var(--r);padding:var(--s3) var(--s4);margin:var(--s3) 0 0;font-weight:600;box-shadow:none;font-size:16px}
.p-stats .note.i{border-color:#bfdbfe;background:var(--ac-soft)}.p-stats .note.k{border-color:var(--ok-line);background:var(--ok-soft)}
.p-stats .tot{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--s2);margin-top:var(--s3)}.p-stats .tot div{border:1px solid var(--line);border-radius:var(--r);padding:var(--s2) 10px;background:#f3eee6}
.p-stats .tot b{display:block;font-size:19px;font-variant-numeric:tabular-nums}.p-stats .tot small{font-size:12px}
.p-stats .rt label{display:flex;gap:10px;align-items:flex-start;font-weight:600;margin-top:var(--s2);min-height:44px}.p-stats .rt input{width:24px;height:24px;flex:none}
.p-stats dialog{border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 20px 50px -12px rgba(27,25,20,.35);max-width:600px;width:calc(100% - 24px);padding:var(--s5);color:var(--tx);background:var(--surface)}
.p-stats dialog::backdrop{background:rgba(27,25,20,.45)}.p-stats dialog h3{margin:0 0 var(--s2);font-size:20px}.p-stats dialog ul{padding-left:20px;margin:6px 0}
.p-stats dialog li{margin:6px 0;font-weight:500}.p-stats dialog .ack{display:flex;gap:10px;align-items:flex-start;font-weight:650;margin-top:var(--s3)}
.p-stats dialog .ack input{width:28px;height:28px;flex:none}
.p-stats #upm{margin-top:var(--s3);font-weight:600}.p-stats #upm.bad{color:var(--red)}.p-stats #upm.ok{color:var(--ok)}

/* ---------- not found ---------- */
.p-nf .acts{display:flex;flex-wrap:wrap;gap:var(--s2)}
.p-nf .acts a{display:inline-flex;align-items:center;min-height:48px;padding:0 var(--s5);border-radius:var(--r);background:var(--surface);border:1px solid var(--line2);font-weight:600;text-decoration:none}
.p-nf .acts a:first-child{background:var(--ac);border-color:var(--ac);color:#fff}

@media (min-width:600px){h1{font-size:40px}.intro{padding-top:var(--s7)}}
@media (max-width:359px){.g{grid-template-columns:1fr}.t.w{grid-column:auto}nav.jump.q4{grid-template-columns:repeat(2,1fr)}}
@media print{
 :root{--bg:#fff;--sh:none;--sh-sm:none;--ac:#000;--tx2:#222;--tx3:#444;--red:#000;--red-soft:#fff;--ac-soft:#fff;--ok-soft:#fff;--warn-soft:#fff;--na:#fff}
 html{font-size:10.5pt;background:#fff;color:#000}
 header.bar,nav.jump,.sh .ic,.call0 .go,.tel svg,.intro .tile,form.dock,.sq,.pn,.t>svg,.l a.r:after{display:none!important}
 .wrap{max-width:none;padding:0} .intro{padding:0 0 8pt} h1{font-size:20pt} h2{break-after:avoid;margin-top:14pt}
 .card,.hero,.box,.q,.l,.sp,.t,.mtxt,table,ol.srcs,ul.toc,.p-stats .c{box-shadow:none!important;border:1px solid #999;border-radius:6px;break-inside:avoid}
 .mtxt{break-inside:auto}
 .hero .top,.au .top,.p-au h2.qh{background:#fff;color:#000;border-bottom:1px solid #999}
 .call0{min-height:0;padding:0;box-shadow:none;color:#000}.call0 .n{font-size:34pt}.p-au .big a{color:#000}
 .sh{margin:12pt 0 6pt;break-after:avoid} .card,.hero .body,.box{padding:10pt}
 .tel{min-height:0;padding:0;background:none!important;color:#000!important} .tin{color:#000;text-decoration:none} td,th{padding:4pt 8pt}
 a{text-decoration:none;color:#000}}

/* v2 (3 Nov 2026): opt-in "card list" for long lists. Prototype on /manuals/knots/ only.
   Use <section class="kl"> + .kl-h header + .kc cards. Nothing else on the site uses these classes yet. */
.kl{margin:var(--s6) 0 0}
.kl-h{display:flex;align-items:center;gap:var(--s3);margin:0 var(--s1) var(--s3)}
.kl-h .ki{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--ac-soft);color:var(--ac)}
.kl-h .ki svg{width:22px;height:22px}
.kl-h h2{margin:0;font-size:19px;line-height:1.3;font-weight:700;color:#1b1914;letter-spacing:-.005em;text-transform:none}
.kl-h p{margin:2px 0 0;font-size:14px;line-height:1.4;color:#4e473e}
.kl-h.g .ki{background:var(--ok-soft);color:var(--ok)}
.kl-h.n .ki{background:#efe8dc;color:#475569}
.kc-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.kc{display:flex;align-items:center;gap:14px;min-height:76px;padding:12px 14px 12px 12px;background:var(--surface);border:1px solid #d9d0c3;border-radius:14px;box-shadow:0 1px 2px rgba(27,25,20,.05);color:#1b1914;text-decoration:none}
.kc:active{background:var(--ac-soft);border-color:#c9d7cc}
.kc .th{flex:none;width:44px;height:58px;border-radius:6px;object-fit:cover;object-position:top;background:#efe8dc;border:1px solid #d9d0c3}
.kc .th.ic{display:grid;place-items:center;color:var(--ac);background:var(--ac-soft);border-color:#d5e3d8}
.kc .th.ic svg{width:24px;height:24px}
.kc>div{flex:1;min-width:0}
.kc b{display:block;font-size:16.5px;line-height:1.35;font-weight:600;color:#1b1914}
.kc .mt{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:6px;font-size:13.5px;line-height:1.3;color:#4e473e}
.kc:after{content:"";width:8px;height:8px;border:solid #8a8074;border-width:2px 2px 0 0;transform:rotate(45deg);flex:none;margin-right:4px}
.lic{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.5;border:1px solid}
.lic.pd{background:var(--ok-soft);color:#166534;border-color:var(--ok-line)}
.lic.uc{background:var(--warn-soft);color:#92400e;border-color:var(--warn-line)}
.lic.cr{background:#efe8dc;color:#475569;border-color:#d9d0c3}
.kl-key{display:flex;flex-wrap:wrap;gap:6px;margin:0 var(--s1) var(--s3)}
@media print{.kc{box-shadow:none;border:1px solid #999;break-inside:avoid}.kc:after,.kl-h .ki{display:none}.lic{border-color:#999;background:#fff;color:#000}}
.kl-key .kk{font-size:13px;line-height:24px;color:#4e473e;margin-right:2px}

header.intro{display:flex;align-items:center;gap:16px}
header.intro .mark,.intro .mark{width:48px;height:48px;flex:none}
.p-stats .intro{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
