#teaching-outline{background:#fff;border:1px solid #dacced;border-radius:22px;padding:30px;margin:0 0 36px;scroll-margin-top:24px;color:#241843;overflow-wrap:anywhere}
#teaching-outline:empty{display:none}
#teaching-outline h2{font-size:clamp(23px,3vw,32px);margin:8px 0 14px;line-height:1.3}
#teaching-outline h3{font-size:22px;margin:25px 0 12px;line-height:1.4}
#teaching-outline h4{color:#7130a1;font-size:14px;text-transform:uppercase;letter-spacing:.05em;margin:20px 0 7px}
#teaching-outline p,#teaching-outline li{line-height:1.65}
#teaching-outline li+li{margin-top:9px}
#teaching-outline .outline-intro{color:#655677;max-width:820px}
.outline-days{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
#teaching-outline .outline-days [aria-pressed=true]{background:#6d28d9;color:#fff;border-color:#6d28d9}
.outline-prep,.outline-extra{border:1px solid #ded3ed;border-radius:12px;padding:14px 18px;background:#faf7ff;margin:20px 0}
#teaching-outline summary{cursor:pointer;font-weight:650;color:#4e2e87;line-height:1.5}
.outline-outcome{background:#f1eafa;border-radius:12px;padding:14px 18px}
.outline-jump{display:grid;gap:8px;color:#514762;font-size:14px;font-weight:600;margin:18px 0}
.outline-jump select{width:100%;max-width:100%;padding:12px;background:#fff;color:#241843;border:1px solid #baa3dc;border-radius:10px;font:inherit}
.outline-step{border:1px solid #dacee9;border-radius:14px;margin:12px 0;scroll-margin-top:20px;overflow:hidden}
.outline-step>summary{display:flex;align-items:center;gap:14px;padding:16px 18px;list-style:none}
.outline-step>summary::-webkit-details-marker{display:none}
.outline-step>summary:after{content:'+';margin-left:auto;font-size:22px;flex-shrink:0}
.outline-step[open]>summary{background:#f5effd;border-bottom:1px solid #e2d7f1}
.outline-step[open]>summary:after{content:'−'}
.outline-number{color:#7a32b2;background:#ebe0f8;border-radius:9px;padding:7px 10px;font-size:14px;flex-shrink:0}
.outline-step-body{padding:0 24px 24px}
#teaching-outline .outline-step-body textarea{width:100%;box-sizing:border-box;resize:vertical;background:#faf8ff;color:#241843;border:1px solid #cbb9e3;border-radius:12px;padding:14px;font:inherit;font-size:14px;line-height:1.6}
.outline-check{padding:14px 18px;border-left:3px solid #9562c9;background:#f7f3fc;border-radius:8px;margin:20px 0}
.outline-links{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.outline-downloads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;background:#f4f1fb;padding:20px;border-radius:16px;margin:20px 0}
.outline-downloads h4{grid-column:1/-1;margin:0!important}.outline-downloads .button{white-space:normal;text-align:left;line-height:1.5}
@media(max-width:640px){.outline-downloads{grid-template-columns:minmax(0,1fr);padding:14px}.outline-downloads .button{font-size:15px}}
#teaching-outline a.text-link{color:#6535a1}
#teaching-outline .outline-series{border-top:2px solid #dacced;margin-top:36px;padding-top:26px}
#teaching-outline .outline-shortcut{float:right;margin:0 0 12px 16px}
#teaching-outline .outline-prompt .outline-links{margin-top:10px}
.outline-table-wrap{overflow-x:auto;max-width:100%;border:1px solid #dacee9;border-radius:12px;margin:20px 0 12px;overscroll-behavior-x:contain}
.outline-table{border-collapse:collapse;min-width:650px;width:100%;font-size:14px;line-height:1.55;text-align:left}
.outline-table caption{text-align:left;padding:14px 16px;font-weight:700;background:#f4eefb;color:#4e2e87}
.outline-table th,.outline-table td{padding:13px 15px;border-top:1px solid #e6ddef;vertical-align:top;min-width:125px}
.outline-table thead th{background:#faf7ff;font-weight:700;color:#4e2e87}
.outline-table tbody th{font-weight:600;min-width:150px;width:22%}
.outline-table tbody tr:nth-child(even){background:#fcfaff}
#teaching-outline .outline-table-notes{padding-left:22px;font-size:13px;color:#655677}
#teaching-outline .outline-flow{display:flex;gap:10px;flex-wrap:wrap;padding:0;list-style:none;counter-reset:stage}
#teaching-outline .outline-flow li{counter-increment:stage;background:#f3edfa;border:1px solid #dacee9;border-radius:10px;padding:11px 14px;margin:0;font-size:14px}
.outline-flow li:before{content:counter(stage) '. ';font-weight:700;color:#7130a1}
.outline-note{font-size:13px;color:#655677;border-top:1px solid #e2d7ef;padding-top:18px;margin-top:20px}
#teaching-outline :focus-visible{outline:3px solid #8b5cf6;outline-offset:3px}
@media(max-width:640px){#teaching-outline{padding:22px 16px}.outline-step-body{padding:0 16px 20px}.outline-step>summary{padding:14px 12px;gap:10px}.outline-days .button{flex:1;padding:12px}.outline-links .button{width:100%;text-align:center}.outline-step-body ol{padding-left:21px}#teaching-outline .outline-shortcut{float:none;margin:0 0 16px}.outline-table{font-size:13px}.outline-table th,.outline-table td{padding:10px}#teaching-outline .outline-flow{padding-left:0}}
