.learning-hall{--lh-accent:#b3213f;--lh-ink:#222129;--lh-muted:#77747f;--lh-line:#e9e6e9;color:var(--lh-ink)}.learning-hall *{box-sizing:border-box}.lh-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:3px 0 28px}.lh-eyebrow{font-size:10px;font-weight:650;letter-spacing:.11em;color:#9a9298}.lh-heading h1{font-size:32px;letter-spacing:-1.1px;line-height:1.25;margin:8px 0}.lh-heading p{font-size:14px;color:var(--lh-muted);margin:0;line-height:1.65}.lh-live-label{font-size:11px;white-space:nowrap;background:#faf6f7;border:1px solid #f0e4e7;border-radius:30px;padding:8px 13px;color:#9e4e60}.lh-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:25px;align-items:start}.lh-main,.lh-aside,.lh-topic-card{min-width:0}.lh-summary-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:27px}.lh-summary{display:flex;align-items:center;gap:10px;border:1px solid var(--lh-line);border-radius:14px;padding:16px 13px;background:#fff}.lh-summary-icon{width:31px;height:32px;display:grid;place-items:center;flex:0 0 31px;font-size:20px;border-radius:9px;background:#fbf1f3;color:var(--lh-accent)}.lh-summary>div{display:grid;gap:5px}.lh-summary strong{font-size:21px;line-height:1.2;font-weight:700;letter-spacing:-.5px}.lh-summary>div>span{font-size:10px;line-height:1.35;color:var(--lh-muted)}.lh-controls{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin-bottom:21px}.lh-filters{display:flex;gap:7px;flex-wrap:wrap}.lh-filters button{font:inherit;font-size:12px;padding:9px 14px;border:1px solid #e8e5e9;background:white;color:#66616d;border-radius:30px;cursor:pointer;min-height:40px}.lh-filters button[aria-pressed=true]{background:var(--lh-accent);border-color:var(--lh-accent);color:#fff}.lh-sort{display:flex;align-items:center;gap:8px;font-size:11px;color:#88818c;max-width:100%}.lh-sort select{min-height:40px;border:1px solid #e8e5e9;border-radius:9px;background:#fff;color:#544e5b;font-size:11px;padding:8px 23px 8px 10px;max-width:170px}.lh-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.lh-topic-card{border:1px solid var(--lh-line);border-radius:17px;background:#fff;overflow:hidden;padding:22px 21px 0;display:flex;flex-direction:column}.lh-topic-top{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap}.lh-subject{font-size:10px;color:#9a929d;font-weight:550}.lh-status{font-size:9px;color:#85808c;border-radius:20px;background:#f5f4f6;padding:5px 8px;white-space:nowrap}.lh-status-repair{color:#a54b5a;background:#fbf0f2}.lh-status-mastered{color:#3f795b;background:#eef7f1}.lh-topic-card h2{font-size:18px;font-weight:650;line-height:1.4;letter-spacing:-.3px;margin:21px 0 19px;overflow-wrap:anywhere;min-height:50px}.lh-topic-score{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}.lh-topic-score>strong{font-size:29px;letter-spacing:-.8px;line-height:1.1}.lh-topic-score>span{font-size:10px;color:#9a939e}.lh-meter{background:#f0edf1;height:5px;border-radius:10px;overflow:hidden;margin:14px 0 9px}.lh-meter>span{display:block;height:100%;background:var(--lh-accent);border-radius:inherit}.lh-evidence{font-size:10px;line-height:1.6;color:#8c8591;margin:0 0 22px}.lh-topic-card footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #eeebef;padding:17px 0}.lh-topic-card footer>div{display:grid;gap:5px}.lh-topic-card footer strong{font-size:11px;font-weight:600;color:#6c6370}.lh-topic-card footer>div>span{font-size:9px;color:#9a929e}.lh-topic-card footer>button{border:0;border-radius:24px;background:var(--lh-accent);color:white;font:inherit;font-size:11px;padding:10px 14px;min-height:40px;white-space:nowrap;cursor:pointer}.lh-topic-card footer>button:hover,.lh-filters button[aria-pressed=true]:hover{background:#971c35}.lh-topic-card footer>button>span{margin-left:7px;font-size:13px}.lh-method{font-size:11px;line-height:1.7;color:#827b88;margin:22px 0}.lh-aside{display:grid;gap:18px}.lh-profile,.lh-badges,.lh-assess{background:#fff;border:1px solid var(--lh-line);border-radius:16px;padding:23px 18px}.lh-profile{text-align:center}.lh-avatar{display:grid;place-items:center;width:61px;height:61px;border-radius:50%;background:#f7e9ed;border:5px solid #fcf5f7;color:var(--lh-accent);font-weight:700;font-size:22px;margin:0 auto 14px}.lh-profile h2{font-size:16px;line-height:1.5;overflow-wrap:anywhere;margin:0 0 5px}.lh-profile>p{font-size:11px;color:#9a929c;margin:0}.lh-profile-score{border-top:1px solid #eeebee;border-bottom:1px solid #eeebee;margin:21px 0 17px;padding:19px 0;display:grid;gap:8px}.lh-profile-score strong{font-size:35px;line-height:1;letter-spacing:-1px;color:var(--lh-accent)}.lh-profile-score span{font-size:10px;color:#8b8390}.lh-profile-metrics{display:grid;grid-template-columns:1fr 1fr;gap:9px}.lh-profile-metrics>div{display:grid;gap:7px}.lh-profile-metrics strong{font-size:20px;line-height:1.1}.lh-profile-metrics strong small{font-size:10px;color:#99909b;font-weight:400}.lh-profile-metrics>div>span{font-size:9px;color:#8e8691}.lh-side-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:19px}.lh-side-heading h2{font-size:13px;margin:0;font-weight:650}.lh-side-heading>span{font-size:10px;color:#aaa1ac}.lh-badge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 8px}.lh-badge{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}.lh-badge>span{display:grid;place-items:center;background:#f6f4f7;width:42px;height:44px;border-radius:13px;color:#bcb4c1;font-size:25px}.lh-badge.earned>span{background:#fff2d5;color:#aa741c}.lh-badge strong{font-size:9px;color:#847c8b;font-weight:550}.lh-badge small{font-size:8px;color:#aca3b1}.lh-badge.earned small{color:#94712f}.lh-assess{background:#fcf8f9}.lh-assess>span{display:grid;place-items:center;width:32px;height:33px;background:#f7e7eb;color:var(--lh-accent);border-radius:9px;margin-bottom:14px;font-size:19px}.lh-assess h2{font-size:14px;line-height:1.5;margin:0 0 10px;max-width:180px}.lh-assess p{font-size:11px;line-height:1.7;color:#928693;margin:0 0 18px}.lh-assess button{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:42px;padding:9px 12px;border:1px solid #e7c6cf;color:var(--lh-accent);background:#fff;border-radius:9px;font:inherit;font-size:10px;font-weight:600;width:100%;cursor:pointer}.lh-local-note{font-size:10px;line-height:1.7;color:#9a909d;margin:0 5px}.lh-empty{grid-column:1/-1;border:1px dashed #dcd4df;border-radius:15px;padding:40px 25px;text-align:center}.lh-empty h2{font-size:18px}.lh-empty p{color:var(--lh-muted);font-size:13px}.learning-hall :is(a,button,select):focus-visible{outline:3px solid #be657a;outline-offset:3px}
@media(max-width:1250px){.lh-layout{grid-template-columns:minmax(0,1fr) 225px;gap:18px}.lh-summary-row{grid-template-columns:repeat(2,minmax(0,1fr))}.lh-topic-grid{gap:14px}.lh-topic-card{padding:18px 16px 0}.lh-topic-card footer{flex-wrap:wrap}.lh-topic-card footer>button{margin-left:auto}}
@media(max-width:1000px){.lh-layout{grid-template-columns:minmax(0,1fr)}.lh-aside{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.lh-profile,.lh-badges,.lh-assess{padding:20px 15px}.lh-local-note{grid-column:1/-1}.lh-summary-row{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:650px){.lh-heading{align-items:flex-start}.lh-heading h1{font-size:28px}.lh-heading p{font-size:13px}.lh-live-label{display:none}.lh-summary-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.lh-summary{padding:14px 12px}.lh-topic-grid{grid-template-columns:1fr}.lh-topic-card h2{min-height:0}.lh-topic-card footer{flex-wrap:nowrap}.lh-aside{grid-template-columns:1fr}.lh-profile-metrics{max-width:280px;margin:auto}.lh-badge-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.lh-assess h2{max-width:none}.lh-controls{gap:12px}.lh-filters button{padding:9px 12px;font-size:11px}.lh-sort{margin-left:auto}.lh-topic-card footer>button,.lh-filters button{min-height:44px}.lh-profile{padding:24px}.lh-badge strong{font-size:9px}}
@media(prefers-reduced-motion:reduce){.learning-hall *{transition:none!important;animation:none!important}}
/* Learning topics follow the reference's full-width horizontal rows. */
.lh-topic-grid{grid-template-columns:minmax(0,1fr);gap:16px}.lh-topic-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"labels score" "title score" "meter meter" "evidence evidence" "actions actions";column-gap:26px;align-items:start;padding:23px 25px 0;border-radius:17px}.lh-topic-row .lh-topic-top{grid-area:labels;justify-content:flex-start;gap:10px}.lh-topic-row h2{grid-area:title;min-height:0;margin:12px 0 17px;font-size:19px;line-height:1.4}.lh-topic-row .lh-topic-score{grid-area:score;display:grid;justify-items:end;gap:7px;padding-top:3px;text-align:right}.lh-topic-row .lh-topic-score>strong{font-size:30px}.lh-topic-row .lh-topic-score>span{font-size:10px}.lh-topic-row .lh-meter{grid-area:meter;margin:1px 0 8px;max-width:none;height:4px}.lh-topic-row .lh-evidence{grid-area:evidence;margin:0 0 18px;font-size:11px}.lh-topic-row footer{grid-area:actions;margin:0 -25px;padding:15px 25px;flex-wrap:nowrap;gap:16px;min-width:0}.lh-topic-row footer>div{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.lh-topic-row footer strong{font-size:11px}.lh-topic-row footer>div>span{font-size:10px}.lh-topic-row footer>button{margin-left:auto;min-height:40px;padding:10px 18px;flex-shrink:0}
@media(max-width:650px){.lh-topic-row{padding:20px 19px 0;column-gap:16px}.lh-topic-row h2{font-size:17px;margin:10px 0 16px}.lh-topic-row .lh-topic-score>strong{font-size:26px}.lh-topic-row .lh-topic-score>span{font-size:9px;max-width:90px;line-height:1.4}.lh-topic-row footer{margin:0 -19px;padding:14px 19px}.lh-topic-row footer>div{display:grid;gap:5px}.lh-topic-row footer>button{min-height:44px;padding:10px 14px}.lh-topic-row .lh-subject{font-size:10px}.lh-topic-row .lh-status{font-size:9px}}
@media(max-width:380px){.lh-topic-row{column-gap:10px}.lh-topic-row .lh-topic-top{gap:6px}.lh-topic-row h2{font-size:16px}.lh-topic-row footer>button{font-size:10px;padding-inline:12px}.lh-topic-row footer>div>span{font-size:9px}}
