.practice-section-title{font-size:1.08rem;margin:18px 0 8px}.practice-topics{margin:28px 0 24px;border-top:1px solid var(--line);padding-top:22px}.practice-topics>h2{font-size:1.3rem;margin:0 0 8px}.practice-topics>p{margin-bottom:12px}.topic-detail-card h3{font-size:1rem;margin:0}.topic-detail-card .topic-description{min-height:2.7em}.topic-exam-label{font-size:.86rem;font-weight:600;margin:0 0 3px}.topic-exam-sources{font-size:.86rem;margin-bottom:14px}.topic-exam-sources summary{cursor:pointer;color:var(--text);font-weight:600;line-height:1.5}.topic-exam-codes{margin:8px 0 0;line-height:1.7}.topic-exam-codes span{white-space:nowrap}.topic-counting-rule{padding:12px;border:1px solid var(--line);margin:14px 0}.topic-counting-rule summary{font-weight:600;cursor:pointer}.topic-counting-rule p{margin:10px 0;max-width:85ch}.topic-question-context{margin:0 0 12px;font-size:.88rem;line-height:1.6}.topic-route{padding:20px}.topic-route h1{font-size:1.4rem}.topic-question-list{margin:16px 0}.topic-score{font-size:1.2rem;margin:14px 0}.topic-route .result-row{grid-template-columns:36px minmax(0,1fr) auto}.question .learning-pattern{border-left:4px solid #ed710b;padding:12px 14px;margin:0 0 16px;background:rgba(237,113,11,.08)}.question .learning-pattern>b{display:block;font-size:1.05rem;margin-bottom:8px}.question[data-added] .own-area{display:none}.question[data-added] .mode-radio[value="own"]:checked~.own-area{display:block}.question[data-added] .mode-radio[value="own"]:checked~.mc-area{display:none}.question[data-added] .mode-radio[value="mc"]:checked~.mode-switch label:first-child,.question[data-added] .mode-radio[value="own"]:checked~.mode-switch label:last-child{background:var(--green);color:#fff}.question[data-added] .mc-area:has(.answer-radio[value="0"]:checked) .option[data-option="0"],.question[data-added] .mc-area:has(.answer-radio[value="1"]:checked) .option[data-option="1"],.question[data-added] .mc-area:has(.answer-radio[value="2"]:checked) .option[data-option="2"],.question[data-added] .mc-area:has(.answer-radio[value="3"]:checked) .option[data-option="3"]{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}@media(max-width:600px){.topic-route{padding:14px}.topic-route .result-row{grid-template-columns:26px minmax(0,1fr) auto;font-size:.88rem}.topic-question-context{padding:0 8px}.topic-detail-card .topic-footer{gap:10px}}
/* Keep every card in place when its exam references are revealed. The hidden
   codes retain their natural wrapping height, including at larger text sizes. */
.topic-exam-toggle{display:inline-flex;align-items:center;gap:6px;border:0;padding:0;background:transparent;color:var(--study-ink,var(--text));font:inherit;font-weight:600;line-height:1.5;text-align:left;cursor:pointer}
.topic-exam-toggle::before{content:"";width:0;height:0;flex:none;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:5px solid currentColor}
.topic-exam-toggle[aria-expanded=true]::before{transform:rotate(90deg)}
.topic-exam-codes[hidden]{display:block!important;visibility:hidden}
#practice-topic-cards .topic-grid{grid-auto-rows:auto}
#practice-topic-cards .topic-detail-card h4{font-size:1rem;line-height:1.3;margin:0;color:var(--study-ink,var(--purple))}
.topic-group+.topic-group{margin-top:26px}
.topic-group-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px 16px;border-bottom:1px solid var(--study-line,var(--line));padding:0 0 8px}
.topic-group-title{font-size:.98rem;margin:0;color:var(--study-ink,var(--purple))}
.topic-group-source{font-size:.78rem;color:var(--study-muted,var(--muted));margin:0}
@media(max-width:540px){.topic-detail-card .topic-footer{flex-wrap:wrap}.topic-group+.topic-group{margin-top:22px}}
