/* Quiet learning aids; definitions and diagrams stay readable without JavaScript. */
.bu-term { color:#075b4b; text-decoration:underline; text-decoration-style:dotted; text-decoration-thickness:1px; text-underline-offset:.22em; }
.bu-term:hover { text-decoration-style:solid; }
.bu-term:focus-visible,.bu-diagram-open:focus-visible,.bu-dialog button:focus-visible,.bu-dialog a:focus-visible,.bu-diagram-scroll:focus-visible,.bu-quiz-form button:focus-visible,.bu-quiz-form input:focus-visible { outline:3px solid #075b4b; outline-offset:3px; }
.bu-outcomes { margin:1.25rem 0 1.75rem; padding:0 0 0 1rem; border-left:3px solid #94b4a5; color:#263f4a; font-size:1rem; line-height:1.7; }
.prose .bu-outcomes p { margin:0 0 .45rem; font-size:1rem; }
.prose .bu-outcomes ul { margin:.35rem 0 0; padding-left:1.2rem; }
.prose .bu-outcomes li { margin:.25rem 0; font-size:1rem; }
.prose .bu-next-reason { margin:.5rem 0 0; color:#4c5f56; font-size:1rem; line-height:1.65; }
.toc-list .bu-toc-diagram { padding-left:1rem; border-left:2px solid #d5e0d9; color:#435c54; font-size:1rem; line-height:1.55; }
.bu-diagram-open,.bu-dialog button,.bu-quiz-form button { appearance:none; min-height:44px; padding:.6rem 1rem; border:1px solid #9cb1a7; border-radius:.4rem; background:#fffefa; color:#075b4b; font:inherit; font-size:1rem; font-weight:600; line-height:1.45; cursor:pointer; white-space:normal; overflow-wrap:anywhere; }
.bu-diagram-open { display:inline-flex; align-items:center; justify-content:center; max-width:100%; margin:.85rem 0 0; }
.bu-diagram-open:hover,.bu-dialog button:hover,.bu-quiz-form button:hover { background:#eef4ef; border-color:#075b4b; }
.bu-dialog { box-sizing:border-box; width:min(38rem,calc(100% - 2rem)); max-width:calc(100% - 2rem); max-height:calc(100vh - 2rem); max-height:calc(100dvh - 2rem); margin:auto; padding:1.5rem; border:1px solid #d5dfd7; border-radius:.8rem; background:#fffefa; color:#173047; box-shadow:0 18px 65px #10223a33; font-family:var(--font-body,Inter,system-ui,sans-serif); font-size:1rem; line-height:1.65; overflow:auto; overscroll-behavior:contain; }
.bu-dialog::backdrop { background:#10223aaa; }
.bu-dialog--diagram { width:min(72rem,calc(100% - 2rem)); }
.bu-dialog * { box-sizing:border-box; }
.bu-dialog-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin:0 0 1.15rem; }
.bu-dialog-title { min-width:0; margin:0; color:#173047; font-family:var(--font-display,Inter,system-ui,sans-serif); font-size:1.5rem; font-weight:600; line-height:1.35; overflow-wrap:anywhere; }
.bu-dialog .bu-dialog-close { flex-shrink:0; }
.bu-term-definition { margin:0 0 1.1rem; font-size:1rem; line-height:1.75; overflow-wrap:anywhere; }
.bu-term-more { display:inline-flex; align-items:center; min-height:44px; color:#075b4b; font-size:1rem; line-height:1.55; text-underline-offset:.18em; overflow-wrap:anywhere; }
.bu-diagram-controls { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; margin:0 0 .8rem; }
.bu-dialog .bu-zoom-button { display:inline-flex; align-items:center; justify-content:center; min-width:44px; padding:.4rem .65rem; font-size:1.25rem; }
.bu-dialog .bu-zoom-reset { min-width:64px; }
.bu-dialog button:disabled { color:#64766d; border-color:#cbd6ce; background:#f3f5f0; cursor:default; }
.bu-zoom-level { margin-left:.35rem; color:#4c5f56; font-size:1rem; line-height:1.55; overflow-wrap:anywhere; }
.bu-diagram-hint { margin:0 0 .7rem; color:#4c5f56; font-size:1rem; line-height:1.65; }
.bu-diagram-scroll { width:100%; max-width:100%; max-height:60vh; max-height:60dvh; overflow:auto; scrollbar-color:#788d83 #ecefe8; overscroll-behavior:contain; touch-action:auto; background:#fffefa; padding:.3rem 0 .65rem; border-block:1px solid #e0e6db; }
.bu-diagram-scroll svg { display:block; max-width:none; height:auto; font-family:Inter,system-ui,sans-serif; }
.bu-diagram-caption { margin:.8rem 0 0; color:#4c5f56; font-size:1rem; line-height:1.7; overflow-wrap:anywhere; }
.bu-quiz-form { margin:1rem 0; font-size:1rem; }
.bu-quiz-form fieldset { min-width:0; margin:0; padding:0; border:0; }
.bu-quiz-form legend { width:100%; padding:0; margin:0 0 .75rem; color:#173047; font:inherit; font-size:1.0625rem; font-weight:600; line-height:1.65; overflow-wrap:anywhere; }
.bu-quiz-form label { display:flex; align-items:flex-start; gap:.65rem; min-height:44px; max-width:100%; padding:.6rem .65rem; margin:.3rem 0; border:1px solid #d6dfd7; border-radius:.35rem; background:#fffefa; color:#263f4a; font-size:1rem; line-height:1.65; cursor:pointer; overflow-wrap:anywhere; }
.bu-quiz-form label:has(input:checked) { border-color:#075b4b; background:#eef4ef; }
.bu-quiz-form label:focus-within { border-color:#075b4b; }
.bu-quiz-form input[type="radio"] { appearance:auto; flex:0 0 auto; width:1.2rem; height:1.2rem; min-width:1.2rem; margin:.22rem 0 0; accent-color:#075b4b; }
.bu-quiz-form button { margin:.65rem .4rem 0 0; max-width:100%; }
.bu-quiz-form button[type="submit"] { background:#075b4b; color:#fff; border-color:#075b4b; }
.bu-quiz-form button[type="submit"]:hover { background:#064c3f; }
.bu-quiz-form .bu-quiz-feedback { margin:.9rem 0 0; padding:0; color:#263f4a; font-size:1rem; line-height:1.7; overflow-wrap:anywhere; }
.bu-quiz-feedback:not(:empty) { border-left:3px solid #96aaa0; padding-left:.9rem; }
.bu-quiz-form .bu-quiz-feedback[data-state="correct"] { border-color:#075b4b; color:#075b4b; }
.bu-quiz-form .bu-quiz-feedback[data-state="retry"] { border-color:#b67432; color:#614826; }
.bu-quiz-form[hidden],.bu-quiz-fallback[hidden],.bu-diagram-caption[hidden] { display:none !important; }
@media (max-width:600px) {
 .bu-dialog { width:calc(100% - 1rem); max-width:calc(100% - 1rem); max-height:calc(100vh - 1rem); max-height:calc(100dvh - 1rem); padding:1rem; border-radius:.6rem; }
 .bu-dialog-head { flex-wrap:wrap; gap:.7rem; }
 .bu-dialog-title { flex-basis:100%; font-size:1.25rem; }
 .bu-dialog .bu-dialog-close { margin-left:auto; }
 .bu-zoom-level { flex-basis:100%; margin:.2rem 0 0; }
 .bu-diagram-scroll { max-height:55vh; max-height:55dvh; }
}
@media print {
 .bu-diagram-open,.bu-dialog,.bu-quiz-form { display:none !important; }
 .bu-quiz-fallback,.bu-quiz-fallback[hidden],.bu-quiz-fallback details > :not(summary) { display:block !important; }
 .bu-quiz-fallback details { content-visibility:visible; }
 .bu-term { color:inherit; text-decoration:none; }
}
/* Scope the current learning additions to their intended article layouts. */
.prose .bu-outcomes h2 { margin:0 0 .5rem; color:#263f4a; font-family:var(--font-body,Inter,system-ui,sans-serif); font-size:1.0625rem; font-weight:600; line-height:1.55; }
.prose .bu-term-list { color:#4c5f56; font-size:1rem; line-height:1.7; }
.prose .bu-term { color:#075b4b; text-decoration-style:dotted; }
.prose .bu-term:hover { text-decoration-style:solid; }
.prose .practice .bu-quiz-form button,.prose .practice .bu-quiz-form .btn { font-size:1rem; }
.prose .bu-quiz-form button[type="reset"] { color:#075b4b; background:#fffefa; border-color:#9cb1a7; }
.prose .bu-quiz-fallback p,.prose .bu-original-practice p,.prose .bu-exercise-time { font-size:1rem; line-height:1.7; }
.bu-quiz-fallback summary,.bu-original-practice summary { min-height:44px; font-size:1rem; line-height:1.6; }
[data-basics-ux] .learning-table table,[data-basics-ux] .learning-table caption { font-size:1rem; }
[data-basics-ux] .article-faq,.av-hero--editorial .standfirst { overflow-wrap:anywhere; }
@media print { .bu-quiz-fallback details::details-content { content-visibility:visible !important; } }

/* Learning goals must fit narrow screens with enlarged type. */
.bu-outcomes,.bu-next-reason,.bu-exercise-time,.bu-term-list { overflow-wrap:anywhere; }
.prose .bu-outcomes h2 { margin:0 0 .65rem; font-size:1.125rem; line-height:1.5; }

/* Worked definitions and optional numeric exercises. */
.bu-term-example { margin:0 0 1.1rem; padding:.8rem 1rem; border-inline-start:3px solid #94b4a5; background:#eef4ef; font-size:1rem; line-height:1.7; overflow-wrap:anywhere; }
.bu-quiz-modes { display:flex; flex-wrap:wrap; gap:.5rem; margin:0 0 1rem; }
.bu-quiz-form .bu-quiz-modes button { margin:0; }
.bu-quiz-modes button[aria-pressed="true"] { background:#eef4ef; border-color:#075b4b; }
.prose .bu-quiz-form .bu-numeric-panel label { display:block; min-height:0; margin:0 0 .4rem; padding:0; border:0; background:transparent; cursor:default; font-weight:600; }
.bu-number-unit { font-weight:400; }
.bu-quiz-form #bu-number { box-sizing:border-box; display:block; width:min(100%,22rem); min-width:0; min-height:48px; padding:.65rem .8rem; border:1px solid #9cb1a7; border-radius:.35rem; color:#173047; background:#fffefa; font:inherit; font-size:1.125rem; line-height:1.5; }
.bu-quiz-form #bu-number[aria-invalid="true"] { border-color:#a34e15; }
.prose .bu-number-hint { margin:.5rem 0 1rem; color:#4c5f56; font-size:1rem; line-height:1.65; overflow-wrap:anywhere; }
.bu-numeric-panel[hidden],.bu-choice-panel[hidden],.bu-term-example[hidden] { display:none !important; }
.bu-quiz-feedback[data-state="invalid"],.bu-quiz-feedback[data-state="empty"] { border-color:#b67432; }
