/* Teacher documentation uses the institutional palette and a reading-first layout. */
body { margin:0; background:#fff; color:#242b26; color-scheme:light; }
.teacher-guide { --guide-green:#214f3b; --guide-muted:#67716a; --guide-border:#e3e8e2; font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
.teacher-guide * { box-sizing:border-box; }
.teacher-guide a { color:var(--guide-green); text-underline-offset:3px; }
.teacher-guide :is(a,summary):focus-visible { outline:2px solid #5c6f5c; outline-offset:4px; border-radius:2px; }
.teacher-guide-layout { display:grid; grid-template-columns:260px minmax(0,1fr); align-items:start; }
.teacher-guide-sidebar { position:sticky; top:0; height:100vh; height:100dvh; overflow:auto; display:flex; flex-direction:column; padding:30px 24px 24px; background:#f6f8f5; border-right:1px solid var(--guide-border); }
.teacher-guide-docs-brand { display:flex; align-items:baseline; gap:10px; font-size:21px; font-weight:650; letter-spacing:-.5px; text-decoration:none; }
.teacher-guide-docs-brand span { font-size:12px; font-weight:400; letter-spacing:0; color:var(--guide-muted); }
.teacher-guide-sidebar-title { margin:34px 0 20px; font-size:14px; font-weight:600; }
.teacher-guide-sidebar nav > .teacher-guide-eyebrow { margin-bottom:8px; font-size:10px; color:var(--guide-muted); }
.teacher-guide-sidebar ol { margin:0; padding:0; list-style:none; }
.teacher-guide-sidebar li a { display:flex; align-items:baseline; gap:10px; padding:9px 0; color:#4d5950; font-size:12px; line-height:1.6; text-decoration:none; }
.teacher-guide-sidebar li a span { color:#778479; font-size:10px; font-variant-numeric:tabular-nums; }
.teacher-guide-sidebar li a:hover { color:var(--guide-green); text-decoration:underline; }
.teacher-guide-sidebar-links { margin-top:auto; padding-top:26px; display:grid; gap:12px; }
.teacher-guide-sidebar-links a { font-size:12px; line-height:1.6; }
.teacher-guide-content { min-width:0; width:100%; max-width:900px; padding:44px 64px 56px; }
.teacher-guide-intro { margin-bottom:38px; padding-bottom:28px; border-bottom:1px solid var(--guide-border); }
.teacher-guide-back { display:inline-block; margin-bottom:24px; font-size:12px; text-decoration:none; }
.teacher-guide-back:hover { text-decoration:underline; }
.teacher-guide h1 { margin:0 0 12px; font-size:34px; font-weight:650; line-height:1.3; letter-spacing:-1px; }
.teacher-guide-description { margin:0 0 12px; color:#526057; font-size:15px; line-height:1.8; }
.teacher-guide-edition { margin:0; color:var(--guide-muted); font-size:11px; line-height:1.7; }
.teacher-guide-mobile-contents { display:none; }
.teacher-guide-content > section { scroll-margin-top:28px; padding:0 0 30px; margin-bottom:32px; border-bottom:1px solid var(--guide-border); }
.teacher-guide h2 { margin:0 0 18px; font-size:24px; font-weight:600; line-height:1.4; letter-spacing:-.5px; }
.teacher-guide h3 { margin:24px 0 10px; font-size:16px; font-weight:600; line-height:1.6; }
.teacher-guide-content p:not([class]),.teacher-guide-content li,.teacher-guide-content dd { font-size:14px; line-height:1.85; color:#465249; }
.teacher-guide-content p:not([class]) { margin:0 0 16px; }
.teacher-guide-content b,.teacher-guide-content strong { color:#2c3b30; font-weight:600; }
.teacher-guide-content .teacher-guide-small { color:var(--guide-muted); font-size:12px; line-height:1.8; margin:18px 0 0; }
.teacher-guide-eyebrow { margin:0 0 12px; font-size:10px; font-weight:600; letter-spacing:.6px; line-height:1.7; text-transform:uppercase; color:var(--guide-muted); }
.teacher-guide-path { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 20px; padding:10px 13px; border:1px solid var(--guide-border); border-radius:4px; background:#f7f9f6; color:#52664f; font-size:11px; font-weight:500; line-height:1.8; }
.teacher-guide-steps { margin:22px 0; padding-left:24px; }
.teacher-guide-steps li { margin-bottom:12px; padding-left:6px; }
.teacher-guide-steps li::marker { color:#5c6f5c; font-weight:600; }
.teacher-guide-note { margin:22px 0; padding:16px 18px; border-left:3px solid #9cae95; background:#f3f6ef; }
.teacher-guide-content .teacher-guide-note p { margin:6px 0 0; font-size:13px; }
.teacher-guide-note > strong { font-size:13px; }
.teacher-guide-example { margin:22px 0; padding:16px 18px; background:#fafbf9; border-left:2px solid var(--guide-border); }
.teacher-guide-example .teacher-guide-eyebrow { display:block; margin-bottom:8px; }
.teacher-guide-content .teacher-guide-example p { margin:0; font-size:13px; }
.teacher-guide-map { margin:22px 0; }
.teacher-guide-map > div { display:grid; grid-template-columns:140px minmax(0,1fr); gap:20px; padding:14px 0; border-top:1px solid var(--guide-border); }
.teacher-guide-map dt { font-size:13px; font-weight:600; line-height:1.8; color:var(--guide-green); }
.teacher-guide-map dt a { text-decoration:none; }
.teacher-guide-map dt a:hover { text-decoration:underline; }
.teacher-guide-map dd,.teacher-guide-statuses dd { margin:0; }
.teacher-guide-content .teacher-guide-map dd { font-size:13px; }
.teacher-guide-pair { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:24px 0; }
.teacher-guide-pair > div { border-left:2px solid var(--guide-border); padding:0 0 0 16px; }
.teacher-guide-pair h3 { font-size:14px; margin:0 0 8px; }
.teacher-guide-content .teacher-guide-pair p { font-size:13px; margin:0; }
.teacher-guide-student-message { border:1px solid var(--guide-border); border-radius:4px; padding:20px; margin:22px 0; }
.teacher-guide-student-message ol { margin:0; padding-left:20px; }
.teacher-guide-student-message li { padding-left:5px; margin:8px 0; }
.teacher-guide-statuses { margin:22px 0; }
.teacher-guide-statuses > div { padding:14px 0; border-bottom:1px solid var(--guide-border); }
.teacher-guide-statuses dt { font-size:13px; font-weight:600; color:#2e3e32; margin-bottom:4px; line-height:1.7; }
.teacher-guide-content .teacher-guide-statuses dd { font-size:13px; }
.teacher-guide-faq { margin:20px 0; }
.teacher-guide-faq details { border-top:1px solid var(--guide-border); }
.teacher-guide-faq details:last-child { border-bottom:1px solid var(--guide-border); }
.teacher-guide-faq summary { padding:16px 2px; color:#2e3e32; font-size:13px; font-weight:600; line-height:1.7; cursor:pointer; }
.teacher-guide-faq summary:hover { color:var(--guide-green); }
.teacher-guide-content .teacher-guide-faq p { font-size:13px; margin:0; padding:0 4px 18px; }
.teacher-guide-support { margin-top:26px; }
.teacher-guide-support h3 { margin:0 0 8px; font-size:15px; }
.teacher-guide-content .teacher-guide-support p { font-size:13px; margin:0 0 12px; }
.teacher-guide a.teacher-guide-button { font-size:13px; font-weight:600; }
.teacher-guide-end { display:flex; flex-wrap:wrap; justify-content:space-between; gap:20px; font-size:12px; line-height:1.8; }
.teacher-guide-skip { position:absolute; z-index:100; top:8px; left:8px; transform:translateY(-160%); padding:12px; background:#214f3b; color:#fff; }
.teacher-guide-skip:focus { transform:none; }
@media(max-width:1100px) { .teacher-guide-layout { grid-template-columns:240px minmax(0,1fr); } .teacher-guide-sidebar { padding:26px 20px 22px; } .teacher-guide-content { padding:36px 36px 48px; } }
@media(max-width:760px) {
 .teacher-guide-layout { display:block; }
 .teacher-guide-sidebar { display:none; }
 .teacher-guide-content { max-width:700px; margin:auto; padding:26px 24px 40px; }
 .teacher-guide-intro { margin-bottom:22px; padding-bottom:20px; }
 .teacher-guide-back { margin-bottom:20px; }
 .teacher-guide h1 { font-size:30px; }
 .teacher-guide h2 { font-size:22px; }
 .teacher-guide-mobile-contents { display:block; margin-bottom:30px; border:1px solid var(--guide-border); border-radius:4px; background:#f7f9f6; }
 .teacher-guide-mobile-contents summary { padding:12px 16px; font-size:13px; font-weight:600; cursor:pointer; }
 .teacher-guide-mobile-contents ol { margin:0; padding:0 16px 12px; list-style:none; }
 .teacher-guide-mobile-contents li a { display:block; padding:7px 0; font-size:12px; line-height:1.7; text-decoration:none; }
 .teacher-guide-mobile-contents li a:hover { text-decoration:underline; }
 .teacher-guide-content > section { padding-bottom:26px; margin-bottom:28px; }
 .teacher-guide-map > div { grid-template-columns:120px minmax(0,1fr); gap:14px; }
}
@media(max-width:400px) {
 .teacher-guide-content { padding:22px 18px 36px; }
 .teacher-guide-pair,.teacher-guide-map > div { grid-template-columns:1fr; }
 .teacher-guide-map > div { gap:5px; }
 .teacher-guide-note,.teacher-guide-example,.teacher-guide-student-message { padding:16px; }
}
@media print {
 body { background:#fff; }
 .teacher-guide-sidebar,.teacher-guide-mobile-contents,.teacher-guide-back,.teacher-guide-end,.teacher-guide-skip { display:none; }
 .teacher-guide-layout { display:block; }
 .teacher-guide-content { max-width:none; padding:0; }
 .teacher-guide h1 { font-size:28px; }
 .teacher-guide-content > section { margin-bottom:24px; padding-bottom:24px; }
 .teacher-guide-content h2,.teacher-guide-content h3 { break-after:avoid; }
 .teacher-guide-faq details:not([open]) > p { display:block; }
 .teacher-guide-faq details::details-content { content-visibility:visible; }
 .teacher-guide-note,.teacher-guide-example,.teacher-guide-pair > div { break-inside:avoid; }
}
