/* Practical article tools, shared by Python and Next public readers. */
.ls-checklist { border:1px solid var(--border-hairline); border-radius:var(--radius-lg); padding:20px; margin:24px 0; }
.ls-checklist h2 { margin-top:0!important; }
.ls-checklist ul { list-style:none!important; padding:0!important; margin:12px 0 0!important; }
.ls-checklist li { list-style:none!important; margin:0!important; padding:0!important; border-top:1px solid var(--border-hairline); }
.ls-checklist label { display:flex; align-items:flex-start; gap:12px; min-height:44px; padding:12px 0; margin:0; font-weight:400; line-height:1.6; cursor:pointer; }
.ls-checklist input[type=checkbox] { flex:none; width:20px; height:20px; margin:3px 0 0; accent-color:var(--brand-deep-purple); cursor:pointer; }
.ls-checklist input:focus-visible { outline:3px solid var(--brand-deep-purple); outline-offset:4px; }
.ls-checklist input:checked + span { text-decoration:line-through; }
.ls-checklist span { min-width:0; overflow-wrap:anywhere; }
.ls-worksheet { margin:20px 0; }
.ls-worksheet a { display:inline-flex; align-items:center; min-height:44px; padding:10px 16px; border-radius:var(--radius-md); background:var(--btn-action-bg); color:var(--btn-action-fg)!important; font-weight:600; text-decoration:none; }
.ls-worksheet a:focus-visible { outline:3px solid var(--brand-deep-purple); outline-offset:4px; }
.ls-process { max-width:560px; margin:28px auto!important; }
.ls-process img { display:block; width:100%; height:auto; }
.ls-process figcaption { font-size:.85rem; line-height:1.5; color:var(--text-muted); margin-top:8px; }
.ls-library-return { padding-top:16px; border-top:1px solid var(--border-hairline); }
.ls-closeout-faq details { border-bottom:1px solid var(--border-hairline); padding:12px 0; }
.ls-closeout-faq summary { cursor:pointer; font-weight:600; min-height:44px; padding:8px 0; }
.ls-closeout-faq details p { margin-top:12px; }
.ls-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; font-size:.85rem; }
.ls-product- { margin:24px 0; }
.ls-product- img { display:block; width:100%; height:auto; border:1px solid var(--border-hairline); border-radius:var(--radius-md); }
.ls-product- figcaption { font-size:.85rem; color:var(--text-muted); line-height:1.5; margin-top:8px; }
@media(max-width:520px) { .ls-checklist { padding:14px; } .ls-worksheet a { width:100%; justify-content:center; } }
@media print { .ls-checklist { break-inside:avoid; } .ls-checklist input[type=checkbox] { appearance:auto; } }

/* Closeout reader: keep text growth and disclosure targets usable. */
.public-design #main-content .res-closeout-readable :is(h1,h2,h3,h4,p,a,span,summary,button,figcaption):not(:where(#articleBody,#articleBody *)),
.public-design #main-content .res-closeout-readable #articleBody :is(h2,h3,h4,figcaption) { line-height:1.6!important; }
.res-closeout-readable .res-toc summary { min-height:44px; padding:10px 0; }
.res-closeout-readable .res-toc a { min-height:44px; }
.res-closeout-readable .res-excerpt { display:block; -webkit-line-clamp:unset; overflow:visible; }
.public-design #main-content :is(.res-closeout-readable,.res-application-readable) .res-btn.pd-preserve {
  border-radius:999px;
  font-family:"Open Sans",Arial,sans-serif!important;
  background:var(--btn-primary-bg);
  color:var(--btn-primary-fg)!important;
  transition:background-color .4s ease,color .4s ease,border-color .4s ease;
}
.public-design #main-content :is(.res-closeout-readable,.res-application-readable) .res-btn.pd-preserve:is(:hover,:focus-visible) { background:var(--btn-primary-hover); color:var(--btn-primary-hover-fg)!important; filter:none; }
.public-design #main-content :is(.res-closeout-readable,.res-application-readable) .res-btn.secondary.pd-preserve { background:transparent; color:var(--brand-deep-purple)!important; border-color:var(--brand-deep-purple); }
.public-design #main-content :is(.res-closeout-readable,.res-application-readable) .res-btn.secondary.pd-preserve:is(:hover,:focus-visible) { background:var(--brand-deep-purple); color:var(--btn-primary-fg)!important; }

/* Application process: scoped navigation and optional timing disclosure targets. */
.res-application-readable .res-toc summary { min-height:44px; padding:10px 0; }
.res-application-readable .res-toc a { min-height:44px; }
.res-application-readable #articleBody .application-timing-question > summary { min-height:44px; padding:8px 0; font:inherit; cursor:pointer; }
