.topic-practice{margin:28px 0;padding:24px;border:1px solid var(--mist);border-radius:var(--radius);background:var(--surface);line-height:1.85;scroll-margin-top:90px;overflow-wrap:anywhere}
.topic-practice [hidden]{display:none!important}
.topic-practice h2{font-size:24px;line-height:1.45;margin:6px 0 14px}
.topic-practice h3{font-size:18px;margin:18px 0 8px}
.topic-practice [tabindex="-1"]{scroll-margin-top:90px}
.topic-practice p{margin:10px 0}
.topic-practice .tp-kicker{font-size:13px;color:var(--accent);font-weight:600}
.topic-practice .tp-note{font-size:13px;color:var(--stone)}
.topic-practice .tp-source,.topic-practice .tp-result{padding:18px;background:var(--paper);border-radius:10px;margin:16px 0}
.topic-practice .tp-source>p{font-size:18px;line-height:2}
.topic-practice details{padding:10px 0;border-bottom:1px solid var(--mist)}
.topic-practice summary{cursor:pointer;font-weight:600;padding:5px 0}
.topic-practice .tp-words{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px;margin:12px 0}
.topic-practice .tp-words dt{font-weight:600}.topic-practice .tp-words dt span{font-size:14px;font-weight:400;color:var(--accent)}
.topic-practice .tp-words dd{font-size:14px;margin:0;color:var(--stone)}
.topic-practice .tp-prompts{padding-left:24px;margin:18px 0}.topic-practice li{margin:9px 0}
.topic-practice .tp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0}
.topic-practice button{font:inherit;white-space:normal;line-height:1.5;min-height:44px;max-width:100%;cursor:pointer;padding:10px 15px;border:1px solid var(--mist);border-radius:8px;background:var(--paper);color:var(--ink)}
.topic-practice button.btn-primary{background:var(--action-accent);color:#fff;border-color:var(--action-accent)}
.topic-practice :is(button,a,summary,input):focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.topic-practice fieldset{margin:16px 0;padding:12px;border:1px solid var(--mist);border-radius:8px;min-width:0}
.topic-practice legend{font-weight:600;padding:0 5px;max-width:100%}
.topic-practice label{display:flex;align-items:center;gap:9px;min-height:44px;cursor:pointer;padding:5px}
.topic-practice input[type=radio]{appearance:auto;width:20px;height:20px;margin:0;flex:0 0 auto;accent-color:var(--accent)}
.topic-practice .tp-timer{font-variant-numeric:tabular-nums;font-weight:600}
.topic-practice .tp-transfer{border-top:1px solid var(--mist);margin-top:22px}
.topic-practice .tp-case{padding:16px;margin:16px 0;border:1px solid var(--mist);border-radius:10px}
.topic-practice .tp-case h4{font-size:17px;line-height:1.8;margin:0}
.topic-practice .tp-case>p[lang=en]{font-size:14px;color:var(--stone)}
.topic-practice .tp-case-feedback{border-left:3px solid var(--accent);padding:10px;background:var(--paper)}
.topic-practice button:disabled{cursor:default;opacity:.75}
.topic-practice .tp-case button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);opacity:1}
@media(max-width:600px){.topic-practice{padding:16px}.topic-practice h2{font-size:21px}.topic-practice .tp-source{padding:13px}.topic-practice .tp-source>p{font-size:17px}.topic-practice .tp-actions button{width:100%}}
