body.genai-practice { margin: 0; color: #172b24; background: #f7faf8; }
.practice-shell { width: min(62rem, calc(100% - 2rem)); margin: 0 auto; padding: 1.4rem 0 3rem; overflow-wrap: anywhere; }
.practice-shell [hidden] { display: none !important; }
.practice-shell :is(h1,h2) { color: #174538; line-height: 1.4; }
.practice-shell h1 { margin: .4em 0; font-size: clamp(1.8rem, 4vw, 2.55rem); }
.practice-shell h2 { margin: 1.2em 0 .35em; font-size: 1.35rem; }
.practice-shell p { max-width: 42em; line-height: 1.7; margin: .45em 0 .75em; }
.practice-shell a { color: #175747; text-decoration: underline; text-underline-offset: .15em; }
.practice-path { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1rem; margin: 0 0 .7rem; }
.practice-path a { padding-block: .35em; }
.practice-shell fieldset { min-inline-size: 0; border: 1px solid #b9cec2; padding: .6rem .8rem .7rem; border-radius: .65rem; margin: .65rem 0; background: #edf5ee; }
.practice-shell legend { font-weight: 700; padding-inline: .3rem; }
.practice-choice-row { display: flex; flex-wrap: wrap; gap: .45rem; }
.practice-choice-row label { display: inline-flex; align-items: center; gap: .4em; min-height: 2.75rem; padding: .35em .6em; background: white; border: 1px solid #8ba499; border-radius: .5rem; cursor: pointer; }
.practice-choice-row label:has(:checked) { background: #d6eddf; border-color: #39745e; }
.practice-choice-row input { margin: 0; inline-size: 1.15em; block-size: 1.15em; flex: none; accent-color: #23644d; }
.practice-shell button { font: inherit; min-height: 2.75rem; border: 1px solid #819b8e; background: white; color: inherit; padding: .4em .65em; border-radius: .45rem; cursor: pointer; }
.practice-shell .practice-chapter { margin: .55rem 0; border: 1px solid #b9cec2; border-radius: .65rem; background: #fff; }
.practice-shell .practice-lesson { margin: .25rem .5rem .5rem; border-top: 1px solid #cddbd2; }
.practice-shell summary { min-height: 2.75rem; padding: .65em .7em; line-height: 1.55; cursor: pointer; font-weight: 700; color: #174538; }
.practice-shell summary span { font-size: .9em; margin-inline-start: .25em; font-weight: 400; color: #365e4f; }
.practice-lesson ul { list-style: none; margin: 0 .65em .55em; padding: 0; }
.practice-lesson li + li { border-top: 1px solid #dce8df; }
.practice-lesson li a { display: grid; gap: .15em; padding: .6em 0; line-height: 1.6; text-decoration: none; }
.practice-lesson li a :is(strong,.practice-link-hint) { text-decoration: underline; }
.practice-lesson .practice-link-hint { font-size: .92em; }
.practice-shell :focus-visible { outline: 3px solid #175e49; outline-offset: 3px; }
