:root { color-scheme: light; font-family: system-ui, sans-serif; background: #faf7ef; color: #173229; }
    * { box-sizing: border-box; }
    body { margin: 0; line-height: 1.5; }
    .wrap { max-width: 760px; margin: auto; padding: clamp(1rem, 4vw, 2rem); }
    .brand { font-weight: 750; letter-spacing: .02em; }
    .eyebrow { font-size: .9rem; text-transform: uppercase; letter-spacing: .08em; color: #365c4d; }
    h1 { line-height: 1.13; font-size: clamp(2rem, 5vw, 3.2rem); margin: .25rem 0 1rem; }
    h2 { line-height: 1.2; margin-top: 0; }
    .intro, .note { max-width: 65ch; }
    .screen { background: white; border: 3px solid #1b5b48; border-radius: 1.25rem; box-shadow: 0 12px 30px #1b35231c; padding: clamp(1rem, 4vw, 2rem); margin: 1.5rem 0; min-height: 340px; }
    .choices { display: grid; gap: .75rem; margin: 1rem 0; }
    .choices label { display: flex; align-items: center; gap: .75rem; font-size: 1.1rem; font-weight: 650; color: #173229; background: #f2f5e9; border: 2px solid #1b5b48; border-radius: .8rem; padding: .8rem 1rem; min-height: 56px; cursor: pointer; }
    .choices label:hover, .choices label:has(input:checked) { background: #d8efe2; }
    .choices input { width: 1.4rem; height: 1.4rem; flex: none; accent-color: #1b5b48; }
    button { font: inherit; font-size: 1.1rem; font-weight: 650; border: 2px solid #1b5b48; border-radius: .8rem; padding: .8rem 1rem; min-height: 56px; cursor: pointer; }
    button:focus-visible, .choices label:focus-within, a:focus-visible { outline: 4px solid #ad6021; outline-offset: 3px; }
    button:disabled { opacity: .55; cursor: not-allowed; }
    .controls { display: flex; gap: .75rem; flex-wrap: wrap; align-items: center; margin-top: 1.25rem; }
    .controls button { background: #1b5b48; color: white; min-width: 110px; text-align: center; }
    .controls button:disabled { background: #64776d; }
    .status { min-height: 1.6em; font-weight: 600; }
    .small { font-size: .96rem; color: #304d41; }
    .transcript { border-top: 1px solid #a5bcb0; padding-top: 1rem; margin-top: 2rem; }
    .transcript ol { padding-left: 1.5rem; }
    @media print { .screen { box-shadow: none; } .controls { display: none; } .transcript { break-inside: avoid; } }
.resource-heading-context{display:block;margin-top:.8rem;font-size:.8rem;line-height:1.5;font-weight:650;letter-spacing:.02em;color:#4c625a}
