/* HRA-only additions; existing shared course styles remain unchanged. */
[hidden]{display:none!important}
button,input,select{font:inherit}
button{cursor:pointer}
button:disabled{cursor:default;opacity:.55}
:focus-visible{outline:3px solid var(--accent-warm);outline-offset:3px}
.wrap-wide{max-width:76rem;padding-top:28px}
.skip-link{position:fixed;top:-100px;left:12px;z-index:100;background:var(--card);padding:12px}
.skip-link:focus{top:8px}
.hra-intro,.hra-lab,.source-entry{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px;margin:20px 0}
.hra-intro{border-left:6px solid var(--accent)}
.hra-primary{display:inline-block;background:var(--accent);color:var(--card);padding:12px 20px;border-radius:8px;font-weight:700;text-decoration:none}
.hra-resources{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:26px 0}
.hra-resources a{display:flex;flex-direction:column;gap:10px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px;text-decoration:none}
.hra-resources span{color:var(--muted);font-size:.9em}
.course-fig{margin:24px 0;padding:18px;background:var(--tint);border:1px solid var(--border);border-radius:16px;overflow:hidden}
.course-fig svg{display:block;width:100%;height:auto;max-height:none}
.course-fig .stage-box{fill:var(--card);stroke:var(--border);stroke-width:2;transition:stroke .25s,fill .25s}
.course-fig .line-icon{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.course-fig .step-number{fill:var(--accent-warm);font-size:18px;font-weight:700;text-anchor:end}
.course-fig .step-title{fill:var(--ink);font-size:18px;font-weight:650}
.course-fig .is-active .stage-box{stroke:var(--accent);stroke-width:4;fill:var(--tint)}
.course-fig .is-active .line-icon{animation:hra-pulse 1.2s ease-out 1}
@keyframes hra-pulse{50%{opacity:.45}}
.course-fig figcaption{font-size:.88em;color:var(--muted);margin:12px 0}
.walk-controls,.audio-card{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.walk-controls button,.audio-card button,.print-controls button,.hra-lab button{padding:9px 12px;min-height:44px;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:8px}
.walk-controls button:hover,.hra-resources a:hover{border-color:var(--accent)}
.walk-details{padding-left:24px;margin-bottom:6px}
.walk-details li{padding:8px;border-radius:6px;border-left:3px solid transparent}
.walk-details .is-active{background:var(--card);border-left-color:var(--accent);font-weight:500}
.walk-status{font-size:.9em;color:var(--accent);min-height:1.5em;margin:8px 0 0}
.audio-card{border:1px solid var(--border);border-radius:12px;padding:12px;margin:18px 0;background:var(--tint)}
.audio-card select{color:var(--ink);background:var(--card);max-width:100%;min-height:40px;border:1px solid var(--border);border-radius:6px}
.audio-card label{max-width:100%;font-size:.85em}
#voiceSel{max-width:250px}
#audioNote{flex-basis:100%;font-size:.8em;color:var(--muted)}
.hra-case{border-left:4px solid var(--accent-warm);padding:16px;background:var(--tint);border-radius:8px}
.hra-lab label{display:block;margin:14px 0}
.hra-lab input[type=number]{display:block;padding:8px;margin:6px 0;max-width:100%;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:6px}
.hra-lab output{display:block;padding:18px 0;font-weight:650}
.bar-chart span{display:block;height:15px;margin:8px 0;background:var(--accent);border-radius:3px;max-width:100%;transition:width .4s}
.bar-chart span+span{background:var(--accent-warm)}
.write-space{min-width:35%;height:4rem}
.print-sheet{margin:35px 0;padding:20px;border:1px solid var(--border);border-radius:12px;background:var(--card)}
.source-entry{overflow-wrap:anywhere}
.done-btn{white-space:normal}
.q-card .choices-pick[aria-pressed=true]{border:2px solid var(--accent)}
@media(max-width:600px){.course-fig{padding:8px}.walk-controls button{flex:1 1 40%}.print-sheet{padding:10px}.wrap-wide{padding-top:18px}.reader-bar .back{font-size:.85em}.audio-card label{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{
 :root{--paper:#fff;--card:#fff;--ink:#000;--muted:#333;--accent:#004e85;--border:#999;--tint:#fff;--fs:1}
 body{background:white;padding:0;font-size:10pt;line-height:1.4}
 #gchs-header,.reader-bar,.ccm-nav,.ccm-rail,.audio-card,.walk-controls,.walk-status,.day-nav,.print-controls,.skip-link,#readProgress{display:none!important}
 .layout,.wrap,.wrap-wide{display:block!important;margin:0!important;padding:0!important;max-width:none!important}
 .print-sheet{break-before:page;border:0;padding:0;margin:0}
 .print-sheet h2{margin-top:0}
 .write-space{height:.5in}
 table,tr,.course-fig{break-inside:avoid}
 .lesson-card{opacity:1!important;transform:none!important;box-shadow:none!important}
 .course-fig{max-width:5.5in;margin:12px auto}
 a{color:#000;text-decoration:none}
}
