/* Teaching controls surround DHParser's Command Prompt and Windows output viewers. */
.md-typeset .dhp-v2 {
  --dhp-ink: #20394b;
  --dhp-muted: #4b6475;
  --dhp-blue: #08699c;
  --dhp-border: #b8d0df;
  --dhp-surface: #f0f7fc;
  --dhp-bg: #fff;
  color: var(--dhp-ink);
  background: var(--dhp-bg);
  font-size: .72rem;
}
[data-md-color-scheme=slate] .dhp-v2 {
  --dhp-ink: #e2edf5;
  --dhp-muted: #bccddd;
  --dhp-blue: #8aceff;
  --dhp-border: #486074;
  --dhp-surface: #203243;
  --dhp-bg: #182735;
}
.dhp-v2 [hidden] { display: none !important; }
.dhp-v2 .susa-lab-experience { display: none; }
.dhp-brief { padding: .9rem 1rem; background: var(--dhp-surface); }
.dhp-brief>span,.dhp-coach>small,.dhp-source>small,.dhp-case-note>small { display: block; color: var(--dhp-blue); font-size: .59rem; font-weight: 750; letter-spacing: .04em; }
.dhp-brief>strong { display: block; margin-top: .25rem; font-size: 1rem; line-height: 1.45; }
.md-typeset .dhp-brief p { margin: .45rem 0; line-height: 1.65; }
.dhp-brief>small { display: block; color: var(--dhp-muted); font-size: .63rem; line-height: 1.6; }
.md-typeset .dhp-packet { margin: 0; padding: .6rem 1rem; border: 0; border-block: 1px solid var(--dhp-border); background: var(--dhp-bg); box-shadow: none; }
.md-typeset .dhp-packet>summary { padding: 0; color: var(--dhp-ink); background: none; font-size: .67rem; cursor: pointer; }
.md-typeset .dhp-packet p { margin: .6rem 0 0; font-size: .67rem; line-height: 1.7; }
.dhp-packet code { white-space: normal; overflow-wrap: anywhere; }
.md-typeset .dhp-packet>summary::before,.md-typeset .dhp-packet>summary::after { display: none; }
.md-typeset .dhp-v2 ol.dhp-lab__progress { display: grid !important; grid-template-columns: repeat(6,minmax(0,1fr)); gap: .35rem; padding: .8rem .6rem !important; overflow: visible; background: var(--dhp-bg); }
.md-typeset .dhp-v2 ol.dhp-lab__progress::before { display: none; }
.md-typeset .dhp-v2 ol.dhp-lab__progress li { min-width: 0; gap: .3rem; text-align: center; }
.dhp-v2 .dhp-lab__progress small { color: var(--dhp-ink); font-size: .59rem; }
.dhp-v2 .dhp-lab__progress span { width: 1.45rem; height: 1.45rem; border-color: var(--dhp-border); color: var(--dhp-blue); background: var(--dhp-bg); }
.dhp-v2 .dhp-lab__progress .is-active span { background: #08699c; color: #fff; }
.dhp-v2 .dhp-lab__progress .is-done span { background: #24724d; color: #fff; }
.dhp-coach { padding: .8rem 1rem; border-block: 1px solid var(--dhp-border); background: var(--dhp-surface); scroll-margin-top: 4rem; }
.dhp-coach>strong { display: block; margin: .2rem 0; font-size: .9rem; }
.md-typeset .dhp-coach p { margin: .3rem 0; color: var(--dhp-ink); font-size: .72rem; line-height: 1.65; }
.dhp-coach>div { display: flex; align-items: flex-start; flex-wrap: wrap; gap: .45rem; margin-top: .5rem; }
.md-typeset .dhp-coach details { flex: 1 1 12rem; margin: 0; border: 1px solid var(--dhp-border); border-radius: .25rem; background: var(--dhp-bg); box-shadow: none; }
.md-typeset .dhp-coach summary { padding: .4rem .55rem; background: none; color: var(--dhp-blue); font-size: .64rem; cursor: pointer; }
.md-typeset .dhp-coach summary::before,.md-typeset .dhp-coach summary::after { display: none; }
.md-typeset .dhp-coach details p { padding: .3rem .55rem .55rem; font-size: .67rem; overflow-wrap: anywhere; }
.dhp-v2 .dhp-lab__workspace { min-height: 15rem; padding: .9rem; background: #dce8f0; }
[data-md-color-scheme=slate] .dhp-v2 .dhp-lab__workspace { background: #12202d; }
.dhp-v2 :is(button,input,textarea,select) { font: inherit; }
.dhp-v2 :is(button,summary,input,textarea,select):focus-visible { outline: 3px solid #438ae1; outline-offset: 2px; }
.dhp-v2 button { min-height: 2rem; padding: .4rem .65rem; border: 1px solid var(--dhp-blue); border-radius: .25rem; color: var(--dhp-blue); background: var(--dhp-bg); font-size: .65rem; cursor: pointer; }
.dhp-v2 button:disabled { border-color: var(--dhp-border); color: var(--dhp-muted); opacity: .65; cursor: default; }
.dhp-v2 input:not([type=radio]),.dhp-v2 select { padding: .4rem; border: 1px solid var(--dhp-border); border-radius: .15rem; color: var(--dhp-ink); background: var(--dhp-bg); }
.dhp-v2 input[type=radio] { flex: none; width: 17px; height: 17px; margin: .15rem .35rem 0 0; accent-color: #08699c; }
.dhp-copy-check,.dhp-run-check,.dhp-case-note { display: grid; gap: .7rem; padding: .8rem; border: 1px solid var(--dhp-border); border-radius: .3rem; background: var(--dhp-bg); }
.dhp-source { padding: .65rem; background: var(--dhp-surface); }
body .md-typeset .cdk-browser-lab__app.dhp-v2 h4 { margin: .2rem 0 .5rem; font-size: .8rem; color: var(--dhp-ink); }
.md-typeset .dhp-source p { margin: .5rem 0 0; color: var(--dhp-muted); font-size: .67rem; }
.dhp-v2 .dhp-source code,.dhp-copy-option code { display: block; padding: .3rem; color: var(--dhp-ink); background: var(--dhp-bg); font: .65rem/1.6 Consolas,monospace; overflow-wrap: anywhere; white-space: normal; user-select: all; }
.dhp-v2 fieldset { min-width: 0; margin: 0 0 .6rem; padding: .65rem; border: 1px solid var(--dhp-border); }
.dhp-v2 legend { padding: 0 .2rem; color: var(--dhp-ink); font-size: .7rem; font-weight: 700; }
.dhp-copy-option { display: flex; padding: .65rem; margin-bottom: .4rem; border: 1px solid var(--dhp-border); border-radius: .25rem; cursor: pointer; }
.dhp-copy-option>span { display: grid; min-width: 0; gap: .2rem; width: 100%; }
.dhp-copy-option small { color: var(--dhp-muted); font-size: .6rem; overflow-wrap: anywhere; }
.dhp-copy-option:has(:checked) { border-color: var(--dhp-blue); background: var(--dhp-surface); }
.dhp-v2 .dhp-window { border: 1px solid #707070; border-radius: 0; color: #111; background: #fff; }
.dhp-v2 .dhp-window>header { height: 30px; min-width: 0; padding-left: 6px; background: #f3f3f3; color: #111; font: 12px/1.3 "Segoe UI",Arial,sans-serif; }
.dhp-v2 .dhp-window>header>span { flex: 1; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.dhp-v2 .dhp-window>header img { width: 16px; height: 16px; }
.dhp-folder-icon { flex: none; width: 16px; height: 16px; margin-right: 6px; }
.dhp-v2 .dhp-window-controls { flex: none; height: 30px; grid-template-columns: repeat(3,38px); }
.dhp-v2 .dhp-terminal { min-height: 15rem; padding: .7rem; color: #eee; background: #0c0c0c; font: 13px/1.6 Consolas,"Courier New",monospace; }
.md-typeset .dhp-v2 .dhp-terminal pre { margin: 0; color: #eee; background: #0c0c0c; font: inherit; white-space: pre-wrap; overflow-wrap: anywhere; }
.dhp-terminal form { display: grid; gap: .4rem; margin-top: .65rem; }
.dhp-terminal form>label { font: 12px/1.5 "Segoe UI",Arial,sans-serif; color: #b9d9ef; }
.dhp-v2 .dhp-terminal textarea { box-sizing: border-box; width: 100%; padding: .45rem; resize: vertical; border: 1px solid #8d8d8d; border-radius: 0; background: #0c0c0c; color: #fff; font: inherit; }
.dhp-v2 .dhp-terminal button { justify-self: start; color: #111; background: #f0f0f0; border: 2px outset #fff; border-radius: 0; font: 12px/1.5 "Segoe UI",Arial,sans-serif; }
.dhp-command-guide { display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin-bottom: .6rem; padding: .6rem; background: var(--dhp-bg); font-size: .65rem; }
.dhp-command-guide small { flex-basis: 100%; color: var(--dhp-muted); font-size: .62rem; }
.dhp-command-guide b { margin-right: .25rem; color: var(--dhp-blue); font-family: Consolas,monospace; }
.md-typeset .dhp-v2 .dhp-teaching-note { margin: .6rem 0 0; padding: .5rem; background: var(--dhp-bg); color: var(--dhp-muted); font-size: .62rem; line-height: 1.6; }
.dhp-v2 .dhp-run-check { grid-template-columns: repeat(2,minmax(0,1fr)) auto; align-items: end; margin-top: .65rem; }
.dhp-run-check>strong { grid-column: 1/-1; }
.dhp-run-check label { display: grid; gap: .25rem; font-size: .66rem; }
.dhp-run-check input { width: 100%; }
.dhp-explorer-address { margin: .5rem; padding: .4rem .5rem; border: 1px solid #b4b4b4; color: #111; background: #fff; font: 12px/1.6 "Segoe UI",Arial,sans-serif; overflow-wrap: anywhere; }
.dhp-explorer-body { min-height: 12rem; padding: .6rem; font: 12px/1.5 "Segoe UI",Arial,sans-serif; }
.dhp-explorer-columns { display: flex; justify-content: space-between; padding: .45rem; border-block: 1px solid #ddd; }
.dhp-v2 .dhp-output-row { display: grid; width: 100%; margin-top: .3rem; grid-template-columns: auto minmax(0,1fr) auto; gap: .5rem; align-items: center; text-align: left; border: 1px solid transparent; border-radius: 0; color: #111; background: #fff; font: inherit; }
.dhp-output-row b { font-weight: 400; overflow-wrap: anywhere; }
.dhp-v2 .dhp-output-row.is-selected { background: #d9ecfc; border-color: #7db5e4; }
.dhp-v2 .dhp-explorer-body>[data-open] { color: #111; background: #f0f0f0; border: 2px outset #fff; border-radius: 0; font: inherit; }
.dhp-v2 .dhp-review { grid-template-columns: minmax(0,1.45fr) minmax(12rem,1fr); align-items: start; }
.dhp-v2 .dhp-window--notepad pre { min-height: 20rem; max-height: none; padding: .7rem; font: 13px/1.65 Consolas,"Courier New",monospace; background: #fff; color: #111; overflow-wrap: anywhere; white-space: pre-wrap; user-select: text; }
.dhp-v2 .dhp-notepad-menu { padding: .4rem .7rem; color: #111; background: #f9f9f9; font: 12px/1.5 "Segoe UI",Arial,sans-serif; }
.dhp-notepad-status { padding: .3rem .7rem; color: #444; background: #f4f4f4; font: 11px/1.5 "Segoe UI",Arial,sans-serif; }
.dhp-v2 .dhp-observation-form { min-width: 0; padding: .7rem; border: 1px solid var(--dhp-border); background: var(--dhp-bg); }
.dhp-v2 .dhp-observation-form label { color: var(--dhp-ink); font-size: .66rem; }
.dhp-observation-form label small { color: var(--dhp-muted); font: .59rem/1.5 Consolas,monospace; overflow-wrap: anywhere; }
.dhp-observation-form input { width: 100%; font-weight: 400; }
.md-typeset .dhp-v2 .dhp-observation-form p { color: var(--dhp-muted); font-size: .64rem; line-height: 1.6; }
.dhp-case-note fieldset { display: grid; gap: .6rem; }
.dhp-case-note fieldset label { display: flex; align-items: start; padding: .55rem; gap: .4rem; border: 1px solid var(--dhp-border); font-size: .7rem; line-height: 1.65; cursor: pointer; }
.dhp-case-note fieldset label:has(:checked) { border-color: var(--dhp-blue); background: var(--dhp-surface); }
.dhp-case-note>button { justify-self: start; }
.dhp-next-check { display: grid; gap: .35rem; font-size: .7rem; font-weight: 700; }
.dhp-next-check select { width: 100%; font-size: .67rem; font-weight: 400; }
.dhp-note-result { padding: .7rem; border-left: 3px solid #29905d; background: var(--dhp-surface); font-size: .7rem; line-height: 1.7; }
.md-typeset .dhp-note-result p { margin: .3rem 0 0; }
.dhp-feedback { padding: .65rem 1rem; border-top: 1px solid var(--dhp-border); border-left: 4px solid var(--dhp-blue); background: var(--dhp-surface); color: var(--dhp-ink); font-size: .7rem; line-height: 1.65; }
.dhp-feedback[data-state=error] { border-left-color: #b83931; }
.dhp-feedback[data-state=complete] { border-left-color: #29905d; }
.dhp-feedback[data-state=error]::before { content: "Try again: "; font-weight: 700; }
.dhp-feedback[data-state=complete]::before { content: "✓ "; font-weight: 700; }
.dhp-v2>footer { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; gap: .5rem; padding: .7rem; background: var(--dhp-bg); color: var(--dhp-ink); border-color: var(--dhp-border); font-size: .65rem; }
.dhp-v2>footer>div { display: flex; flex-wrap: wrap; gap: .4rem; }
.dhp-v2 [data-next]:enabled,.dhp-v2 [data-download]:enabled { background: #08699c; color: #fff; }
.dhp-v2.is-expanded { position: fixed; z-index: 100; inset: .5rem; width: auto; max-width: none; height: auto; margin: 0; overflow-y: auto; border-radius: .4rem; }
.dhp-v2.is-standalone { inset: 0; border-radius: 0; }
body:has(.dhp-v2.is-standalone)>.md-header,body:has(.dhp-v2.is-standalone)>.md-tabs { visibility: hidden; }
@media(max-width:900px) {
  .dhp-v2 .dhp-review { grid-template-columns: minmax(0,1fr); }
}
@media(max-width:600px) {
  .dhp-v2 .dhp-lab__workspace { padding: .4rem; }
  .md-typeset .dhp-v2 ol.dhp-lab__progress { grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem .3rem; }
  .dhp-copy-check,.dhp-case-note { padding: .5rem; }
  .dhp-copy-option { padding: .4rem; }
  .dhp-v2 .dhp-run-check { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dhp-run-check>button { grid-column: 1/-1; }
  .dhp-v2 .dhp-window-controls { grid-template-columns: repeat(3,23px); }
  .dhp-v2 .dhp-output-row { grid-template-columns: auto minmax(0,1fr); }
  .dhp-output-row>span:last-child { display: none; }
  .dhp-v2 button { min-height: 44px; }
  .dhp-coach { padding: .7rem; }
  .dhp-coach>div { display: grid; }
}
