/* Shared footer, scoped independently of page and workspace styles. */
.tr-site-footer { box-sizing: border-box; width: 100%; max-width: 1180px; margin: 28px auto 0; padding: 16px 24px 6px; color: var(--text-primary, #101828); background: var(--surface-bg, #fff); border-top: 5px solid #1d4ed8; font-family: 'Manrope', sans-serif; text-align: left; }
.tr-site-footer * { box-sizing: border-box; }
.tr-site-footer__main { display: grid; grid-template-columns: minmax(160px, 1fr) auto; gap: 0 28px; align-items: center; padding-bottom: 10px; }
.tr-site-footer__identity { grid-row: span 2; }
.tr-site-footer a { color: inherit; text-decoration: none; }
.tr-site-footer .tr-site-footer__brand { display: inline-block; font: 700 22px/1.2 'Space Grotesk', sans-serif; letter-spacing: -.055em; }
.tr-site-footer__brand span { color: var(--accent-primary, #1d4ed8); }
.tr-site-footer__identity p { margin: 6px 0 0; color: var(--text-secondary, #667085); font-size: 12px; line-height: 1.8; }
.tr-site-footer__note { display: none; font-size: 10px; color: var(--text-secondary, #667085); }
.tr-site-footer__links { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 0 20px; }
.tr-site-footer__links h2 { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.tr-site-footer__links a { display: inline-flex; align-items: center; gap: 8px; min-height: 30px; font-size: 11px; line-height: 1.5; color: var(--text-secondary, #667085); }
.tr-site-footer a:hover { color: var(--accent-primary, #1d4ed8); }
.tr-site-footer a:focus-visible { outline: 3px solid var(--accent-primary, #1d4ed8); outline-offset: 4px; border-radius: 3px; }
.tr-site-footer__bottom { display: flex; justify-content: space-between; align-items: center; gap: 12px; border-top: 1px solid var(--line-subtle, #d0d5dd); }
.tr-site-footer__bottom p { margin: 0; color: var(--text-secondary, #667085); font-size: 10px; line-height: 1.7; }
.tr-site-footer__top { display: inline-flex; align-items: center; gap: 14px; min-height: 44px; white-space: nowrap; font-size: 10px; font-weight: 600; }
.tr-site-footer__sr { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
body.teacher-workspace > .tr-site-footer { max-width: 1200px; margin-top: 24px; }
@media (max-width: 640px) {
 .tr-site-footer { margin-top: 20px; padding: 14px 18px 4px; }
 .tr-site-footer__main { grid-template-columns: 1fr; gap: 0; padding-bottom: 8px; }
 .tr-site-footer__identity { grid-row: auto; margin-bottom: 8px; }
 .tr-site-footer__identity p { display: none; }
 .tr-site-footer__links { justify-content: flex-start; column-gap: 18px; }
 .tr-site-footer__note { display: none; }
 .tr-site-footer__links a { min-height: 44px; }
 .tr-site-footer__bottom { align-items: center; gap: 8px; }
 body.teacher-workspace > .tr-site-footer { margin-top: 0; padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 360px) { .tr-site-footer__bottom { flex-direction: column; align-items: flex-start; } }

.tr-site-footer__identity p { max-width: 25ch; }
