/* Each-Way Atlas theme. Prefix fac, tokens --fac-*. Method: container queries first; media queries only for the shell
   (menu, table of contents placement, print, prefers-reduced-motion). Shape: rounded-flat, radius 8px, no blur shadows;
   depth comes from stacked "plates" (an offset flat layer drawn with a pseudo-element). */

@font-face{font-family:"Roboto";src:url(/assets/fonts/roboto-latin-wght.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Roboto Slab";src:url(/assets/fonts/roboto-slab-latin-wght.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --fac-bg:#fcfbf9;--fac-surface:#fdfcfc;--fac-text:#252013;--fac-text-muted:#756c52;
  --fac-primary:#826717;--fac-on-primary:#ffffff;--fac-accent:#4521b5;--fac-link:#735c17;
  --fac-border:#e3e1d9;--fac-success:#1a7f37;--fac-warning:#8a5a00;--fac-danger:#c4262e;
  /* derived from the genome palette (mixes computed once, contrast checked in _scratch/themetest/contrast.py) */
  --fac-p-tint:#f2efe7;--fac-p-wash:#eae5d7;--fac-zebra:#f8f6f1;--fac-hover:#f5f2eb;
  --fac-a-tint:#efecf4;--fac-a-wash:#e4dff0;
  --fac-s-tint:#eff5ef;--fac-w-tint:#f1ebe0;--fac-d-tint:#f8eae9;
  --fac-ink:#252013;--fac-ink-2:#322a14;--fac-gold-lt:#c0b38b;--fac-violet-lt:#9e8cd9;--fac-muted-lt:#c1bdb1;
  --fac-rule:#cdcbc6;--fac-line:#dedcd9;
  --fac-f-head:"Roboto Slab","Rockwell","Roboto Serif",Georgia,"Times New Roman",serif;
  --fac-f-body:"Roboto",system-ui,-apple-system,"Segoe UI","Helvetica Neue",Arial,sans-serif;
  /* type scale, ratio 1.125 on 18px */
  --fac-t-1:.8889rem;--fac-t0:1rem;--fac-t1:1.125rem;--fac-t2:1.2656rem;--fac-t3:1.4238rem;--fac-t4:1.6018rem;--fac-t5:1.802rem;
  --fac-t6:2.0273rem;--fac-t7:2.2807rem;--fac-t8:2.5658rem;--fac-t9:2.8865rem;--fac-t10:3.2473rem;--fac-t11:3.653rem;
  --fac-s0:6px;--fac-s1:12px;--fac-s2:20px;--fac-s3:32px;--fac-s4:52px;--fac-s5:84px;
  --fac-r:8px;--fac-gut:20px;--fac-main-w:50rem;--fac-ease:cubic-bezier(.2,.7,.2,1);
  /* icon masks, own outlined-rounded set */
  --fac-m-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  --fac-m-warn:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4.2L21 19H3L12 4.2z'/%3E%3Cpath d='M12 10v4M12 16.8v.2'/%3E%3C/svg%3E");
  --fac-m-x:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6.5 6.5l11 11M17.5 6.5l-11 11'/%3E%3C/svg%3E");
  --fac-m-minus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 12h12'/%3E%3C/svg%3E");
  --fac-m-info:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5M12 8v.2'/%3E%3C/svg%3E");
  --fac-m-chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  --fac-m-ext:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6M20 4l-9 9M18 14v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4'/%3E%3C/svg%3E");
  --fac-m-star:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5l2.6 5.4 5.9.8-4.3 4.1 1 5.9L12 16.9l-5.2 2.8 1-5.9L3.5 9.7l5.9-.8L12 3.5z'/%3E%3C/svg%3E");
}

*,*::before,*::after{box-sizing:border-box}
html{font-size:112.5%;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:20px}
body{margin:0;background:radial-gradient(42rem 20rem at 92% 0,rgba(130,103,23,.07),transparent 70%),var(--fac-bg);color:var(--fac-text);font:400 1rem/1.62 var(--fac-f-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-wrap:break-word}
img,svg{max-width:100%}
[hidden]{display:none!important}
a{color:var(--fac-link);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--fac-accent);outline-offset:3px;border-radius:4px}
::selection{background:var(--fac-p-wash)}
.fac-i{width:1.25em;height:1.25em;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.22em}
.fac-sprite{position:absolute;width:0;height:0;overflow:hidden}
.fac-skip{position:absolute;left:12px;top:-80px;z-index:100;background:var(--fac-ink);color:var(--fac-bg);padding:12px 20px;border-radius:var(--fac-r);font-weight:600;text-decoration:none}
.fac-skip:focus{top:12px}
.fac-wrap{width:100%;max-width:74rem;margin-inline:auto;padding-inline:var(--fac-gut);container:fwrap/inline-size}

/* ---------- page shell ---------- */
.fac-page{display:grid;grid-template-columns:minmax(0,1fr);min-height:100vh;grid-template-rows:auto 1fr auto}
.fac-masthead,.fac-foot{grid-column:1/-1}
.fac-main{grid-column:1/-1;min-width:0;container:fmain/inline-size}
.fac-page--toc{padding-bottom:4.6rem}
.fac-progress{position:fixed;left:0;top:0;right:0;height:4px;z-index:60;pointer-events:none}
.fac-progress span{display:block;height:100%;background:var(--fac-primary);transform-origin:0 50%;transform:scaleX(var(--fac-p,0))}

/* ---------- masthead: centred, magazine style ---------- */
.fac-masthead{position:relative;background:var(--fac-bg);padding:0 var(--fac-gut) 0;text-align:center;border-bottom:0}
.fac-masthead::before{content:"";position:absolute;inset:0 0 auto 0;height:100%;background-image:linear-gradient(to right,rgba(37,32,19,.045) 1px,transparent 1px),linear-gradient(to bottom,rgba(37,32,19,.045) 1px,transparent 1px);background-size:36px 36px;-webkit-mask-image:linear-gradient(#000,transparent);mask-image:linear-gradient(#000,transparent);pointer-events:none}
.fac-masthead>*{position:relative}
.fac-testbar{margin:0 -20px;padding:6px 20px;background:var(--fac-warning);color:#fff;font-size:var(--fac-t-1);font-weight:600}
.fac-strip{margin:0 -20px;padding:9px 20px;background:var(--fac-ink);color:var(--fac-bg);font-size:var(--fac-t-1);font-weight:500;letter-spacing:.04em}
.fac-strip a{color:var(--fac-gold-lt);text-decoration-thickness:1px}
.fac-strip__ad{display:inline-block;padding:0 7px;border:1px solid currentColor;border-radius:4px;font-weight:700}
.fac-brand{display:inline-flex;align-items:center;justify-content:center;gap:14px;margin-top:var(--fac-s2);color:var(--fac-text);text-decoration:none}
.fac-brand__n{font:700 var(--fac-t5)/1.1 var(--fac-f-head);letter-spacing:-.01em}
.fac-mark{width:2.4rem;height:2.4rem;flex:none}
.fac-mark .mk-bg{fill:var(--fac-primary)}.fac-mark .mk-l1{fill:none;stroke:#fff;stroke-width:3}.fac-mark .mk-l2{fill:none;stroke:#fff;stroke-opacity:.55;stroke-width:2.5}
.fac-mark .mk-d1{fill:#fff}.fac-mark .mk-d2{fill:var(--fac-p-tint)}
.fac-tag{margin:6px auto 0;max-width:34rem;color:var(--fac-text-muted);font-size:var(--fac-t-1);line-height:1.4}
.fac-menu{margin-top:var(--fac-s1)}
.fac-menu>summary{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;border:1px solid var(--fac-rule);border-radius:var(--fac-r);background:var(--fac-surface);font-weight:600;cursor:pointer;list-style:none}
.fac-menu>summary::-webkit-details-marker{display:none}
.fac-nav ul{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 0;list-style:none;margin:0;padding:6px 0 0}
.fac-nav li{display:flex;align-items:center}
.fac-nav li+li::before{content:"·";color:var(--fac-text-muted);padding:0 .15rem}
.fac-nav a{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 12px;color:var(--fac-text);text-decoration:none;font-weight:500;letter-spacing:.01em;border-radius:var(--fac-r);transition:background-color .15s,color .15s}
.fac-nav a:hover{background:var(--fac-p-wash);color:var(--fac-ink)}
.fac-nav a[aria-current]{color:var(--fac-link);font-weight:700;box-shadow:inset 0 -3px 0 var(--fac-primary);border-radius:0}
.fac-nav__s a{color:var(--fac-link)}
.fac-nav li.fac-nav__s::before{display:none}
.fac-nav li.fac-nav__s{margin-left:.35rem}
.fac-rule{margin:6px auto 0;height:9px;border:0;max-width:74rem;background:linear-gradient(var(--fac-ink),var(--fac-ink)) 0 0/100% 2px no-repeat,linear-gradient(var(--fac-ink),var(--fac-ink)) 0 7px/100% 1px no-repeat;position:relative}
.fac-rule::after{content:"";position:absolute;left:50%;top:0;width:11px;height:11px;margin:-1px 0 0 -6px;background:var(--fac-primary);transform:rotate(45deg);border:2px solid var(--fac-bg)}
@media (min-width:720px){.fac-menu>summary{display:none}}
@media (max-width:719px){
  .fac-menu:not([open]) .fac-nav{display:none}
  .fac-nav ul{flex-direction:column;align-items:stretch;gap:0;padding-top:8px;text-align:left}
  .fac-nav li+li::before{display:none}
  .fac-nav li{border-top:1px solid var(--fac-line)}
  .fac-nav a{width:100%}
  .fac-brand__n{font-size:var(--fac-t4)}
  .fac-tag{display:none}
}

/* ---------- table of contents: left rail on desktop, floating bar on small screens ---------- */
.fac-toc{font-size:var(--fac-t-1)}
.fac-toc__t{margin:0 0 8px;font:700 var(--fac-t-1)/1 var(--fac-f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--fac-link)}
.fac-toc__l{list-style:none;margin:0;padding:0}
.fac-toc__i a{display:block;padding:7px 10px 7px 12px;color:var(--fac-text);text-decoration:none;border-left:3px solid var(--fac-line);line-height:1.35;transition:background-color .15s,border-color .15s}
.fac-toc__i a:hover{background:var(--fac-p-tint);border-left-color:var(--fac-primary)}
.fac-toc__i a[aria-current]{border-left-color:var(--fac-primary);background:var(--fac-p-tint);font-weight:700}
.fac-toc__i--3 a{padding-left:24px;color:var(--fac-text-muted)}
.fac-toc__m{display:flex;align-items:center;gap:8px;margin:12px 0 0;color:var(--fac-text-muted)}
@media (max-width:1099px){
  .fac-toc{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--fac-ink);color:var(--fac-bg);display:flex;align-items:center;gap:12px;padding:6px 12px;border-top:2px solid var(--fac-primary);overflow:hidden}
  .fac-toc__in{display:contents}
  .fac-toc__t,.fac-toc__m{display:none}
  .fac-toc__l{min-width:0;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:2px 0;flex:1;-webkit-overflow-scrolling:touch}
  .fac-toc__l::-webkit-scrollbar{display:none}
  .fac-toc__i--3{display:none}
  .fac-toc__i a{white-space:nowrap;min-height:44px;display:flex;align-items:center;padding:6px 14px;border:1px solid rgba(252,251,249,.35);border-radius:var(--fac-r);color:var(--fac-bg);background:transparent}
  .fac-toc__i a:hover{background:var(--fac-ink-2);color:var(--fac-bg)}
  .fac-toc__i a[aria-current]{background:var(--fac-gold-lt);color:var(--fac-ink);border-color:var(--fac-gold-lt)}
  .fac-toc::before{content:"";width:4px;align-self:stretch;margin:6px 0}
}
@media (min-width:1100px){
  .fac-page{grid-template-columns:minmax(20px,1fr) 14rem 2.6rem minmax(0,var(--fac-main-w)) minmax(20px,1fr)}
  .fac-page--wide{--fac-main-w:60rem}
  .fac-page--toc .fac-toc{grid-column:2;grid-row:2;padding-top:var(--fac-s3)}
  .fac-toc__in{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:auto;padding:4px 0 20px}
  .fac-page--toc .fac-main{grid-column:4;grid-row:2}
  .fac-page--toc{padding-bottom:0}
}

/* ---------- article head ---------- */
.fac-doc{display:grid;grid-template-columns:minmax(0,1fr);column-gap:var(--fac-s3);width:100%;max-width:var(--fac-main-w);margin:0 auto;padding:var(--fac-s3) var(--fac-gut) var(--fac-s4);counter-reset:fsec}
.fac-doc>*{grid-column:1/-1;min-width:0}
.fac-crumbs{margin:0 0 8px;font-size:var(--fac-t-1);color:var(--fac-text-muted);display:flex;flex-wrap:wrap;gap:2px 6px}
.fac-crumbs a{color:var(--fac-link)}
.fac-crumbs__s{opacity:.6}
.fac-doc h1{margin:0;font:700 var(--fac-t5)/1.15 var(--fac-f-head);letter-spacing:-.012em;text-wrap:balance}
.fac-capsule,.fac-doc__head+p{position:relative;margin:var(--fac-s2) 0 var(--fac-s1);padding:20px 22px 20px 26px;background:var(--fac-p-tint);border:1px solid var(--fac-rule);border-left:6px solid var(--fac-primary);border-radius:var(--fac-r);font-size:var(--fac-t1);line-height:1.55;max-width:46rem}
.fac-capsule::before,.fac-doc__head+p::before{content:"Short answer";display:block;margin-bottom:10px;font:700 var(--fac-t-1)/1 var(--fac-f-body);letter-spacing:.09em;text-transform:uppercase;color:var(--fac-link)}
.fac-checked{display:flex;align-items:center;gap:8px;margin:0 0 var(--fac-s1);color:var(--fac-text-muted);font-size:var(--fac-t-1)}
.fac-checked .fac-i{color:var(--fac-primary)}
.fac-doc__cover{order:-1;aspect-ratio:4/3;width:min(11.5rem,62%);margin:0 0 var(--fac-s2);overflow:hidden;border-radius:var(--fac-r)}
.fac-doc__cover svg{display:block;width:100%;height:100%}
@container fmain (min-width:46rem){
  .fac-doc{grid-template-columns:minmax(0,1fr) 16rem}
  .fac-doc__head{grid-column:1;grid-row:1}
  .fac-capsule,.fac-doc__head+p{grid-column:1;grid-row:2}
  .fac-checked{grid-column:1;grid-row:3}
  .fac-doc__cover{order:0;grid-column:2;grid-row:1/span 3;width:auto;margin:0;align-self:start}
}
@container fmain (max-width:30rem){.fac-doc h1{font-size:var(--fac-t4)}.fac-capsule,.fac-doc__head+p{font-size:var(--fac-t0);padding:16px 16px 16px 20px}}
@container fhero (max-width:36rem){.fac-hero .fac-capsule{font-size:var(--fac-t0);padding:16px 16px 16px 20px}}

/* cover artwork */
.fac-cover .c-bg{fill:var(--fac-surface);stroke:var(--fac-rule)}
.fac-cover{--fac-c:var(--fac-primary)}
.fac-cover--m{--fac-c:var(--fac-accent)}.fac-cover--d{--fac-c:var(--fac-success)}.fac-cover--s{--fac-c:var(--fac-text-muted)}
.fac-cover .c-lane{fill:none;stroke:var(--fac-c);stroke-width:1.5;stroke-opacity:.9}
.fac-cover .c-lane--1{stroke-opacity:.65}.fac-cover .c-lane--2{stroke-opacity:.45}.fac-cover .c-lane--3{stroke-opacity:.3}
.fac-cover .c-ck1{fill:var(--fac-ink)}.fac-cover .c-ck2{fill:var(--fac-bg)}
.fac-cover .c-d0{fill:var(--fac-c)}.fac-cover .c-d1{fill:var(--fac-ink)}.fac-cover .c-d2,.fac-cover .c-d3{fill:var(--fac-surface);stroke:var(--fac-ink);stroke-width:1.5}
.fac-cover .c-hair{stroke:var(--fac-rule);stroke-width:1;fill:none}
.fac-cover .c-glyph{font-family:var(--fac-f-head);font-weight:800;fill:var(--fac-ink);letter-spacing:-.02em}
.fac-cover .c-frac{font-family:var(--fac-f-head);font-weight:700;font-size:38px;fill:var(--fac-c);fill-opacity:.55}
.fac-cover .c-plate{font-family:var(--fac-f-head);font-size:18px;fill:var(--fac-text-muted)}

/* ---------- article body typography ---------- */
.fac-body{min-width:0}
:where(.fac-body)>*:first-child{margin-top:0}
:where(.fac-body) p,:where(.fac-body) ul,:where(.fac-body) ol,:where(.fac-body) dl,:where(.fac-body) blockquote{max-width:68ch}
:where(.fac-body) p{margin:0 0 1em}
:where(.fac-body) h2{margin:0;font:700 var(--fac-t3)/1.2 var(--fac-f-head);letter-spacing:-.006em;text-wrap:balance}
:where(.fac-body) h3{margin:1.7em 0 .5em;font:600 var(--fac-t2)/1.25 var(--fac-f-head)}
:where(.fac-body) h4{margin:1.4em 0 .4em;font:600 var(--fac-t1)/1.3 var(--fac-f-head)}
:where(.fac-body) strong{font-weight:700}
:where(.fac-body) a{font-weight:500}
:where(.fac-body) a[href^="http"]:not([href*="localhost"])::after{content:"";display:inline-block;width:.8em;height:.8em;margin-left:.25em;vertical-align:-.05em;background:currentColor;-webkit-mask:var(--fac-m-ext) center/contain no-repeat;mask:var(--fac-m-ext) center/contain no-repeat}
:where(.fac-body) hr{border:0;height:9px;margin:var(--fac-s3) 0;background:radial-gradient(circle at center,var(--fac-primary) 4px,transparent 5px) center/18px 9px no-repeat,linear-gradient(var(--fac-rule),var(--fac-rule)) center/100% 1px no-repeat}
:where(.fac-body) ul{list-style:none;padding:0;margin:0 0 1.2em}
:where(.fac-body) ul>li{position:relative;padding-left:1.5rem;margin:.35em 0}
:where(.fac-body) ul>li::before{content:"";position:absolute;left:.2rem;top:.62em;width:.5rem;height:.5rem;border-radius:2px;background:var(--fac-primary);transform:rotate(45deg)}
:where(.fac-body) ol{list-style:none;padding:0;margin:var(--fac-s2) 0;counter-reset:fst}
:where(.fac-body) ol>li{counter-increment:fst;position:relative;padding:2px 0 var(--fac-s2) 4rem;min-height:3.4rem}
:where(.fac-body) ol>li::before{content:counter(fst);position:absolute;left:0;top:-4px;width:3.2rem;font:700 var(--fac-t7)/1 var(--fac-f-head);color:var(--fac-primary)}
:where(.fac-body) ol>li::after{content:"";position:absolute;left:.95rem;top:2.9rem;bottom:.55rem;width:2px;background:var(--fac-line)}
:where(.fac-body) ol>li:last-child{padding-bottom:4px}.fac-body ol>li:last-child::after{display:none}
:where(.fac-body) ol ol{margin:.5em 0}
:where(.fac-body) dl{display:grid;grid-template-columns:minmax(0,1fr);gap:4px 20px;margin:0 0 1.2em}
:where(.fac-body) dt{font-weight:700;margin-top:.8em}.fac-body dd{margin:0}
:where(.fac-body) blockquote{position:relative;margin:var(--fac-s3) 0;padding:6px 0 6px 28px;border-left:4px solid var(--fac-accent);font:400 var(--fac-t2)/1.42 var(--fac-f-head)}
:where(.fac-body) blockquote::before{content:"\201C";position:absolute;left:-.04em;top:-.46em;font:800 4.6rem/1 var(--fac-f-head);color:var(--fac-accent);opacity:.16;pointer-events:none}
:where(.fac-body) blockquote p{margin:0}
:where(.fac-body) code{font:500 .92em ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--fac-p-tint);padding:.1em .35em;border-radius:4px}
:where(.fac-body) figure{margin:var(--fac-s2) 0}
:where(.fac-body) figcaption{color:var(--fac-text-muted);font-size:var(--fac-t-1);margin-top:8px}
:where(.fac-body) time{white-space:nowrap}

/* sections */
.fac-sec{counter-increment:fsec;margin:var(--fac-s3) 0}
.fac-cardwrap{container:fcards/inline-size}
.fac-sec__head{display:flex;align-items:baseline;gap:14px;margin:0 0 var(--fac-s2);padding-bottom:10px;border-bottom:2px solid var(--fac-ink)}
.fac-sec__head::before{content:counter(fsec,decimal-leading-zero);font:700 var(--fac-t4)/1 var(--fac-f-head);color:var(--fac-primary)}
.fac-sec--wide{max-width:none}

/* accordions (details) */
.fac-sec--qa{margin:var(--fac-s1) 0}
.fac-qa{border:1px solid var(--fac-rule);border-radius:var(--fac-r);background:var(--fac-surface)}
.fac-qa[open]{border-color:var(--fac-ink);background:var(--fac-surface)}
.fac-qa__q{display:flex;align-items:center;gap:14px;min-height:60px;padding:14px 18px;cursor:pointer;list-style:none;border-radius:var(--fac-r);transition:background-color .15s}
.fac-qa__q::-webkit-details-marker{display:none}
.fac-qa__q:hover{background:var(--fac-p-tint)}
.fac-qa__q::before{content:counter(fsec,decimal-leading-zero);font:700 var(--fac-t3)/1 var(--fac-f-head);color:var(--fac-primary);min-width:2.2ch}
.fac-qa__q h2{flex:1;font-size:var(--fac-t2);line-height:1.25}
.fac-qa__q::after{content:"";flex:none;width:1.5rem;height:1.5rem;background:var(--fac-ink);-webkit-mask:var(--fac-m-chev) center/contain no-repeat;mask:var(--fac-m-chev) center/contain no-repeat;transition:transform .2s var(--fac-ease)}
.fac-qa[open]>.fac-qa__q{border-bottom:1px dashed var(--fac-rule);border-radius:var(--fac-r) var(--fac-r) 0 0}
.fac-qa[open]>.fac-qa__q::after{transform:rotate(180deg)}
.fac-qa__body{display:flex;flex-direction:column;gap:14px;padding:18px 18px 20px 18px}
.fac-qa__body>*{margin:0;max-width:68ch}
.fac-qa__body>h3{margin-top:8px}
.fac-qa__body>.fac-tw,.fac-qa__body>figure{max-width:none}
.fac-qa__body>p[data-role="short"]{order:-1}
.fac-tools{display:flex;gap:8px;margin:0 0 var(--fac-s1);justify-content:flex-end}

/* short verdict */
:where(.fac-body) p[data-role="short"]{position:relative;margin:var(--fac-s2) 0;padding:14px 16px 14px 54px;background:var(--fac-a-tint);border:1px solid var(--fac-a-wash);border-left:5px solid var(--fac-accent);border-radius:var(--fac-r);font-weight:500;line-height:1.5}
:where(.fac-body) p[data-role="short"]::before{content:"";position:absolute;left:16px;top:16px;width:24px;height:24px;background:var(--fac-accent);-webkit-mask:var(--fac-m-check) center/contain no-repeat;mask:var(--fac-m-check) center/contain no-repeat}
:where(.fac-body) p[data-role="short"] strong:first-child{color:var(--fac-accent);font-family:var(--fac-f-head);font-weight:700}

/* callouts */
.fac-co{position:relative;margin:var(--fac-s2) 0;padding:14px 16px 14px 54px;border:1px solid var(--fac-rule);border-left-width:5px;border-radius:var(--fac-r);background:var(--fac-p-tint);border-left-color:var(--fac-primary)}
.fac-co::before{content:"";position:absolute;left:16px;top:16px;width:24px;height:24px;background:var(--fac-link);-webkit-mask:var(--fac-m-star) center/contain no-repeat;mask:var(--fac-m-star) center/contain no-repeat}
.fac-co strong:first-child{font-family:var(--fac-f-head);color:var(--fac-link)}
.fac-co--note{background:var(--fac-a-tint);border-left-color:var(--fac-accent)}.fac-co--note::before{background:var(--fac-accent);-webkit-mask-image:var(--fac-m-info);mask-image:var(--fac-m-info)}.fac-co--note strong:first-child{color:var(--fac-accent)}
.fac-co--tip{background:var(--fac-s-tint);border-left-color:var(--fac-success)}.fac-co--tip::before{background:var(--fac-success);-webkit-mask-image:var(--fac-m-check);mask-image:var(--fac-m-check)}.fac-co--tip strong:first-child{color:var(--fac-success)}
.fac-co--warn{background:var(--fac-w-tint);border-left-color:var(--fac-warning)}.fac-co--warn::before{background:var(--fac-warning);-webkit-mask-image:var(--fac-m-warn);mask-image:var(--fac-m-warn)}.fac-co--warn strong:first-child{color:var(--fac-warning)}

/* tables: sticky header, row headers, status by icon and colour */
.fac-tw{position:relative;margin:var(--fac-s2) 0;max-height:34rem;overflow:auto;border:1px solid var(--fac-rule);border-radius:var(--fac-r);background:var(--fac-surface);-webkit-overflow-scrolling:touch}
.fac-tw:focus-visible{outline-offset:2px}
.fac-tw table{width:100%;min-width:36rem;border-collapse:separate;border-spacing:0;font-size:.9444rem;line-height:1.45}
.fac-tw caption{caption-side:top;text-align:left;padding:12px 16px;font-size:var(--fac-t-1);line-height:1.4;color:var(--fac-text-muted);background:var(--fac-p-tint);border-bottom:1px solid var(--fac-rule);position:sticky;left:0}
.fac-tw thead th{position:sticky;top:0;z-index:2;background:var(--fac-ink);color:var(--fac-bg);text-align:left;font-weight:600;padding:11px 14px;white-space:nowrap}
.fac-tw tbody th,.fac-tw td{padding:11px 14px;text-align:left;vertical-align:top;border-top:1px solid var(--fac-line)}
.fac-tw tbody th{font-weight:700;background:inherit;position:sticky;left:0;z-index:1;min-width:9rem}
.fac-tw tbody tr{background:var(--fac-surface)}
.fac-tw tbody tr:nth-child(even){background:var(--fac-zebra)}
.fac-tw tbody tr:hover{background:var(--fac-hover)}
.fac-tw tbody tr:first-child th,.fac-tw tbody tr:first-child td{border-top:0}
.fac-st{font-weight:600}
.fac-st::before{content:"";display:inline-block;width:1.05em;height:1.05em;margin-right:.4em;vertical-align:-.17em;background:currentColor;-webkit-mask:var(--fac-m-check) center/contain no-repeat;mask:var(--fac-m-check) center/contain no-repeat}
.fac-st-ok{color:var(--fac-success)}
.fac-st-no{color:var(--fac-text-muted)}.fac-st-no::before{-webkit-mask-image:var(--fac-m-minus);mask-image:var(--fac-m-minus)}
.fac-st-warn{color:var(--fac-warning)}.fac-st-warn::before{-webkit-mask-image:var(--fac-m-warn);mask-image:var(--fac-m-warn)}
.fac-st-na{color:var(--fac-text-muted);font-weight:500}.fac-st-na::before{-webkit-mask-image:var(--fac-m-info);mask-image:var(--fac-m-info)}
.fac-st-bad{color:var(--fac-danger)}.fac-st-bad::before{-webkit-mask-image:var(--fac-m-x);mask-image:var(--fac-m-x)}
.fac-tier{font-weight:700;font-family:var(--fac-f-head);white-space:nowrap;box-shadow:inset 5px 0 0 var(--fac-c)}
.fac-tier--a{--fac-c:var(--fac-accent);background:var(--fac-a-tint)!important}
.fac-tier--b{--fac-c:var(--fac-primary);background:var(--fac-p-wash)!important}
.fac-tier--c{--fac-c:var(--fac-text-muted);background:var(--fac-surface)!important}
.fac-tier::before{content:"";display:inline-block;width:.8em;height:.8em;margin-right:.5em;border-radius:50%;background:var(--fac-c)}
.fac-tier--c::before{background:transparent;border:2px solid var(--fac-c)}
.fac-csv{margin:0 0 -8px}

/* ---------- buttons, chips ---------- */
.fac-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:11px 20px;border:2px solid transparent;border-radius:var(--fac-r);font:600 var(--fac-t0)/1.25 var(--fac-f-body);text-decoration:none;cursor:pointer;transition:background-color .16s,color .16s,border-color .16s,transform .16s var(--fac-ease)}
.fac-btn:active{transform:translateY(1px)}
.fac-btn--primary{background:var(--fac-primary);color:var(--fac-on-primary)}
.fac-btn--primary:hover{background:var(--fac-ink);color:var(--fac-bg)}
.fac-btn--ghost{background:transparent;color:var(--fac-text);border-color:var(--fac-ink)}
.fac-btn--ghost:hover{background:var(--fac-ink);color:var(--fac-bg)}
.fac-btn--inverse{background:var(--fac-bg);color:var(--fac-ink)}
.fac-btn--inverse:hover{background:var(--fac-ink);color:var(--fac-bg)}
.fac-btn--line{background:transparent;color:var(--fac-on-primary);border-color:var(--fac-on-primary)}
.fac-btn--line:hover{background:var(--fac-on-primary);color:var(--fac-ink)}
.fac-btn--text{background:transparent;color:var(--fac-link);padding-inline:8px;min-height:44px;text-decoration:underline;text-underline-offset:.2em}
.fac-btn--text:hover{color:var(--fac-ink)}
.fac-btn--sm{min-height:44px;padding:8px 14px;font-size:var(--fac-t-1)}
.fac-btn .fac-i{transition:transform .16s var(--fac-ease)}
.fac-btn:hover .fac-i{transform:translateX(3px)}
.fac-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border:1px solid currentColor;border-radius:var(--fac-r);font-size:var(--fac-t-1);font-weight:700;line-height:1.5}
.fac-chip--age{background:var(--fac-bg);color:var(--fac-ink);border-color:var(--fac-bg)}

/* ---------- cards, plates ---------- */
.fac-plate{position:relative}
.fac-cards,.fac-topics,[data-tool]{isolation:isolate}
.fac-plate::before{content:"";position:absolute;inset:0;z-index:-1;border:1px solid var(--fac-rule);border-radius:var(--fac-r);background:var(--fac-p-wash);transform:translate(7px,7px);transition:transform .18s var(--fac-ease)}
.fac-plate:hover::before,.fac-plate:focus-within::before{transform:translate(10px,10px)}
.fac-cards{list-style:none;margin:var(--fac-s2) 0;padding:0 8px 8px 0;display:grid;gap:var(--fac-s2)}
.fac-card{display:grid;grid-template-columns:auto 1fr auto;gap:2px 14px;align-items:center;padding:16px 18px;background:var(--fac-surface);border:1px solid var(--fac-rule);border-radius:var(--fac-r);transition:top .18s var(--fac-ease),left .18s var(--fac-ease);--fac-c:var(--fac-primary)}
.fac-card--1{--fac-c:var(--fac-accent)}.fac-card--2{--fac-c:var(--fac-ink)}
.fac-card:hover{top:-2px;left:-2px}
.fac-card__no{grid-row:1/span 2;font:700 var(--fac-t5)/1 var(--fac-f-head);color:var(--fac-c);min-width:2.1ch}
.fac-card__t{margin:0;font:600 var(--fac-t1)/1.3 var(--fac-f-head)}
.fac-card__t a{color:var(--fac-text);text-decoration:none}
.fac-card__t a::after{content:"";position:absolute;inset:0;z-index:1;border-radius:var(--fac-r)}
.fac-card__t a:hover{text-decoration:underline}
.fac-card__d{grid-column:2;margin:0;color:var(--fac-text-muted);font-size:var(--fac-t-1);line-height:1.45}
.fac-card__go{grid-column:3;grid-row:1/span 2;color:var(--fac-c)}
.fac-card:focus-within,.fac-topic:focus-within{outline:3px solid var(--fac-accent);outline-offset:3px}
.fac-card a:focus-visible,.fac-topic a:focus-visible{outline:none}
@container fcards (min-width:38rem){.fac-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container fcards (min-width:62rem){.fac-sec--items .fac-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}

.fac-related{margin-top:var(--fac-s4);padding:var(--fac-s2);background:var(--fac-ink);color:var(--fac-bg);border-radius:var(--fac-r)}
.fac-related__t{margin:0 0 var(--fac-s1);font:700 var(--fac-t3)/1.2 var(--fac-f-head);color:var(--fac-gold-lt)}
.fac-related__l{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.fac-related__i a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:12px 16px;border:1px solid rgba(252,251,249,.28);border-radius:var(--fac-r);color:var(--fac-bg);text-decoration:none;font-weight:500;line-height:1.35;transition:background-color .15s,border-color .15s}
.fac-related__i a:hover{background:var(--fac-ink-2);border-color:var(--fac-gold-lt)}
.fac-related__i .fac-i{color:var(--fac-gold-lt)}
@container fmain (min-width:40rem){.fac-related__l{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fac-doc__foot{display:flex;flex-wrap:wrap;gap:6px 20px;justify-content:space-between;margin:var(--fac-s3) 0 0;padding-top:var(--fac-s1);border-top:1px solid var(--fac-rule);color:var(--fac-text-muted);font-size:var(--fac-t-1)}

/* hub head: how many pages the section holds */
.fac-hubstat{display:flex;align-items:baseline;gap:12px;margin:0 0 var(--fac-s1);color:var(--fac-text-muted)}
.fac-hubstat__n{font:700 var(--fac-t9)/1 var(--fac-f-head);color:var(--fac-primary);letter-spacing:-.02em}

/* ---------- home ---------- */
.fac-home{display:block}
.fac-band{container:fband/inline-size;position:relative;padding:var(--fac-s4) 0}
.fac-band--paper{background:var(--fac-bg)}
.fac-band--tint{background:var(--fac-p-tint);border-block:1px solid var(--fac-rule)}
.fac-band--line{background:var(--fac-bg);border-block:1px dashed var(--fac-rule);background-image:radial-gradient(rgba(130,103,23,.16) 1px,transparent 1.5px);background-size:22px 22px}
.fac-band--ink{background:var(--fac-ink);color:var(--fac-bg)}
.fac-band--ink a{color:var(--fac-gold-lt)}
.fac-band--cta{background:var(--fac-primary);color:var(--fac-on-primary);overflow:hidden}
.fac-band--cta::before,.fac-band--cta::after{content:"";position:absolute;border:2px solid rgba(255,255,255,.22);border-radius:999px;pointer-events:none}
.fac-band--cta::before{width:34rem;height:15rem;right:-9rem;top:-4rem}
.fac-band--cta::after{width:26rem;height:11rem;right:-4rem;top:-.4rem}
.fac-h2{margin:0 0 var(--fac-s2);font:700 var(--fac-t5)/1.15 var(--fac-f-head);letter-spacing:-.01em;text-wrap:balance}
.fac-band .fac-body,.fac-band .fac-sec{margin-top:0;margin-bottom:0}
.fac-band .fac-sec p,.fac-band .fac-sec ul,.fac-band .fac-sec ol,.fac-band .fac-sec dl{max-width:68ch}
.fac-band--ink .fac-sec__head{border-bottom-color:var(--fac-gold-lt)}
.fac-band--ink .fac-sec__head::before{color:var(--fac-gold-lt)}
.fac-band .fac-sec__head[data-n]::before{content:attr(data-n)}
.fac-band--ink .fac-body a,.fac-band--ink .fac-sec a{color:var(--fac-gold-lt)}
@container fband (min-width:60rem){
  .fac-band--tint .fac-sec,.fac-band--line .fac-sec{display:grid;grid-template-columns:15rem minmax(0,1fr);column-gap:var(--fac-s3);align-items:start}
  .fac-band--tint .fac-sec__head,.fac-band--line .fac-sec__head{grid-column:1;flex-direction:column;gap:6px;border-bottom:0;padding-bottom:0;border-top:2px solid var(--fac-ink);padding-top:12px}
  .fac-band--tint .fac-sec>*:not(.fac-sec__head),.fac-band--line .fac-sec>*:not(.fac-sec__head){grid-column:2}
  .fac-band--tint .fac-sec__head::before,.fac-band--line .fac-sec__head::before{font-size:var(--fac-t7)}
}
.fac-hero{position:relative;overflow:hidden;container:fhero/inline-size;background:radial-gradient(48rem 26rem at 88% -8%,rgba(130,103,23,.22),transparent 62%),radial-gradient(34rem 22rem at -4% 108%,rgba(69,33,181,.13),transparent 64%),var(--fac-bg);border-bottom:1px solid var(--fac-rule)}
.fac-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,rgba(37,32,19,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(37,32,19,.05) 1px,transparent 1px);background-size:36px 36px;-webkit-mask-image:linear-gradient(#000,transparent 85%);mask-image:linear-gradient(#000,transparent 85%);pointer-events:none}
.fac-hero__grid{position:relative;display:grid;gap:var(--fac-s3);padding-block:var(--fac-s4) var(--fac-s4);align-items:center}
.fac-hero__text{min-width:0}
.fac-kicker{display:inline-block;margin:0 0 var(--fac-s1);padding:5px 12px;border:1px solid var(--fac-ink);border-radius:var(--fac-r);font:700 var(--fac-t-1)/1.2 var(--fac-f-body);letter-spacing:.08em;text-transform:uppercase;background:var(--fac-bg)}
.fac-hero h1{margin:0;font:700 var(--fac-t5)/1.12 var(--fac-f-head);letter-spacing:-.015em;text-wrap:balance}
.fac-hero .fac-capsule{margin:var(--fac-s2) 0 var(--fac-s1);max-width:40rem;font-size:var(--fac-t1);background:var(--fac-surface)}
.fac-hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin:var(--fac-s2) 0 0}
.fac-hero__art{position:relative;min-width:0;width:100%;max-width:34rem;margin-inline:auto}
.fac-art{display:block;width:100%;height:auto;overflow:visible}
@container fhero (min-width:44rem){.fac-hero h1{font-size:var(--fac-t7)}}
@container fhero (min-width:58rem){
  .fac-hero__grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:var(--fac-s4);padding-block:var(--fac-s5)}
  .fac-hero h1{font-size:var(--fac-t8)}
}
/* hero artwork */
.fac-art .a-back{fill:var(--fac-p-wash);stroke:var(--fac-rule)}
.fac-art .a-plate{fill:var(--fac-surface);stroke:var(--fac-ink);stroke-width:1.5}
.fac-art .a-hair{stroke:var(--fac-rule);fill:none}
.fac-art .a-cap{font:700 20px var(--fac-f-head);letter-spacing:.12em;fill:var(--fac-text)}
.fac-art .a-lane{fill:none;stroke:var(--fac-primary);stroke-width:2}
.fac-art .a-lane--1{stroke-opacity:.8}.fac-art .a-lane--2{stroke-opacity:.62}.fac-art .a-lane--3{stroke-opacity:.46}.fac-art .a-lane--4{stroke-opacity:.32}.fac-art .a-lane--5{stroke-opacity:.2}
.fac-art .a-tick{stroke:var(--fac-ink);stroke-width:2;stroke-linecap:round;fill:none}
.fac-art .a-frac{font:800 118px var(--fac-f-head);fill:var(--fac-primary);fill-opacity:.12;stroke:var(--fac-primary);stroke-width:1.5;stroke-opacity:.7;letter-spacing:-.03em}
.fac-art .a-ck1{fill:var(--fac-ink)}.fac-art .a-ck2{fill:var(--fac-surface)}
.fac-art .a-post{stroke:var(--fac-ink);stroke-width:3;fill:var(--fac-accent);stroke-linecap:round;stroke-linejoin:round}
.fac-art .a-d1{fill:var(--fac-primary);stroke:var(--fac-ink);stroke-width:2}
.fac-art .a-d2{fill:var(--fac-accent);stroke:var(--fac-ink);stroke-width:2}
.fac-art .a-d3{fill:var(--fac-surface);stroke:var(--fac-ink);stroke-width:2}
.fac-art .a-n{font:700 16px var(--fac-f-head);fill:#fff}.fac-art .a-n4{font:700 16px var(--fac-f-head);fill:var(--fac-ink)}

.fac-stats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--fac-s2) var(--fac-s2)}
.fac-stat{display:flex;flex-direction:column;gap:6px;padding-top:var(--fac-s1);border-top:2px solid var(--fac-gold-lt)}
.fac-stat__n{font:700 var(--fac-t9)/1 var(--fac-f-head);color:var(--fac-gold-lt);letter-spacing:-.02em;font-variant-numeric:lining-nums}
.fac-stat__l{color:var(--fac-muted-lt);line-height:1.35}
@container fband (min-width:44rem){.fac-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.fac-stat__n{font-size:var(--fac-t11)}}
.fac-band--stats{padding-block:var(--fac-s3)}
.fac-anat{display:grid;gap:var(--fac-s3);align-items:center}
.fac-anat__t p{margin:0;max-width:34rem;font-size:var(--fac-t1);line-height:1.55}
.fac-figure{margin:0}
.fac-anatomy{display:block;width:100%;height:auto}
.fac-anatomy .an-brace{fill:none;stroke:var(--fac-ink);stroke-width:2.5;stroke-linecap:round}
.fac-anatomy .an-top{font:700 26px var(--fac-f-head);fill:var(--fac-text)}
.fac-anatomy .an-win{fill:var(--fac-primary)}
.fac-anatomy .an-place{fill:var(--fac-accent)}
.fac-anatomy .an-plus{fill:var(--fac-bg);stroke:var(--fac-ink);stroke-width:2.5}
.fac-anatomy .an-plusg{stroke:var(--fac-ink);stroke-width:3;stroke-linecap:round}
.fac-anatomy .an-h{font:700 30px var(--fac-f-head);fill:#fff}
.fac-anatomy .an-s{font:500 26px var(--fac-f-body);fill:#fff}
.fac-anatomy .an-line{stroke:var(--fac-ink);stroke-width:2;stroke-dasharray:2 8;stroke-linecap:round}
.fac-anatomy .an-tot{font:700 30px var(--fac-f-head);fill:var(--fac-text)}
@container fband (min-width:52rem){.fac-anat{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}

.fac-topics{list-style:none;margin:var(--fac-s3) 0 0;padding:0 8px 8px 0;display:grid;gap:var(--fac-s2);grid-template-columns:minmax(0,1fr)}
.fac-topic{display:grid;gap:8px;align-content:start;padding:20px 20px 18px;background:var(--fac-surface);border:1px solid var(--fac-rule);border-top:5px solid var(--fac-c);border-radius:var(--fac-r);--fac-c:var(--fac-primary);transition:top .18s var(--fac-ease),left .18s var(--fac-ease)}
.fac-topic--1{--fac-c:var(--fac-accent)}.fac-topic--2{--fac-c:var(--fac-ink)}.fac-topic--3{--fac-c:var(--fac-link)}
.fac-topic:hover{top:-2px;left:-2px}
.fac-topic__no{font:700 var(--fac-t8)/1 var(--fac-f-head);color:var(--fac-c);letter-spacing:-.02em}
.fac-topic__t{margin:0;font:700 var(--fac-t3)/1.2 var(--fac-f-head)}
.fac-topic__t a{color:var(--fac-text);text-decoration:none}
.fac-topic__t a::after{content:"";position:absolute;inset:0;z-index:1;border-radius:var(--fac-r)}
.fac-topic__d{margin:0;color:var(--fac-text);line-height:1.5}
.fac-topic__m{display:flex;flex-wrap:wrap;gap:2px 16px;margin:4px 0 0;color:var(--fac-text-muted);font-size:var(--fac-t-1)}
.fac-topic__m strong{color:var(--fac-text);font-family:var(--fac-f-head)}
.fac-bar{display:block;height:8px;border-radius:4px;background:var(--fac-p-wash);overflow:hidden}
.fac-bar i{display:block;height:100%;width:var(--fac-w,10%);background:var(--fac-c);border-radius:4px}
.fac-topic__go{position:absolute;right:16px;top:20px;color:var(--fac-c)}
@container fband (min-width:40rem){.fac-topics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container fband (min-width:64rem){.fac-topics{grid-template-columns:repeat(3,minmax(0,1fr))}.fac-topic--0{grid-column:span 2}.fac-topic--0 .fac-topic__t{font-size:var(--fac-t5)}}
.fac-cta{position:relative;z-index:1}
.fac-cta .fac-h2{max-width:24ch;font-size:var(--fac-t6)}
.fac-cta__b{display:flex;flex-wrap:wrap;gap:12px;margin:var(--fac-s2) 0 0}

/* ---------- search ---------- */
.fac-searchbox__f{position:sticky;top:0;z-index:5;padding:12px 0;background:var(--fac-bg)}
.fac-searchbox label{display:block;font-weight:700;margin-bottom:6px}
.fac-searchbox__w{display:flex;align-items:center;gap:10px;padding:0 14px;border:2px solid var(--fac-ink);border-radius:var(--fac-r);background:var(--fac-surface)}
.fac-searchbox__w input{flex:1;min-width:0;min-height:52px;border:0;background:transparent;font:inherit;color:inherit;outline:0}
.fac-searchbox__w:focus-within{outline:3px solid var(--fac-accent);outline-offset:2px}
.fac-searchbox__c{margin:8px 0 0;color:var(--fac-text-muted);font-size:var(--fac-t-1);min-height:1.4em}
.fac-grp h2{margin:var(--fac-s3) 0 var(--fac-s1);font:700 var(--fac-t3)/1.2 var(--fac-f-head);padding-bottom:8px;border-bottom:2px solid var(--fac-ink)}
.fac-grp ul{list-style:none;margin:0;padding:0}
.fac-grp li{display:grid;gap:2px;padding:10px 0;border-bottom:1px solid var(--fac-line)}
.fac-grp li span{color:var(--fac-text-muted);font-size:var(--fac-t-1);line-height:1.4}
.fac-grp li[hidden],.fac-grp[hidden]{display:none}
.fac-grp a{font-weight:600}

/* ---------- tools (islands) ---------- */
[data-tool]{margin:var(--fac-s3) 0}
[data-tool]:empty{min-height:8rem;padding:var(--fac-s2);border:1px dashed var(--fac-rule);border-radius:var(--fac-r);background:var(--fac-p-tint)}
[data-tool]:empty::before{content:"The calculator loads with JavaScript. The worked examples on this page show the same sums done by hand.";display:block;max-width:40rem;color:var(--fac-text)}
.fac-tool{container:ftool/inline-size;position:relative;padding:var(--fac-s2);background:var(--fac-surface);border:1px solid var(--fac-ink);border-radius:var(--fac-r)}
.fac-tool::before{content:"";position:absolute;inset:0;z-index:-1;border:1px solid var(--fac-rule);border-radius:var(--fac-r);background:var(--fac-p-wash);transform:translate(8px,8px)}
.fac-tool__head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 var(--fac-s2)}
.fac-tool__t{margin:0;font:700 var(--fac-t3)/1.2 var(--fac-f-head)}
.fac-tool__ex{margin:0;padding:2px 10px;border:1px solid var(--fac-accent);border-radius:var(--fac-r);color:var(--fac-accent);background:var(--fac-a-tint);font-size:var(--fac-t-1);font-weight:700}
.fac-tool form{margin:0}
.fac-tool fieldset{margin:0 0 var(--fac-s2);padding:0;border:0;min-width:0}
.fac-tool legend{padding:0;margin:0 0 var(--fac-s1);font:700 var(--fac-t-1)/1.2 var(--fac-f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--fac-link)}
.fac-fields{display:grid;gap:var(--fac-s1) var(--fac-s2);grid-template-columns:minmax(0,1fr)}
.fac-f{display:grid;gap:6px;align-content:start;min-width:0}
.fac-f>label,.fac-f>span.fac-f__l{font-weight:600;line-height:1.3}
.fac-f input[type=text],.fac-f input[type=number],.fac-f input[type=search],.fac-f select{width:100%;min-height:48px;padding:8px 12px;border:2px solid var(--fac-rule);border-radius:var(--fac-r);background:var(--fac-bg);color:var(--fac-text);font:inherit;transition:border-color .15s}
.fac-f input::placeholder,.fac-searchbox input::placeholder{color:var(--fac-text-muted);opacity:1}
.fac-f input:hover,.fac-f select:hover{border-color:var(--fac-text-muted)}
.fac-f input:focus,.fac-f select:focus{border-color:var(--fac-accent);outline:3px solid var(--fac-a-wash);outline-offset:0}
.fac-f input[aria-invalid=true]{border-color:var(--fac-danger)}
.fac-f__h{color:var(--fac-text-muted);font-size:var(--fac-t-1);line-height:1.4}
.fac-f__e{color:var(--fac-danger);font-size:var(--fac-t-1);font-weight:600;min-height:1.2em}
.fac-f--check{grid-template-columns:auto 1fr;align-items:center;gap:10px;min-height:48px}
.fac-f--check input{width:22px;height:22px;accent-color:var(--fac-accent)}
.fac-seg{display:flex;flex-wrap:wrap;gap:8px}
.fac-seg label{position:relative;display:inline-flex}
.fac-seg input{position:absolute;opacity:0;inset:0;cursor:pointer}
.fac-seg span{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:2px solid var(--fac-rule);border-radius:var(--fac-r);background:var(--fac-bg);font-weight:600;transition:background-color .15s,border-color .15s,color .15s}
.fac-seg input:checked+span{background:var(--fac-ink);color:var(--fac-bg);border-color:var(--fac-ink)}
.fac-seg input:focus-visible+span{outline:3px solid var(--fac-accent);outline-offset:2px}
.fac-seg input:not(:checked)+span:hover{border-color:var(--fac-text-muted)}
.fac-tool__act{display:flex;flex-wrap:wrap;gap:10px;margin:var(--fac-s2) 0 0}
.fac-out{margin-top:var(--fac-s2);padding:var(--fac-s2);background:var(--fac-ink);color:var(--fac-bg);border-radius:var(--fac-r)}
.fac-out[hidden]{display:none}
.fac-out__grid{max-width:none;display:grid;gap:var(--fac-s1) var(--fac-s2);grid-template-columns:minmax(0,1fr);margin:0}
.fac-out__i{display:flex;flex-direction:column;gap:2px;padding-top:10px;border-top:2px solid var(--fac-gold-lt);margin:0}
.fac-out__i dt{color:var(--fac-muted-lt);font-size:var(--fac-t-1);font-weight:500}
.fac-out__i dd{margin:0;font:700 var(--fac-t6)/1.1 var(--fac-f-head);color:var(--fac-gold-lt);font-variant-numeric:lining-nums}
.fac-out__i--n dd{color:var(--fac-bg)}
.fac-out__msg{margin:var(--fac-s1) 0 0;padding:12px 14px;border-radius:var(--fac-r);border:1px solid var(--fac-gold-lt);color:var(--fac-bg);line-height:1.45;max-width:none}
.fac-out__msg--warn{background:var(--fac-w-tint);color:var(--fac-text);border-color:var(--fac-warning)}
.fac-out__msg--bad{background:var(--fac-d-tint);color:var(--fac-text);border-color:var(--fac-danger)}
.fac-out details{margin-top:var(--fac-s1);border-top:1px dashed rgba(252,251,249,.35);padding-top:var(--fac-s1)}
.fac-out summary{cursor:pointer;font-weight:700;color:var(--fac-gold-lt);min-height:44px;display:flex;align-items:center}
.fac-out ol{margin:8px 0 0;padding-left:1.4rem;max-width:none;list-style:decimal}
.fac-out ol>li{margin:.35em 0;padding:0;min-height:0;line-height:1.45}
.fac-out ol>li::before,.fac-out ol>li::after{content:none}
.fac-bars{display:grid;gap:8px;margin-top:var(--fac-s1)}
.fac-bars div{display:grid;grid-template-columns:7.5rem minmax(0,1fr) auto;gap:10px;align-items:center;font-size:var(--fac-t-1)}
.fac-bars i{display:block;height:12px;border-radius:6px;background:var(--fac-gold-lt);width:var(--fac-w,0%);min-width:2px}
.fac-bars b{font-variant-numeric:tabular-nums}
@container ftool (min-width:34rem){.fac-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.fac-out__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container ftool (min-width:40rem){.fac-fields--3{grid-template-columns:repeat(3,minmax(0,1fr))}.fac-out__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.fac-f{position:relative}
.fac-tip{display:inline-flex;vertical-align:middle}
.fac-tip button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:-10px -8px;border:0;background:transparent;color:var(--fac-link);cursor:help;border-radius:50%}
.fac-tip [role=tooltip]{display:none;position:absolute;left:0;bottom:calc(100% - 2px);z-index:10;width:max-content;max-width:100%;padding:8px 12px;border-radius:var(--fac-r);background:var(--fac-ink);color:var(--fac-bg);font-size:var(--fac-t-1);font-weight:400;line-height:1.4}
.fac-tip:hover [role=tooltip],.fac-tip:focus-within [role=tooltip]{display:block}

/* changelog and update notes read as a timeline */
.fac-doc--changelog .fac-body ul>li,.fac-doc--update-note .fac-body ul>li{padding-left:2rem;border-left:2px solid var(--fac-rule);margin:0;padding-bottom:12px;margin-left:.4rem}
.fac-doc--changelog .fac-body ul>li::before,.fac-doc--update-note .fac-body ul>li::before{left:-.42rem;top:.5em;width:.8rem;height:.8rem;border-radius:50%;transform:none;border:2px solid var(--fac-bg);background:var(--fac-primary)}

/* ---------- footer: two tiers ---------- */
.fac-foot{background:var(--fac-ink);color:var(--fac-bg);margin-top:0}
.fac-foot a{color:var(--fac-gold-lt)}
.fac-foot__nav{padding:var(--fac-s4) 0 var(--fac-s3)}
.fac-foot__grid{display:grid;gap:var(--fac-s3);grid-template-columns:minmax(0,1fr)}
.fac-brand--foot{margin:0;justify-content:flex-start;color:var(--fac-bg)}
.fac-brand--foot .fac-brand__n{font-size:var(--fac-t4)}
.fac-foot__about p{margin:var(--fac-s1) 0 0;max-width:30rem;color:var(--fac-muted-lt);line-height:1.5}
.fac-foot__age{display:flex;align-items:center;gap:10px;color:var(--fac-bg)!important}
.fac-foot__h{margin:0 0 var(--fac-s1);font:700 var(--fac-t-1)/1 var(--fac-f-body);letter-spacing:.09em;text-transform:uppercase;color:var(--fac-gold-lt)}
.fac-foot__col ul{list-style:none;margin:0;padding:0;display:grid;gap:0}
.fac-foot__col a{display:flex;align-items:center;min-height:40px;color:var(--fac-bg);text-decoration:none}
.fac-foot__col a:hover{color:var(--fac-gold-lt);text-decoration:underline}
.fac-foot__legal{background:var(--fac-ink-2);padding:var(--fac-s2) 0 var(--fac-s3);border-top:3px solid var(--fac-primary)}
.fac-foot__rg{margin:0 0 var(--fac-s1);max-width:64rem;line-height:1.55}
.fac-foot__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0;color:var(--fac-muted-lt);font-size:var(--fac-t-1)}
.fac-foot__meta .fac-i{color:var(--fac-gold-lt)}
@container fwrap (min-width:44rem){.fac-foot__grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr)}}

/* ---------- motion: moderate, opt-out via prefers-reduced-motion ---------- */
.fac-motion .fac-pre{opacity:.3;transform:translateY(16px)}
.fac-motion .fac-sec,.fac-motion .fac-card,.fac-motion .fac-topic,.fac-motion .fac-stat,.fac-motion .fac-figure,.fac-motion .fac-related,.fac-motion .fac-tool{transition:opacity .4s var(--fac-ease),transform .4s var(--fac-ease)}
@keyframes fac-bob{from{transform:translateY(0)}to{transform:translateY(-5px)}}
.fac-art .a-disc{transform-box:fill-box;transform-origin:center;animation:fac-bob 3.6s ease-in-out infinite alternate}
.fac-art .a-disc--2{animation-delay:-.9s}.fac-art .a-disc--3{animation-delay:-1.8s}.fac-art .a-disc--4{animation-delay:-2.7s}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .fac-motion .fac-pre{opacity:1!important;transform:none!important}
}

/* ---------- print ---------- */
@media print{
  .fac-masthead::before,.fac-hero::before,.fac-toc,.fac-progress,.fac-skip,.fac-menu>summary,.fac-doc__cover,.fac-hero__art{display:none!important}
  .fac-page{display:block}
  .fac-qa__body{display:flex!important}
  .fac-band--ink,.fac-foot,.fac-related{background:#fff!important;color:#000!important}
  .fac-tw{max-height:none;overflow:visible}
  a{color:#000}
}
