#thtt-root .tt-group-nav{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}
#thtt-root .tt-course-group{margin:10px 0;border:1px solid #dfe6f0;border-radius:5px;padding:10px;background:#fff;scroll-margin-top:12px}
#thtt-root .tt-course-group>header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
#thtt-root .tt-course-group>header h2{font-size:19px;margin:0;color:#111827}
#thtt-root .tt-course-group .tt-card{box-shadow:none}
#thtt-root .tt-course-group .tt-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:8px}
#thtt-root .tt-practice-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch}
#thtt-root .tt-practice-card{display:flex;flex-direction:column;min-width:0;padding:10px;border:1px solid #dfe6f0;border-radius:5px;background:#fff;line-height:1.5;font-size:16px}
#thtt-root .tt-practice-card>header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}
#thtt-root .tt-practice-card h3{font-size:15px;line-height:1.4;font-weight:700;color:#111827;margin:0}
#thtt-root .tt-practice-card>header small{font-size:11px;color:#62738b;white-space:nowrap}
#thtt-root .tt-practice-card .tt-bank-prose,#thtt-root .tt-practice-card .tt-bank-options{max-height:none;height:auto;overflow:visible;-webkit-line-clamp:unset;line-clamp:unset}
#thtt-root .tt-practice-card img{max-width:100%;height:auto;max-height:none;object-fit:contain}
#thtt-root .tt-practice-card .katex-display{max-width:100%;overflow-x:auto;overflow-y:hidden}
#thtt-root .tt-practice-card>footer{display:flex;justify-content:flex-end;margin-top:auto;padding-top:8px}
#thtt-root .tt-practice-pages{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:8px;font-size:13px}
#thtt-root .tt-practice-cards[aria-busy=true]{opacity:.65}
#thtt-root .tt-source-image{margin:6px 0;padding:0}
#thtt-root .tt-source-image img{display:block;max-width:100%;height:auto;margin:0 auto;border-radius:3px}
#thtt-root .tt-source-image figcaption{font-size:11px;color:#62738b;margin-top:3px}
#thtt-root .tt-source-excerpt details>div{padding:6px}
#thtt-root .tt-lesson .tt-paragraphs>p{white-space:pre-line;line-height:1.55}
#thtt-root .tt-lesson .katex{white-space:nowrap}
#thtt-root .tt-course-logo{width:100px;max-width:22%;height:auto;object-fit:contain;float:right;margin:0 0 6px 12px}
/* Catalog cards use a separate header row so a logo cannot overlap a long title. */
#thtt-root .tt-catalog-heading{display:flex;align-items:center;gap:12px;min-width:0}
#thtt-root .tt-catalog-heading>.tt-tag{flex:1;min-width:0;overflow-wrap:anywhere}
#thtt-root .tt-catalog-heading>.tt-course-logo{float:none;flex:none;width:100px;max-width:30%;height:55px;max-height:55px;object-fit:contain;margin:0}
#thtt-root .tt-table-wrap{max-width:100%;overflow-x:auto;margin:6px 0}
#thtt-root .tt-table-wrap table{width:100%;border-collapse:collapse;font-size:14px}
#thtt-root .tt-table-wrap th,#thtt-root .tt-table-wrap td{padding:5px 7px;border:1px solid #dfe6f0;text-align:center;white-space:normal}
#thtt-root .tt-table-wrap th{background:#edf3f9;font-weight:700;color:#111827}
@media(max-width:760px){#thtt-root .tt-practice-cards{grid-template-columns:minmax(0,1fr)}#thtt-root .tt-course-group>header{align-items:flex-start;flex-direction:column}#thtt-root .tt-course-group{padding:8px}#thtt-root .tt-group-nav .tt-btn{white-space:normal;text-align:left}}
