/* Shared foundation for explicitly authored or reviewed reading tools. */
.jt-reader-tool{--jt-rt-paper:oklch(96% .01 70);--jt-rt-surface:oklch(98.2% .006 70);--jt-rt-ink:oklch(24% .015 155);--jt-rt-muted:oklch(45% .015 155);--jt-rt-forest:oklch(29% .038 155);--jt-rt-sage:oklch(89% .023 150);--jt-rt-line:oklch(77% .018 70);--jt-rt-accent:oklch(58% .085 43);box-sizing:border-box;min-width:0;max-width:100%;margin:clamp(30px,5vw,60px) auto;background:var(--jt-rt-surface);color:var(--jt-rt-ink);font:400 16px/1.55 Roobert,Arial,sans-serif;font-synthesis:none;clear:both;text-align:left;}
.jt-reader-tool *{box-sizing:border-box;min-width:0;}
.jt-reader-tool :where(h2,h3,p,figure,dl,dd){margin:0;}
.jt-reader-tool :where(h2){font:300 clamp(29px,3.4vw,42px)/1.12 Butler,Georgia,serif;letter-spacing:0;text-transform:none;text-wrap:balance;}
.jt-reader-tool :where(h3){font:400 21px/1.3 Roobert,Arial,sans-serif;letter-spacing:0;text-transform:none;}
.jt-reader-tool :where(p){max-width:72ch;font-size:16px;line-height:1.6;}
.jt-reader-tool :where(p+p){margin-top:14px;}
.jt-reader-tool :where(a){color:inherit;text-underline-offset:4px;}
.jt-reader-tool :where(img){display:block;max-width:100%;height:auto;contain-intrinsic-size:none;}
.jt-reader-tool :where(button,input,textarea,select){font:inherit;border-radius:0;}
.jt-reader-tool :where(button){cursor:pointer;min-height:46px;line-height:1.35;}
.jt-reader-tool :where(input,textarea,select){font-size:16px;max-width:100%;}
.jt-reader-tool :where(button,a,summary,input,textarea,select):focus-visible{outline:3px solid var(--jt-rt-accent);outline-offset:4px;}
.jt-reader-tool [hidden]{display:none!important;}
/* Article skins own prose typography; the approved embedded tools own their display headings. */
.jt-reader-tool.jt-reader-tool{width:100%;max-width:960px;}
.jt-reader-tool.jt-reader-tool h2,.entry-content .jt-reader-tool.jt-reader-tool h2{font-family:Butler,Georgia,serif!important;font-weight:300!important;font-size:clamp(30px,3.4vw,42px)!important;line-height:1.12!important;letter-spacing:0!important;text-transform:none!important;color:inherit;}
@media(max-width:420px){.jt-reader-tool :where(h2){font-size:30px;}}
@media(prefers-reduced-motion:reduce){.jt-reader-tool *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}
