/* Ferry Room Players · built on B2 Matchbook. Palette, type and shape come from the package unchanged. */
:root{--bg:#FFD83A;--surface:#FFE98C;--raised:#FFF6D0;--line:#E0B92A;--line-strong:#5E4E17;--ink:#17130D;--ink-2:#3B3324;--ink-3:#4F4633;--brand:#17130D;--on-brand:#FFD83A;--brand-ink:#17130D;--brand-tint:#FFEFA8;--accent:#C8231A;--accent-ink:#A01A10;--on-accent:#FFF6D0;--yes:#11619A;--yes-tint:#E3EEF0;--caution:#665D4D;--caution-tint:#F3ECD6;--no:#6A1350;--no-tint:#F7E2EA;--focus:#17130D;--keyline:#17130D;--strike:#17130D;color-scheme:light}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--bg:#231310;--surface:#2E1A15;--raised:#3A231D;--line:#4B2F27;--line-strong:#A08272;--ink:#FFF1C9;--ink-2:#E7D6A8;--ink-3:#C9B68A;--brand:#FFDC4A;--on-brand:#231310;--brand-ink:#FFE266;--brand-tint:#3D2A1A;--accent:#F2463A;--accent-ink:#FF7A68;--on-accent:#231310;--yes:#2E9AE8;--yes-tint:#102A3A;--caution:#9F977F;--caution-tint:#3A2A24;--no:#F49CCE;--no-tint:#3F1A2C;--focus:#FFE266;--keyline:#FFF1C9;--strike:#120806;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#231310;--surface:#2E1A15;--raised:#3A231D;--line:#4B2F27;--line-strong:#A08272;--ink:#FFF1C9;--ink-2:#E7D6A8;--ink-3:#C9B68A;--brand:#FFDC4A;--on-brand:#231310;--brand-ink:#FFE266;--brand-tint:#3D2A1A;--accent:#F2463A;--accent-ink:#FF7A68;--on-accent:#231310;--yes:#2E9AE8;--yes-tint:#102A3A;--caution:#9F977F;--caution-tint:#3A2A24;--no:#F49CCE;--no-tint:#3F1A2C;--focus:#FFE266;--keyline:#FFF1C9;--strike:#120806;color-scheme:dark}
:root{--f-display:"Anybody", system-ui, sans-serif;--f-text:"Schibsted Grotesk", system-ui, sans-serif;--f-ui:"Schibsted Grotesk", system-ui, sans-serif;--f-mono:"Fragment Mono", ui-monospace, monospace;--f-readable:"Atkinson Hyperlegible Next", system-ui, sans-serif;--fvs-display:"wdth" 125;--fvs-text:normal;--fvs-ui:normal;--fvs-mono:normal;--w-display:800;--w-text:400;--w-ui:600;--lh-text:1.58;--track-display:0;--measure:60ch;--t-cap:13px;--t-sm:15px;--t-base:17.5px;--t-lg:20px;--t-xl:26px;--t-2xl:36px;--t-3xl:52px;--t-hero:88px}
:root[data-font="readable"]{--f-text:var(--f-readable);--f-ui:var(--f-readable);--fvs-text:normal;--fvs-ui:normal}
:root{--r-1:4px;--r-2:10px;--r-3:14px;--r-pill:999px;--bw:3px;--shadow:none;--s-0:0px;--s-1:6px;--s-2:12px;--s-3:18px;--s-4:24px;--s-5:36px;--s-6:48px;--s-7:72px;--s-8:96px;--dur-hover:100ms;--dur-press:60ms;--dur-disclose:220ms;--ease:cubic-bezier(.2,.8,.2,1)}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-text);font-variation-settings:var(--fvs-text);font-weight:var(--w-text);font-size:var(--t-base);line-height:var(--lh-text)}
a{color:var(--brand-ink);text-underline-offset:.18em}
code,kbd,pre{font-family:var(--f-mono);font-variation-settings:var(--fvs-mono)}
.pk-wrap{max-width:1120px;margin:0 auto;padding-inline:24px}
.pk-bar{border-bottom:var(--bw) solid var(--line);background:var(--surface);font-family:var(--f-ui);font-variation-settings:var(--fvs-ui);font-size:var(--t-sm)}
.pk-bar .pk-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding-block:10px}
.pk-bar .pk-id{font-weight:600;color:var(--ink)}
.pk-bar .pk-id span{color:var(--ink-2);font-weight:400}
.pk-bar nav{display:flex;flex-wrap:wrap;gap:4px 14px;order:5;flex-basis:100%;min-width:0;padding-top:2px}
.pk-bar .pk-id{flex:1;min-width:min(100%,260px)}
.pk-bar nav a{color:var(--ink-2);text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.pk-bar .pk-sib a{display:inline-flex;align-items:center;min-height:44px}
.pk-bar nav a:hover{color:var(--ink);text-decoration:underline}
.pk-tg{display:inline-flex;gap:2px;padding:2px;border:var(--bw) solid var(--line-strong);border-radius:var(--r-pill)}
.pk-tg button{all:unset;cursor:pointer;box-sizing:border-box;min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;padding:5px 14px;border-radius:var(--r-pill);font-family:var(--f-ui);font-size:var(--t-sm);color:var(--ink-2)}
.pk-tg button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.pk-tg button:focus-visible,.k-btn:focus-visible,a:focus-visible,.pk-play:focus-visible,.k-field input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.pk-sib{display:flex;gap:10px;font-family:var(--f-ui)}
.pk-sib a{color:var(--ink-2)}
section.pk{padding-block:clamp(40px,6vw,72px);border-top:var(--bw) solid var(--line)}
.pk-h{font-family:var(--f-ui);font-variation-settings:var(--fvs-ui);font-size:var(--t-cap);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin:0 0 6px;font-weight:600}
.pk-t{font-family:var(--f-display);font-variation-settings:var(--fvs-display);font-weight:var(--w-display);font-size:var(--t-2xl);line-height:1.1;letter-spacing:var(--track-display);margin:0 0 18px;text-wrap:balance}
.pk-lede{max-width:var(--measure);color:var(--ink-2);margin:0 0 28px}
.pk-grid{display:grid;gap:18px}
@media (min-width:760px){.pk-2{grid-template-columns:1fr 1fr}.pk-3{grid-template-columns:repeat(3,1fr)}}
/* kit */
.k-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:18px}
.k-btn{font-family:var(--f-ui);font-variation-settings:var(--fvs-ui);font-weight:var(--w-ui);font-size:var(--t-base);line-height:1.2;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:var(--r-2);border:var(--bw) solid transparent;cursor:pointer;text-decoration:none;transition:background var(--dur-hover) var(--ease),color var(--dur-hover) var(--ease),border-color var(--dur-hover) var(--ease)}
.k-btn-primary{background:var(--brand);color:var(--on-brand)}
.k-btn-secondary{background:transparent;color:var(--brand-ink);border-color:var(--brand-ink)}
.k-btn-quiet{background:transparent;color:var(--brand-ink);text-decoration:underline;text-underline-offset:.2em;padding-inline:6px}
.k-btn[disabled]{background:var(--raised);color:var(--ink-3);border-color:var(--line-strong);cursor:not-allowed}
.k-btn.is-focus{outline:3px solid var(--focus);outline-offset:2px}
.k-yn{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:420px}
.k-yn .k-btn{width:100%}
.k-yn.k-opts{grid-template-columns:1fr 1fr;max-width:520px}
.k-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.k-chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-ui);font-variation-settings:var(--fvs-ui);font-size:var(--t-sm);font-weight:600;padding:5px 11px;border-radius:var(--r-pill);background:var(--raised);color:var(--ink);border:var(--bw) solid var(--line)}
.k-chip svg{width:14px;height:14px;flex:none}
.k-chip-yes{background:var(--yes-tint);color:var(--yes);border-color:transparent}
.k-chip-caution{background:var(--caution-tint);color:var(--caution);border-color:transparent}
.k-chip-no{background:var(--no-tint);color:var(--no);border-color:transparent}
.k-field{display:grid;gap:6px;max-width:460px;margin-bottom:16px;font-family:var(--f-ui)}
.k-field label{font-weight:600;font-size:var(--t-sm);color:var(--ink)}
.k-field input{font:inherit;font-family:var(--f-ui);font-size:var(--t-base);padding:11px 13px;border-radius:var(--r-1);border:var(--bw) solid var(--line-strong);background:var(--surface);color:var(--ink)}
.k-field small{font-size:var(--t-sm);color:var(--ink-2)}
.k-field.is-error input{border-color:var(--no);border-width:2px}
.k-field.is-error small{color:var(--no);font-weight:600}
.k-note{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-2);background:var(--raised);border:var(--bw) solid var(--line);font-size:var(--t-sm);max-width:560px;margin-bottom:10px;font-family:var(--f-ui)}
.k-note svg{width:18px;height:18px;flex:none;margin-top:1px}
.k-note-yes{background:var(--yes-tint);border-color:transparent;color:var(--yes)}
.k-note-yes b,.k-note-no b{color:inherit}
.k-note-no{background:var(--no-tint);border-color:transparent;color:var(--no)}
.k-kit-grid{display:grid;gap:28px}
@media (min-width:860px){.k-kit-grid{grid-template-columns:1fr 1fr}}
.k-kit-grid > div{min-width:0}
.k-kit-grid h3{font-family:var(--f-ui);font-size:var(--t-sm);font-weight:600;color:var(--ink-2);margin:0 0 10px}
/* sheet */
.pk-sw{border-radius:var(--r-3);padding:18px;border:1px solid}
.pk-sw h4{margin:0 0 12px;font-family:var(--f-ui);font-size:var(--t-sm);font-weight:600}
.pk-sw .g{margin:0 0 12px}
.pk-sw .g p{margin:0 0 6px;font-family:var(--f-ui);font-size:var(--t-cap);letter-spacing:.1em;text-transform:uppercase}
.pk-sw ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.pk-sw li{display:flex;gap:8px;align-items:center;font-family:var(--f-mono);font-size:12px;line-height:1.3}
.pk-sw li i{width:30px;height:30px;border-radius:6px;flex:none;border:1px solid rgb(128 128 128 / .35)}
.pk-sw li b{display:block;font-family:var(--f-ui);font-size:12.5px;font-weight:600}
.pk-table{width:100%;border-collapse:collapse;font-family:var(--f-ui);font-size:var(--t-sm);font-variant-numeric:tabular-nums}
.pk-table th,.pk-table td{text-align:left;padding:7px 10px;border-bottom:var(--bw) solid var(--line);vertical-align:top}
.pk-table th{color:var(--ink-2);font-weight:600}
.pk-scroll{overflow-x:auto}
.pk-ok{color:var(--ink);font-weight:600}.pk-bad{color:var(--no);font-weight:700}
.pk-type .spec{border-bottom:var(--bw) solid var(--line);padding-block:14px}
.pk-type .spec small{display:block;font-family:var(--f-ui);font-size:var(--t-cap);color:var(--ink-2);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.pk-scale{display:grid;gap:6px}
.pk-scale div{display:flex;gap:16px;align-items:baseline;border-bottom:var(--bw) dashed var(--line);padding-block:4px;overflow:hidden}
.pk-scale code{font-size:12px;color:var(--ink-2);min-width:140px;flex:none}
.pk-scale span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pk-radii{display:flex;flex-wrap:wrap;gap:14px}
.pk-radii div{width:92px;height:64px;background:var(--brand-tint);border:var(--bw) solid var(--brand-ink);display:flex;align-items:flex-end;padding:6px;font-family:var(--f-mono);font-size:11px;color:var(--brand-ink)}
.pk-space{display:grid;gap:5px}
.pk-space div{display:flex;align-items:center;gap:12px;font-family:var(--f-mono);font-size:12px;color:var(--ink-2)}
.pk-space i{display:block;height:12px;background:var(--brand);border-radius:2px}
.pk-marks{display:flex;flex-wrap:wrap;gap:22px;align-items:flex-end}
.pk-marks figure{margin:0;display:grid;gap:6px;justify-items:center;font-family:var(--f-mono);font-size:11px;color:var(--ink-2)}
.pk-marks .tile{display:grid;place-items:center;border-radius:var(--r-2)}
.pk-lock{display:flex;flex-wrap:wrap;gap:16px;margin-top:22px}
.pk-lock div{padding:22px 26px;border-radius:var(--r-3)}
.pk-voice ul{margin:0;padding-left:1.1em}
.pk-voice li{margin-bottom:6px}
.pk-hl{font-family:var(--f-display);font-variation-settings:var(--fvs-display);font-weight:var(--w-display);font-size:var(--t-xl);line-height:1.2;margin:0 0 10px;letter-spacing:var(--track-display)}
.pk-code{background:var(--raised);border:var(--bw) solid var(--line);border-radius:var(--r-2);padding:14px 16px;font-size:12.5px;line-height:1.55;overflow-x:auto;white-space:pre;color:var(--ink)}
.pk-call{border:var(--bw) solid var(--line-strong);border-radius:var(--r-3);padding:20px 22px;background:var(--surface)}
.pk-call h3{margin:0 0 8px;font-family:var(--f-ui);font-size:var(--t-base)}
.pk-call ul{margin:0 0 6px;padding-left:1.1em}
.pk-motion-demo{display:flex;flex-wrap:wrap;align-items:center;gap:18px;padding:22px;border:var(--bw) dashed var(--line-strong);border-radius:var(--r-3);margin-top:14px;min-height:120px}
.pk-play{font-family:var(--f-ui);font-size:var(--t-sm);font-weight:600;padding:8px 14px;border-radius:var(--r-pill);border:var(--bw) solid var(--ink-2);background:transparent;color:var(--ink);cursor:pointer}
.pk-foot{padding-block:28px 48px;font-family:var(--f-ui);font-size:var(--t-sm);color:var(--ink-2);border-top:var(--bw) solid var(--line)}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}
@media (max-width:560px){.pk-wrap{padding-inline:16px}.pk-bar nav{display:none}}

