.course-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.2rem}
.course-start{display:inline-block;background:var(--pst-color-primary);color:var(--pst-color-background)!important;text-decoration:none;padding:.6rem 1rem;border-radius:.3rem;font-weight:600}
.course-start:hover{filter:brightness(.9)}
.course-demo{border:1px solid var(--pst-color-border);border-top:3px solid #fed34c;border-radius:.35rem;padding:1.2rem;margin:1.5rem 0;background:var(--pst-color-surface)}
.demo-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.4rem}
.demo-controls label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:600;color:var(--pst-color-text-base)}
.demo-controls label[hidden]{display:none}
.demo-controls output{font-size:.86rem;color:var(--pst-color-primary)}
.demo-controls input,.demo-controls select{width:100%;min-width:0;color:var(--pst-color-text-base);background:var(--pst-color-background);border:1px solid var(--pst-color-border);border-radius:.25rem;padding:.4rem;font:inherit}
.demo-controls input[type=range]{padding:0;accent-color:var(--pst-color-primary)}
.demo-button{margin:1rem 0 .5rem;padding:.45rem .8rem;border:1px solid var(--pst-color-primary);border-radius:.3rem;background:var(--pst-color-primary-bg);color:var(--pst-color-link-higher-contrast);font:inherit;font-weight:600}
.demo-button:hover{background:var(--pst-color-secondary-bg)}
.demo-chart{width:100%;margin:.75rem 0;overflow:hidden}
.demo-chart svg{display:block;width:100%;height:auto;background:var(--pst-color-background);border-radius:.25rem}
.demo-chart text{font-family:inherit;fill:var(--pst-color-text-base);font-size:12px}
.demo-chart .chart-axis{stroke:var(--pst-color-text-muted);stroke-width:1}
.demo-chart .chart-grid{stroke:var(--pst-color-border-muted);stroke-width:1}
.demo-chart .series-0{stroke:var(--pst-color-text-base)}
.demo-chart .series-1{stroke:var(--pst-color-primary)}
.demo-chart .series-2{stroke:#b68a00}
html[data-theme=dark] .demo-chart .series-2{stroke:#fed34c}
.demo-status{font-size:.92rem;border-left:3px solid var(--pst-color-primary);padding:.6rem .8rem;background:var(--pst-color-background);line-height:1.7}
.demo-status p:last-child{margin-bottom:0}
.demo-caption{font-size:.85rem;color:var(--pst-color-text-muted);margin-bottom:0}
.demo-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-bottom:.75rem}
.demo-metrics strong{display:block;font-size:1.15rem;color:var(--pst-color-primary)}
.course-solution{border:1px solid var(--pst-color-border);border-left:3px solid var(--pst-color-primary);border-radius:.3rem;margin:1.4rem 0;padding:.7rem 1rem;background:var(--pst-color-background)}
.course-solution>summary{color:var(--pst-color-primary);font-weight:600;cursor:pointer}
.course-solution[open]>summary{margin-bottom:.8rem}
.course-solution>summary:focus-visible{outline:2px solid var(--pst-color-primary);outline-offset:3px}
.cell_output img{max-width:100%;height:auto}
.bd-article table{word-break:normal}
.bd-article .table-wrapper{overflow:auto}
@media(max-width:575px){.demo-controls{grid-template-columns:1fr}.course-demo{padding:.8rem}.demo-metrics{grid-template-columns:1fr}.demo-metrics strong{display:inline;margin-right:.5rem}.course-actions{align-items:flex-start;flex-direction:column}.bd-article h1{overflow-wrap:break-word}}
@media print{.course-demo{display:none}.course-actions{display:none}.course-solution>*{display:block}}

/* The label carries the meaning; colour reinforces it in either reading theme. */
.bd-article .course-core{--box-accent:#9b1b68;--box-bg:#fcf1f7;--box-title:#f7dfed}
.bd-article .course-method{--box-accent:#176b72;--box-bg:#eff8f8;--box-title:#dceff0}
.bd-article .course-boundary{--box-accent:#966400;--box-bg:#fffaec;--box-title:#f8edca}
html[data-theme=dark] .bd-article .course-core{--box-accent:#ffb0db;--box-bg:#302331;--box-title:#432b3c}
html[data-theme=dark] .bd-article .course-method{--box-accent:#9cdee3;--box-bg:#1d3035;--box-title:#264049}
html[data-theme=dark] .bd-article .course-boundary{--box-accent:#f5d486;--box-bg:#302b20;--box-title:#423a26}
.bd-article aside.admonition[class*="course-"]{background:var(--box-bg);border:1px solid var(--box-accent);border-left:4px solid var(--box-accent);border-radius:.3rem;box-shadow:none;margin:1.5rem 0;padding:.8rem 1rem}
.bd-article aside.admonition[class*="course-"]>.admonition-title{background:var(--box-title);color:var(--box-accent);font-size:1rem;margin:-.8rem -1rem .75rem;padding:.65rem 1rem;font-weight:650}
.bd-article aside.admonition[class*="course-"]>.admonition-title:before,
.bd-article aside.admonition[class*="course-"]>.admonition-title:after{display:none}
.bd-article aside.admonition[class*="course-"]>:last-child{margin-bottom:0}
.bd-article .course-flow img{background:white;border:1px solid #dce2e8;border-radius:.35rem;padding:.35rem;width:100%;height:auto}
.bd-article .course-flow figcaption{font-size:.9rem;line-height:1.6}
@media print{.course-core,.course-method,.course-boundary{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
