.utility {position:sticky; top:0; z-index:5; background:var(--paper); border-bottom:1px solid var(--line)}
.utility-inner {max-width:860px; margin:auto; padding:12px 24px; display:flex; justify-content:space-between; align-items:center; gap:20px}
.event-brand {color:var(--ink); font-size:11px; font-weight:800; letter-spacing:.06em; text-decoration:none; line-height:1.5}
.event-brand span {display:block; color:var(--mute); font-weight:500; font-size:10px}
.language {display:flex; gap:3px; border:1px solid var(--line); border-radius:9px; padding:3px; flex-shrink:0}
.language a {padding:5px 13px; color:var(--ink); text-decoration:none; font-size:13px; border-radius:6px; font-weight:700}
.language a[aria-current] {background:var(--ink); color:var(--paper)}
.edition {font-size:13px; color:var(--mute); margin:10px 0 22px}
.downloads {display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:22px}
.downloads a {border:1px solid var(--accent); border-radius:8px; padding:9px 13px; text-decoration:none; font-size:13px; font-weight:700; color:var(--accent-ink)}
.downloads a:hover {background:var(--accent-bg)}
.downloads span {font-size:12px; color:var(--mute)}
section {scroll-margin-top:100px}
#top {scroll-margin-top:75px}
.workspace-note {border:1px solid var(--line); border-radius:12px; padding:16px 18px; margin-bottom:24px; font-size:13px; color:var(--mute)}
.workspace-note p {margin:0 0 14px}
.progress-row {display:flex; justify-content:space-between; align-items:center; font-weight:700; color:var(--ink); margin-bottom:6px}
progress {width:100%; height:7px; display:block; border:0; border-radius:99px; overflow:hidden; background:var(--line); accent-color:var(--accent)}
progress::-webkit-progress-bar {background:var(--line)}
progress::-webkit-progress-value {background:var(--accent)}
.work-tools {display:flex; flex-wrap:wrap; gap:10px; margin-top:24px}
.work-tools button {font:inherit; font-size:13px; font-weight:600; color:var(--ink); border:1px solid var(--line); background:var(--paper); padding:10px 14px; border-radius:8px; cursor:pointer}
.action-status {flex-basis:100%; margin:0; font-size:13px; color:var(--accent-ink); min-height:1.5em}
.credit {margin-top:12px}
.print-answer {display:none}
.skip-link {position:fixed; left:12px; top:-100px; z-index:10; background:var(--ink); color:var(--paper); padding:12px; border-radius:6px}
.skip-link:focus {top:12px}
.noscript {padding:16px; background:var(--accent-bg); text-align:center}
a:focus-visible, button:focus-visible {outline:3px solid var(--accent); outline-offset:3px}
@media (prefers-reduced-motion:reduce) {html {scroll-behavior:auto}}
@media (max-width:640px) {
 .utility-inner {padding:10px 16px}
 .wrap {padding-top:28px}
 .facts .fact:last-child {grid-column:1 / -1}
 .downloads span {flex-basis:100%}
 .prompt-head {align-items:flex-start}
 .prompt-label {max-width:calc(100% - 95px)}
 .cl-commit span {font-size:9px}
 .step h3 {font-size:21px}
}
@media print {
 @page {size:A4; margin:16mm}
 :root {--bg:#fff!important; --paper:#fff!important; --ink:#111!important; --ink-soft:#333!important; --mute:#555!important; --line:#ddd!important; --accent:#2B59FF!important; --accent-ink:#1B3FCC!important; --accent-bg:#ECF0FF!important; --go:#1F7A4D!important; --go-bg:#E6F4EC!important; --stop:#B3261E!important; --stop-bg:#FBEAE8!important}
 body {font-size:10pt; print-color-adjust:exact; -webkit-print-color-adjust:exact}
 .utility,.downloads,.workspace-note,.work-tools,.skip-link,.noscript {display:none!important}
 .wrap {padding:0; max-width:none}
 section {break-inside:auto; margin-top:28px}
 h1 {font-size:42pt} .part {font-size:23pt}
 .lead {font-size:12pt}
 .step,.card,.prompt,.stage,.tvt,.loop li,.monday {break-inside:avoid; box-shadow:none}
 h2,h3,.step-top {break-after:avoid}
 .prompt pre {font-size:9pt; line-height:1.45}
 .field input,.field textarea {display:none}
 .print-answer {display:block; border-bottom:1px solid #aaa; padding:6px 0; min-height:25px; white-space:pre-wrap; overflow-wrap:anywhere}
 .monday {background:#eee; color:#111}.monday .part,.monday p {color:#111}
 footer {margin-top:30px}
}
