/* /book/ | page styles, prefixed .bk-* | logical properties only | no text under 13px | targets at least 44px */
.bk-form{display:flex;flex-direction:column;gap:var(--s-5)}
.bk-step{margin:0;padding:0;border:0;min-inline-size:0}
.bk-step legend,.bk-h,.bk-step .field>label{display:flex;align-items:center;gap:10px;margin:0 0 var(--s-3);padding:0;font:var(--fw-semibold) var(--fs-18)/1.3 var(--font-serif);color:var(--ink)}
.bk-n{flex:none;display:inline-flex;align-items:center;justify-content:center;inline-size:28px;block-size:28px;border-radius:50%;background:var(--primary);color:var(--on-solid);font:var(--fw-semibold) var(--fs-14)/1 var(--font-sans)}
.bk-resched{margin:0;padding:10px 12px;border-radius:var(--r-sm);background:var(--sky);border:1px solid var(--border);color:var(--ink-2);font-size:var(--fs-14)}
.bk-resched[hidden]{display:none}
.bk-wait{margin:0;color:var(--muted);font-size:var(--fs-15)}
.bk-wait[hidden]{display:none}
.bk-days{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(min(100%,110px),1fr))}
.bk-days[hidden],.bk-pager[hidden],.bk-step[hidden]{display:none}
.bk-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-block-size:60px;padding:6px 8px;border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--card);color:var(--ink);font:inherit;font-size:var(--fs-15);cursor:pointer}
.bk-day small{font-size:var(--fs-13);color:var(--muted)}
.bk-day:hover{border-color:var(--primary)}
.bk-day[aria-pressed="true"]{border-color:var(--primary);background:var(--sky);box-shadow:inset 0 0 0 1px var(--primary)}
.bk-day:focus-visible,.bk-pager .btn:focus-visible{box-shadow:var(--shadow-focus);outline:none}
.bk-pager{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap;margin-block-start:var(--s-3)}
.bk-pager .btn{min-block-size:44px}
.bk-pager .btn[disabled]{opacity:.45;cursor:default}
.bk-count{font-size:var(--fs-14);color:var(--muted)}
.bk-sum{margin:var(--s-3) 0 0;font-weight:var(--fw-semibold);color:var(--ink)}
.bk-sum:empty{display:none}
.bk-nf-msg{margin:var(--s-3) 0 0;color:var(--ink-2);font-size:var(--fs-15)}
.bk-nf-msg[hidden]{display:none}
.bk-nf-msg a{display:inline-flex;align-items:center;min-block-size:44px;font-weight:var(--fw-semibold)}
#bk-nf[disabled]{opacity:.55;cursor:default}
.bk-err{margin:0}
.bk-err[hidden]{display:none}
.bk-form[hidden]{display:none}
.bk-when{margin:0;font:var(--fw-semibold) var(--fs-20)/1.4 var(--font-serif);color:var(--ink)}
.bk-done .actions .btn{flex:0 1 auto;min-block-size:44px}
/* honeypot: off-screen, never display:none (some bots skip those), never a style attribute (CSP) */
.bk-hp{position:absolute;inset-inline-start:-10000px;inline-size:1px;block-size:1px;overflow:hidden}
.fold{background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-1);overflow:hidden}
.fold>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:14px 18px;font-weight:var(--fw-semibold);font-size:var(--fs-16);color:var(--ink);min-block-size:52px}
.fold>summary::-webkit-details-marker{display:none}
.fold>summary::after{content:"";inline-size:10px;block-size:10px;border-inline-end:2px solid var(--muted);border-block-end:2px solid var(--muted);transform:rotate(45deg);flex:none;margin-inline-end:4px}
.fold[open]>summary::after{transform:rotate(225deg)}
.fold>summary:focus-visible{box-shadow:inset var(--shadow-focus)}
.fold>div{padding:0 18px 18px;color:var(--ink-2)}
.fold>div>p{margin:0 0 var(--s-3);max-inline-size:var(--read-max)}
.fold .link-btn{min-block-size:44px}