/* B2 Matchbook package */

/* B2 Matchbook */
.b2-cond{font-family:var(--f-display);font-variation-settings:"wdth" 72;font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:var(--t-sm);line-height:1.2}
:root[data-font="readable"] .b2-cond{font-family:var(--f-readable);font-variation-settings:normal;letter-spacing:.06em}
.b2-wide{font-family:var(--f-display);font-variation-settings:"wdth" 150;font-weight:900;line-height:.98;letter-spacing:0;margin:0}
.b2-dots{display:block}
.b2-strike{height:22px;background:repeating-linear-gradient(135deg,var(--accent) 0 8px,var(--strike) 8px 16px);position:relative;overflow:hidden}
.b2-strike::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0,color-mix(in srgb,var(--raised) 85%,transparent) 40%,var(--raised) 50%,color-mix(in srgb,var(--raised) 85%,transparent) 60%,transparent 100%);transform:translateX(-110%);opacity:0}
/* hero */
.b2-hero{padding-block:clamp(22px,4vw,52px)}
.b2-cover{border:3px solid var(--keyline);border-radius:var(--r-3);overflow:hidden;background:var(--bg)}
.b2-slab{background:var(--accent);color:var(--on-accent);padding:clamp(22px,3.4vw,38px) clamp(18px,3.4vw,40px) clamp(20px,3vw,30px)}
.b2-slab .b2-cond{margin:0 0 14px}
.b2-h1{font-size:clamp(34px,7.2vw,var(--t-hero));text-wrap:balance}
.b2-body{display:grid;gap:34px;padding:8px clamp(18px,3.4vw,40px) clamp(28px,4vw,44px);grid-template-columns:minmax(0,1fr)}
@media (min-width:980px){.b2-body{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);column-gap:48px;align-items:start}}
.b2-kick{font-size:clamp(26px,3vw,36px);margin:0 0 14px}
.b2-lede{font-size:var(--t-lg);line-height:1.5;margin:0 0 24px;max-width:30em}
.b2-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:30px}
.b2-rules{list-style:none;margin:0;padding:0;border-top:3px solid var(--keyline)}
.b2-rules li{display:grid;grid-template-columns:4.2em 1fr;gap:12px;padding-block:12px;border-bottom:1.5px solid var(--keyline)}
.b2-rules code{font-size:var(--t-sm);padding-top:2px}
.b2-rules b{display:block;font-weight:700}
.b2-rules span{font-size:var(--t-sm);color:var(--ink-2)}
.b2-staple{display:flex;justify-content:center;gap:10px;padding:10px 0 12px;border-top:3px solid var(--keyline);background:var(--surface)}
.b2-staple i{display:block;width:34px;height:7px;border-radius:3px;background:var(--line-strong)}
/* the book: cover and inside */
.b2-book{display:grid;grid-template-columns:minmax(0,1fr);border:3px solid var(--keyline);border-radius:var(--r-2);overflow:hidden;background:var(--raised)}
@media (min-width:600px){.b2-book{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.b2-book .b2-in{border-left:3px solid var(--keyline);border-top:0}}
.b2-bc{display:flex;flex-direction:column;background:var(--surface)}
.b2-bc .b2-slab{padding:18px 18px 14px}
.b2-bc .b2-slab .b2-cond{margin-bottom:8px}
.b2-bc .b2-wide{font-size:18px;line-height:1.06}
.b2-bc .b2-dots{height:36px}
.b2-bc .meta{padding:4px 18px 16px;display:grid;gap:8px;font-size:var(--t-sm);flex:1;align-content:start}
.b2-bc .meta .k-ver{justify-self:start}
.b2-in{padding:18px 18px 16px;border-top:3px solid var(--keyline);display:flex;flex-direction:column;gap:10px}
.b2-in .q{font-family:var(--f-display);font-variation-settings:"wdth" 112;font-weight:800;font-size:var(--t-xl);line-height:1.05;margin:0}
.b2-in .sub{font-size:var(--t-sm);color:var(--ink-2);margin:0}
.b2-in blockquote{margin:6px 0 0;padding:12px 0 0;border-top:1.5px solid var(--keyline)}
.b2-in blockquote p{margin:0 0 8px;font-size:var(--t-base);line-height:1.45}
.b2-in cite{font-style:normal;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:var(--t-sm)}
.b2-in cite b{font-weight:700}
.b2-host{font-family:var(--f-mono);font-size:var(--t-sm)}
/* kit */
.k-btn{border-radius:var(--r-2);border-width:3px;font-weight:700}
.k-btn-primary{border-color:var(--brand)}
.k-btn-primary:hover{background:color-mix(in srgb,var(--brand) 86%,var(--bg))}
.k-btn-secondary{border-color:var(--brand-ink)}
.k-btn-secondary:hover{background:color-mix(in srgb,var(--brand-ink) 10%,transparent)}
.k-btn:active{transform:translateY(2px)}
.k-chip{border-radius:var(--r-1);border:2px solid var(--keyline);background:var(--raised);font-weight:700}
.k-chip-yes{background:var(--yes-tint);border-color:var(--yes)}
.k-chip-caution{background:var(--caution-tint);border:2px dashed var(--caution)}
.k-chip-no{background:var(--no-tint);border-color:var(--no)}
.k-ver{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-ui);font-size:var(--t-sm);font-weight:700;color:var(--ink);padding:3px 10px 3px 8px;border:2px solid var(--keyline);border-radius:var(--r-1);background:var(--raised);line-height:1.3}
.k-ver svg{width:15px;height:15px;flex:none}
.k-ver-unverified{border-style:dashed;border-color:var(--caution);color:var(--caution);background:var(--caution-tint)}
.k-note{border:3px solid var(--keyline);border-radius:var(--r-2);background:var(--raised)}
.k-note-yes{border-color:var(--yes)}.k-note-no{border-color:var(--no)}
.k-field input{border-width:3px;border-color:var(--keyline);border-radius:var(--r-1);background:var(--raised)}
.k-field label{font-weight:700}
/* feature */
.b2-feat{max-width:1120px;margin:0 auto;padding-inline:24px}
.b2-open{border:3px solid var(--keyline);border-radius:var(--r-3);overflow:hidden;background:var(--raised)}
.b2-panels{display:grid;grid-template-columns:minmax(0,1fr)}
@media (min-width:880px){.b2-panels{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.b2-panels .b2-inside{border-left:3px solid var(--keyline);border-top:0}}
.b2-front{background:var(--surface);display:flex;flex-direction:column}
.b2-front .b2-slab{padding:24px 26px 18px}
.b2-front .b2-wide{font-size:clamp(28px,3.4vw,40px)}
.b2-front .b2-dots{height:48px}
.b2-front dl{margin:0;padding:6px 26px 24px;display:grid;gap:0}
.b2-front dl div{display:grid;grid-template-columns:8.6em 1fr;gap:4px 14px;padding-block:10px;border-top:1.5px solid var(--keyline)}
.b2-front dt{padding-top:3px}
.b2-front dd{margin:0}
.b2-inside{padding:clamp(22px,3vw,34px) clamp(20px,3vw,34px);border-top:3px solid var(--keyline);display:flex;flex-direction:column;gap:16px}
.b2-from{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 14px;border-bottom:1.5px solid var(--keyline);padding-bottom:10px;margin:0}
.b2-inside h3{font-family:var(--f-display);font-variation-settings:"wdth" 118;font-weight:800;font-size:clamp(28px,3vw,38px);line-height:1.05;margin:0;text-wrap:balance}
.b2-inside .k-yn{max-width:none}
.b2-inside .fine{font-size:var(--t-sm);color:var(--ink-2);margin:0}
.b2-striplabel{display:flex;justify-content:space-between;gap:10px;padding:8px 16px;border-top:3px solid var(--keyline);background:var(--surface)}
.b2-ask{margin-top:44px}
.b2-ask .q{font-size:clamp(28px,4vw,48px);margin:6px 0 8px;font-variation-settings:"wdth" 130}
.b2-ask .sub{margin:0 0 22px;color:var(--ink-2)}
.b2-mini{display:grid;gap:22px;grid-template-columns:minmax(0,1fr)}
@media (min-width:620px){.b2-mini{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.b2-mini{grid-template-columns:repeat(4,minmax(0,1fr))}}
.b2-mb{border:3px solid var(--keyline);border-radius:var(--r-2);overflow:hidden;background:var(--raised);display:flex;flex-direction:column}
.b2-mb .b2-slab{padding:16px 16px 10px}
.b2-mb .b2-wide{font-size:30px}
.b2-mb .b2-dots{height:24px}
.b2-mb .who{padding:2px 16px 12px;display:grid;gap:8px;border-bottom:1.5px solid var(--keyline)}
.b2-mb .who .k-ver{justify-self:start}
.b2-mb .said{padding:12px 16px 16px;margin:0;flex:1;font-size:var(--t-base);line-height:1.45}
.b2-mb .b2-strike{height:14px}
.b2-mb.is-unstruck{border-style:dashed;border-color:var(--caution);background:transparent}
.b2-mb.is-unstruck .name{padding:18px 16px 6px}
.b2-mb.is-unstruck .said{color:var(--ink-2)}
/* signature */
.b2-sigwrap{display:grid;gap:12px;min-width:min(100%,300px);flex:1}
.b2-sig{height:26px;border:3px solid var(--keyline);border-radius:var(--r-1)}
.b2-sigsay{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0;font-family:var(--f-ui)}
.b2-strike.is-playing::after{animation:b2flare 520ms cubic-bezier(.45,0,.55,1) 1 both}
.b2-strike.is-playing{animation:b2glow 520ms var(--ease) 1 both}
@keyframes b2flare{0%{transform:translateX(-110%);opacity:0}15%{opacity:1}85%{opacity:1}100%{transform:translateX(110%);opacity:0}}
@keyframes b2glow{0%,100%{filter:none}45%{filter:saturate(1.35) brightness(1.12)}}
@media (prefers-reduced-motion: reduce){.b2-strike.is-playing::after{animation:none;transform:none;opacity:.35}}
@media (max-width:560px){:root{--fvs-display:"wdth" 100;--t-3xl:40px}.b2-h1{font-size:34px;font-variation-settings:"wdth" 100}.b2-feat{padding-inline:16px}.b2-front dl div{grid-template-columns:1fr}.b2-ask .q{font-variation-settings:"wdth" 100}.b2-inside h3{font-variation-settings:"wdth" 100}}


/* ---- Ferry Room Players: site layer over B2 Matchbook ---- */
html{scroll-padding-top:12px}
[hidden]{display:none!important}
body{min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
.wrap{max-width:1120px;margin:0 auto;padding-inline:24px}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
p{margin:0 0 14px}
a{color:var(--ink)}
.sl{white-space:nowrap}
.skip{position:absolute;left:12px;top:-120px;z-index:30;background:var(--raised);color:var(--ink);border:3px solid var(--keyline);border-radius:var(--r-1);padding:10px 14px;font-family:var(--f-ui);font-weight:700}
.skip:focus{top:10px}
.mono,.host{font-family:var(--f-mono);font-size:var(--t-sm);overflow-wrap:anywhere}
.fine{font-size:var(--t-sm);color:var(--ink-2)}
.nowrap{white-space:nowrap}
/* example bar */
.xbar{background:var(--brand);color:var(--on-brand);font-family:var(--f-ui);font-size:var(--t-sm);line-height:1.3}
.xbar p{margin:0;display:flex;flex-wrap:wrap;align-items:center;column-gap:8px}
.xbar a{color:var(--on-brand);display:inline-flex;align-items:center;min-height:44px;text-underline-offset:.2em}
.xbar a:focus-visible{outline-color:var(--on-brand);outline-offset:-4px}
/* site header */
.site{background:var(--bg);border-bottom:3px solid var(--keyline)}
.site-in{display:flex;flex-wrap:wrap;align-items:center;gap:4px 18px;padding-top:12px}
.brand{display:inline-flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;min-height:44px;margin-right:auto}
.brand svg{width:46px;height:46px;flex:none;color:var(--ink)}
.brand-name{font-family:var(--f-display);font-weight:900;font-variation-settings:"wdth" 150;text-transform:uppercase;font-size:21px;line-height:.95;letter-spacing:.01em}
.brand-name small{display:block;font-size:12.5px;font-weight:800;font-variation-settings:"wdth" 72;letter-spacing:.08em;margin-top:4px}
:root[data-font="readable"] .brand-name small{font-family:var(--f-readable);font-variation-settings:normal}
.site nav{display:flex;flex-wrap:wrap;gap:0 2px;order:3;flex-basis:100%;margin-left:-10px}
.site nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;color:var(--ink);text-decoration:none;font-family:var(--f-ui);font-weight:700;border-bottom:4px solid transparent;border-top:4px solid transparent}
.site nav a:hover{border-bottom-color:var(--line-strong)}
.site nav a[aria-current="page"]{border-bottom-color:var(--accent)}
.tools{display:flex;flex-wrap:wrap;gap:8px}
.pk-tg{border-width:2px}
@media (max-width:620px){.brand{flex-basis:100%;margin-right:0}}
/* sections */
.sec{padding-block:clamp(40px,6vw,68px)}
.sec + .sec{border-top:3px solid var(--keyline)}
.eyebrow{margin:0 0 10px}
.sec-t{font-family:var(--f-display);font-variation-settings:"wdth" 125;font-weight:800;font-size:clamp(28px,4vw,var(--t-2xl));line-height:1.04;margin:0 0 14px;text-wrap:balance}
.lede{font-size:var(--t-lg);line-height:1.5;max-width:36em;margin:0 0 28px}
.prose{max-width:var(--measure)}
.prose p{margin:0 0 14px}
h3.b2-cond,.b2-inside h3.b2-cond{margin:0 0 10px;font-family:var(--f-display);font-variation-settings:"wdth" 72;font-weight:800;font-size:var(--t-sm);letter-spacing:.05em;line-height:1.2}
:root[data-font="readable"] .b2-inside h3.b2-cond{font-family:var(--f-readable);font-variation-settings:normal}
/* verification badge (kit markup, restyled) */
.kd-level{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-ui);font-size:var(--t-sm);font-weight:700;color:var(--ink);padding:3px 10px 3px 8px;border:2px solid var(--keyline);border-radius:var(--r-1);background:var(--raised);line-height:1.3;vertical-align:middle;white-space:nowrap}
.kd-level svg{width:15px;height:15px;flex:none}
.kd-level[data-level="unverified"]{border-style:dashed;border-color:var(--caution);color:var(--caution);background:var(--caution-tint)}
/* status chips: word, icon and shape; never color alone */
.st{display:inline-flex;align-items:center;gap:7px;font-family:var(--f-ui);font-size:var(--t-sm);font-weight:700;padding:4px 11px 4px 9px;border-radius:var(--r-1);border:2px solid;line-height:1.3}
.st svg{width:15px;height:15px;flex:none}
.st-wait{border-style:dashed;border-color:var(--caution);background:var(--caution-tint);color:var(--caution)}
.st-yes{border-color:var(--yes);background:var(--yes-tint);color:var(--yes)}
.st-no{border-color:var(--no);background:var(--no-tint);color:var(--no)}
.st-left{border-color:var(--keyline);background:var(--raised);color:var(--ink)}
/* provenance marks */
.pv{display:inline-flex;align-items:center;gap:5px;font-family:var(--f-display);font-variation-settings:"wdth" 72;font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:var(--t-cap);line-height:1;padding:3px 7px 3px 5px;border-radius:var(--r-1);white-space:nowrap;vertical-align:1px}
.pv svg{width:12px;height:12px;flex:none}
.pv-h{border:2px solid var(--keyline);background:var(--raised);color:var(--ink)}
.pv-i{border:2px dashed var(--ink-2);color:var(--ink-2)}
:root[data-font="readable"] .pv{font-family:var(--f-readable);font-variation-settings:normal}
.legend{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;margin:0 0 22px;font-size:var(--t-sm)}
.legend span.l{display:inline-flex;gap:8px;align-items:center}
/* buttons: Yes and No the same size and one ink */
.k-btn{min-height:48px}
.k-yn .k-btn-secondary{color:var(--brand);border-color:var(--brand)}
.k-btn-quiet{min-height:44px}
.btnrow{display:flex;flex-wrap:wrap;gap:10px}
/* tables */
.tbl{width:100%;border-collapse:collapse;font-family:var(--f-ui);font-size:var(--t-sm);border-top:3px solid var(--keyline)}
.tbl th,.tbl td{text-align:left;vertical-align:top;padding:11px 12px 11px 0;border-bottom:1.5px solid var(--keyline)}
.tbl thead th{font-family:var(--f-display);font-variation-settings:"wdth" 72;font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:var(--t-cap);padding-block:10px}
:root[data-font="readable"] .tbl thead th,:root[data-font="readable"] .stack td::before{font-family:var(--f-readable);font-variation-settings:normal}
.tbl td b{font-weight:700}
.tbl tbody th{font-weight:700}
.tbl th .fine{font-weight:400}
.tbl code{font-size:13.5px;overflow-wrap:anywhere}
@media (max-width:760px){
 .stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 .stack tr{display:block;padding:10px 0;border-bottom:1.5px solid var(--keyline)}
 .stack td,.stack th{display:block;border:0;padding:3px 0}
 .stack td[data-l]::before{content:attr(data-l);display:block;font-family:var(--f-display);font-variation-settings:"wdth" 72;font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:var(--t-cap);color:var(--ink-2);margin-top:6px}
}
/* the hero cover */
.hero{padding-block:clamp(22px,4vw,44px)}
.hero .b2-h1{font-size:clamp(34px,6.4vw,78px)}
.b2-book .b2-in .q{font-size:clamp(22px,2.3vw,26px)}
.b2-rules a{display:inline-flex;min-height:44px;min-width:44px;align-items:flex-start;padding-top:2px;color:var(--ink)}
.b2-rules code{padding-top:0}
/* this Friday's bill: a two-color gig poster */
.bill-grid{display:grid;gap:30px;grid-template-columns:minmax(0,1fr)}
@media (min-width:920px){.bill-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start}}
.poster{border:3px solid var(--keyline);border-radius:var(--r-3);overflow:hidden;background:var(--raised)}
.poster .b2-slab{padding:22px clamp(18px,3vw,32px) 18px}
.poster .b2-slab .b2-cond{margin:0 0 8px}
.poster-date{font-size:clamp(30px,4.6vw,54px)}
.acts{list-style:none;margin:0;padding:4px clamp(18px,3vw,32px) 0}
.acts li{display:grid;grid-template-columns:4.2em minmax(0,1fr);gap:2px 14px;padding-block:14px;border-bottom:1.5px solid var(--keyline)}
.acts .t{font-family:var(--f-mono);font-size:var(--t-sm);padding-top:5px}
.acts .n{font-family:var(--f-display);font-variation-settings:"wdth" 130;font-weight:900;font-size:clamp(22px,2.6vw,30px);line-height:1.02;text-transform:uppercase;margin:0;overflow-wrap:anywhere}
.acts .d{grid-column:2;margin:0;color:var(--ink-2);font-size:var(--t-sm)}
.poster-foot{padding:14px clamp(18px,3vw,32px) 18px;margin:0;font-family:var(--f-ui);font-weight:700}
.poster-foot span{display:block;font-weight:400;color:var(--ink-2);font-size:var(--t-sm)}
.short{border:3px dashed var(--caution);background:var(--caution-tint);border-radius:var(--r-2);padding:16px 18px;margin-bottom:22px}
.short p{margin:0 0 10px}
.short .st{margin-bottom:10px}
.short.is-yes{border-style:solid;border-color:var(--yes);background:var(--yes-tint)}
.short.is-no{border-style:solid;border-color:var(--no);background:var(--no-tint)}
.short.is-left{border-style:solid;border-color:var(--keyline);background:var(--raised)}
/* the Pools as matchbooks */
.books{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.pbook{border:3px solid var(--keyline);border-radius:var(--r-2);overflow:hidden;background:var(--raised);display:flex;flex-direction:column}
.pbook .b2-slab{padding:16px 18px 12px}
.pbook .b2-slab .b2-cond{margin:0 0 6px}
.pbook h3{font-family:var(--f-display);font-variation-settings:"wdth" 125;font-weight:900;font-size:25px;line-height:1.02;margin:0;text-transform:uppercase;overflow-wrap:anywhere}
.pbook .b2-dots{height:24px}
.pbook .body{padding:6px 18px 16px;display:grid;gap:10px;flex:1;align-content:start}
.pbook .body p{margin:0}
.pbook .keep{display:grid;gap:6px;justify-items:start;font-size:var(--t-sm)}
.kp{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-right:10px}
.kp + .kp{margin-top:4px}
.pbook dl{margin:0;display:grid;gap:0;border-top:1.5px solid var(--keyline)}
.pbook dl div{display:grid;grid-template-columns:7em minmax(0,1fr);gap:2px 10px;padding-block:7px;border-bottom:1.5px solid var(--keyline);font-size:var(--t-sm)}
.pbook dd{margin:0}
.pbook .go{padding:0 18px 16px}
.pbook .go .k-btn{width:100%}
.pbook .b2-strike{height:14px}
/* how a sub call works */
.steps{list-style:none;margin:0;padding:0;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));counter-reset:s}
.steps li{border:3px solid var(--keyline);border-radius:var(--r-2);background:var(--raised);padding:16px 18px 18px;counter-increment:s;position:relative}
.steps li::before{content:counter(s);display:grid;place-items:center;width:40px;height:40px;border-radius:var(--r-1);background:var(--accent);color:var(--on-accent);font-family:var(--f-display);font-weight:900;font-variation-settings:"wdth" 150;font-size:22px;margin-bottom:12px}
.steps h3{font-family:var(--f-display);font-variation-settings:"wdth" 118;font-weight:800;font-size:22px;line-height:1.08;margin:0 0 8px}
.steps p{margin:0;font-size:var(--t-base)}
.join{display:grid;gap:20px;grid-template-columns:minmax(0,1fr);margin-bottom:34px}
@media (min-width:860px){.join{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.panel{border:3px solid var(--keyline);border-radius:var(--r-2);background:var(--raised);padding:18px 20px}
.panel h3{font-family:var(--f-display);font-variation-settings:"wdth" 118;font-weight:800;font-size:24px;line-height:1.08;margin:0 0 10px}
.panel p:last-child{margin-bottom:0}
/* what it costs: the back of the book */
.costs{border:3px solid var(--keyline);border-radius:var(--r-3);overflow:hidden;background:var(--raised)}
.costs ul{list-style:none;margin:0;padding:6px clamp(18px,3vw,32px) 10px}
.costs li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 18px;align-items:baseline;padding-block:14px;border-bottom:1.5px solid var(--keyline)}
.costs li b{font-family:var(--f-display);font-variation-settings:"wdth" 118;font-weight:800;font-size:22px;line-height:1.1}
.costs li span.p{font-family:var(--f-display);font-variation-settings:"wdth" 150;font-weight:900;font-size:22px;text-transform:uppercase}
.costs li small{grid-column:1 / -1;font-size:var(--t-sm);color:var(--ink-2)}
.costs .money{padding:16px clamp(18px,3vw,32px) 20px;background:var(--surface);border-top:3px solid var(--keyline)}
.costs .money p:last-child{margin:0}
/* people cards */
.cards{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}
.pl{border:3px solid var(--keyline);border-radius:var(--r-2);overflow:hidden;background:var(--raised);display:flex;flex-direction:column}
.pl .b2-slab{padding:16px 18px 12px}
.pl .b2-slab .b2-cond{margin:0 0 6px}
.pl .nm{font-family:var(--f-display);font-variation-settings:"wdth" 125;font-weight:900;font-size:26px;line-height:1;text-transform:uppercase;margin:0;overflow-wrap:anywhere}
.pl .b2-dots{height:24px}
.pl .who{padding:2px 18px 12px;display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;border-bottom:1.5px solid var(--keyline)}
.pl .who .host{flex-basis:100%}
.pl dl{margin:0;padding:2px 18px 6px;flex:1}
.pl dl div{display:grid;grid-template-columns:5.6em minmax(0,1fr);gap:2px 12px;padding-block:9px;border-bottom:1.5px solid var(--keyline)}
.pl dl div:last-child{border-bottom:0}
.pl dt{padding-top:3px}
.pl dd{margin:0;font-size:var(--t-sm);line-height:1.45}
.pl dd .pv{margin-left:4px}
.pl .how{margin:0;padding:12px 18px 14px;border-top:3px solid var(--keyline);background:var(--surface);display:grid;gap:4px;font-size:var(--t-sm)}
.pl .how b{display:inline-flex;align-items:center;gap:7px;font-family:var(--f-ui);font-size:var(--t-base)}
.pl .how svg{width:17px;height:17px}
.pl .b2-strike{height:14px}
.pl.is-asked{border-style:dashed;border-color:var(--caution);background:transparent}
.pl.is-asked .nm{padding:18px 18px 4px}
.pl.is-asked .body{padding:8px 18px 18px;display:grid;gap:10px;justify-items:start}
.pl.is-asked .body p{margin:0}
.pl.is-gone{border-style:solid;background:var(--surface)}
/* ask the Pool */
.askform{display:grid;gap:14px;margin-bottom:26px}
.askform .k-field{max-width:none;margin:0}
.askform label{display:flex;align-items:flex-end;min-height:44px;font-size:var(--t-base)}
.askform .row{display:flex;flex-wrap:wrap;gap:10px;align-items:end}
.askform .row .k-field{flex:1 1 320px}
.askform input{font-size:var(--t-lg)!important}
.try{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:var(--t-sm)}
.try .k-btn{min-height:44px;padding:8px 14px;font-size:var(--t-sm)}
.results{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.res .said{font-size:var(--t-sm)!important}
.res .hit{padding:0 16px 14px;margin:0;font-size:var(--t-sm)}
.res .hit b{font-family:var(--f-mono);font-weight:400;background:var(--brand-tint);padding:0 4px;border-radius:3px}
.saynote{margin:14px 0 0;font-size:var(--t-sm)}
.b2-mb .b2-wide{overflow-wrap:anywhere}
/* the open book (handshake) */
.stage{padding-block:clamp(22px,4vw,40px) 10px}
.context{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:0 0 18px;font-size:var(--t-sm)}
.b2-open{margin:0}
.b2-inside h1{font-family:var(--f-display);font-variation-settings:"wdth" 118;font-weight:800;font-size:clamp(30px,3.4vw,42px);line-height:1.04;margin:0;text-wrap:balance}
.b2-front .b2-wide{overflow-wrap:anywhere}
.b2-front dd{font-size:var(--t-base)}
.b2-inside .why{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:2px solid var(--keyline);border-radius:var(--r-1);background:var(--surface);font-size:var(--t-sm);margin:0}
.b2-inside .why svg{width:18px;height:18px;flex:none;margin-top:2px}
.result{display:grid;gap:12px}
.result[hidden]{display:none}
.result p{margin:0}
.note{border:3px solid var(--keyline);border-radius:var(--r-2);padding:14px 16px;background:var(--raised)}
.note.is-yes{border-color:var(--yes);background:var(--yes-tint)}
.note.is-no{border-color:var(--no);background:var(--no-tint)}
.note.is-wait{border-style:dashed;border-color:var(--caution);background:var(--caution-tint)}
.note p{margin:0 0 10px}.note p:last-child{margin:0}
@media (max-width:879px){#book .b2-inside{order:-1;border-top:0;border-bottom:3px solid var(--keyline)}}
/* the clock */
.clock{display:grid;gap:8px}
.clock-top{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between;font-size:var(--t-sm)}
.ruler{position:relative;height:34px;border:3px dashed var(--caution);border-radius:var(--r-1);
  background:linear-gradient(90deg,var(--ink) 2px,transparent 2px) 0 0/25% 100% repeat-x,linear-gradient(90deg,var(--line-strong) 1.5px,transparent 1.5px) 0 100%/calc(100% / 48) 40% repeat-x,var(--raised)}
.ruler-used{position:absolute;left:0;top:0;bottom:0;background:color-mix(in srgb,var(--caution) 38%,var(--raised));transition:width var(--dur-disclose) var(--ease)}
.ruler-now{position:absolute;top:-9px;bottom:-9px;width:4px;margin-left:-2px;background:var(--ink);border-radius:2px;transition:left var(--dur-disclose) var(--ease)}
.ruler.is-yes{border-style:solid;border-color:var(--yes)}
.ruler.is-no{border-style:solid;border-color:var(--no)}
.ruler-lab{display:flex;justify-content:space-between;font-family:var(--f-mono);font-size:13px;color:var(--ink-2)}
/* the desk: clock, curator and reset controls */
.desk{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));margin-top:26px}
.desk .panel p{font-size:var(--t-sm)}
.say{margin:10px 0 0;font-size:var(--t-sm)}
.say:empty{display:none}
details.log{margin-top:26px;border:3px solid var(--keyline);border-radius:var(--r-2);background:var(--raised)}
details.log>summary{cursor:pointer;min-height:48px;display:flex;align-items:center;padding:6px 18px;font-family:var(--f-ui);font-weight:700;list-style-position:inside}
details.log[open]>summary{border-bottom:1.5px solid var(--keyline)}
.logl{list-style:none;margin:0;padding:6px 18px 14px}
.logl li{padding-block:12px;border-bottom:1.5px solid var(--keyline)}
.logl li:last-child{border-bottom:0}
.logl .lh{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;margin-bottom:4px}
.logl time{font-family:var(--f-mono);font-size:13px;color:var(--ink-2)}
.logl .ty{font-family:var(--f-display);font-variation-settings:"wdth" 72;font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:var(--t-cap)}
:root[data-font="readable"] .logl .ty{font-family:var(--f-readable);font-variation-settings:normal}
pre.json{margin:8px 0 0;padding:12px 14px;background:var(--surface);border:1.5px solid var(--keyline);border-radius:var(--r-1);font-family:var(--f-mono);font-size:12.5px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink)}
/* Mae's panel */
.mae{display:grid;gap:26px;grid-template-columns:minmax(0,1fr)}
@media (min-width:980px){.mae{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start}}
.notice .b2-slab{padding:18px 20px 14px}
.notice .b2-slab .b2-cond{margin:0 0 8px}
.notice .b2-wide{font-size:clamp(24px,2.6vw,30px)}
.notice .mhead{padding:8px 20px 12px;display:grid;gap:6px;border-bottom:1.5px solid var(--keyline);font-size:var(--t-sm)}
.notice .mhead div{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}
.notice .mbody{padding:14px 20px 18px;display:grid;gap:12px}
.notice .mbody p{margin:0}
.notice .kitline{font-family:var(--f-ui);font-weight:800;font-size:var(--t-lg);line-height:1.3}
.checks{list-style:none;margin:0 0 18px;padding:0;border-top:3px solid var(--keyline)}
.checks li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:4px 10px;padding-block:11px;border-bottom:1.5px solid var(--keyline);font-size:var(--t-sm)}
.checks li svg{width:20px;height:20px;margin-top:1px}
.checks li b{display:block;font-size:var(--t-base)}
.rulecount{display:flex;gap:6px;align-items:center;margin:0 0 16px;font-size:var(--t-sm);flex-wrap:wrap}
.rulecount i{display:block;width:26px;height:16px;border:2px solid var(--keyline);border-radius:3px}
.rulecount i.on{background:var(--ink)}
/* curators */
.keepers{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.keeper{border:3px solid var(--keyline);border-radius:var(--r-2);background:var(--raised);padding:16px 18px;display:grid;gap:8px;align-content:start}
.keeper h3{font-family:var(--f-display);font-variation-settings:"wdth" 118;font-weight:800;font-size:22px;line-height:1.08;margin:0}
.keeper p{margin:0;font-size:var(--t-sm)}
.keeper .kd-level{justify-self:start}
/* under the hood */
.mf{border:3px solid var(--keyline);border-radius:var(--r-2);background:var(--raised);overflow:hidden;margin-bottom:26px}
.mf-h{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between;align-items:center;padding:14px 18px;background:var(--accent);color:var(--on-accent)}
.mf-h h3{font-family:var(--f-display);font-variation-settings:"wdth" 125;font-weight:900;font-size:24px;line-height:1.05;margin:0;text-transform:uppercase;overflow-wrap:anywhere}
.mf-h .file{font-family:var(--f-mono);font-size:var(--t-sm)}
.mf-b{padding:6px 18px 16px}
.kv{margin:0 0 12px;display:grid}
.kv div{display:grid;grid-template-columns:minmax(0,13em) minmax(0,1fr);gap:2px 16px;padding-block:9px;border-bottom:1.5px solid var(--keyline);font-size:var(--t-sm)}
.kv dt{font-family:var(--f-mono);font-size:13.5px;overflow-wrap:anywhere}
.kv dd{margin:0;overflow-wrap:anywhere}
@media (max-width:620px){.kv div{grid-template-columns:minmax(0,1fr)}}
.filelink{display:inline-flex;align-items:center;min-height:44px;gap:8px;font-family:var(--f-ui);font-weight:700}
.mf-h .filelink{color:var(--on-accent);min-height:44px}
.mf-h .filelink:focus-visible{outline-color:var(--on-accent)}
details.raw{margin-top:8px}
details.raw>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-family:var(--f-ui);font-weight:700}
.gaps{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.gaps li{border:3px dashed var(--ink-2);border-radius:var(--r-2);padding:16px 18px;background:var(--raised)}
.gaps h3{font-family:var(--f-display);font-variation-settings:"wdth" 112;font-weight:800;font-size:21px;line-height:1.12;margin:0 0 8px}
.gaps p{margin:0 0 8px}.gaps p:last-child{margin:0}
/* footer */
.foot{border-top:3px solid var(--keyline);background:var(--surface);font-family:var(--f-ui);font-size:var(--t-sm)}
.foot .b2-strike{height:14px}
.foot .wrap{padding-block:22px 34px}
.foot p{margin:0 0 8px;max-width:70ch}
@media (max-width:560px){
 .wrap{padding-inline:16px}
 .brand-name{font-size:18px;font-variation-settings:"wdth" 125}
 .hero .b2-h1{font-size:34px}
 .sec-t,.pbook h3,.pl .nm,.mf-h h3,.acts .n,.steps h3,.panel h3,.keeper h3,.gaps h3,.costs li b{font-variation-settings:"wdth" 100}
 .poster-date,.notice .b2-wide,.b2-inside h1,.b2-front .b2-wide,.b2-kick{font-variation-settings:"wdth" 100}
 .b2-body{padding-inline:16px}
 .b2-slab{padding-inline:16px}
 .acts li{grid-template-columns:3.6em minmax(0,1fr)}
 .costs li span.p{font-variation-settings:"wdth" 100}
}
@media (prefers-reduced-motion: reduce){.ruler-used,.ruler-now{transition:none}}
