.topic-mission,.topic-directory{--tm-ink:#14213d;--tm-blue:#315b8a;--tm-blue-dark:#24486f;--tm-sky:#eaf2fa;--tm-line:#d7e1ec;--tm-paper:#fff;--tm-muted:#607087;--tm-warn:#a8572a;--tm-warn-bg:#fff5eb;overflow-wrap:anywhere}
.topic-hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.75fr);gap:28px;align-items:start;margin:6px 0 24px}
.topic-hero-copy,.topic-route-card,.topic-route-choice,.topic-lesson,.topic-practice-map,.topic-provenance,.question-topic-mission,.kp-child-topics{background:var(--tm-paper);border:1px solid var(--tm-line);border-radius:12px}
.topic-hero-copy{padding:30px}.topic-kicker,.topic-section-head>span,.topic-route-choice>div>span,.topic-route-card>span,.question-topic-mission>div>span,.kp-child-topics>span{display:block;color:var(--tm-blue);font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.topic-hero h1{margin:7px 0 10px;color:var(--tm-ink);font-size:36px;line-height:1.3}.topic-hero-copy>p{max-width:680px;color:var(--tm-muted);font-size:16px}
.topic-meta{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.topic-meta span{padding:5px 10px;border:1px solid var(--tm-line);border-radius:999px;background:#f8fafc;color:#52647a;font-size:12px;font-weight:650}
.topic-outcomes{margin-top:22px;padding-top:20px;border-top:1px solid var(--tm-line)}.topic-outcomes h2{margin:0 0 10px;font-size:15px}.topic-outcomes ul{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin:0;padding:0;list-style:none}.topic-outcomes li{position:relative;padding-left:20px;color:#35465d;font-size:13px}.topic-outcomes li::before{content:'✓';position:absolute;left:0;color:#26705b;font-weight:800}.topic-outcomes p,.topic-lesson li p{display:inline;margin:0}
.topic-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:24px}.topic-actions button,.topic-actions>a,.topic-levels button,.question-topic-actions button,.question-topic-actions a{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:9px 17px;border-radius:8px;font:inherit;font-size:13px;font-weight:750;cursor:pointer;text-decoration:none}.topic-primary,.topic-levels button,.question-topic-actions button{border:1px solid var(--tm-blue);background:var(--tm-blue);color:#fff}.topic-primary:hover,.topic-levels button:hover,.question-topic-actions button:hover{background:var(--tm-blue-dark)}.topic-secondary,.question-topic-actions a{border:1px solid var(--tm-line);background:#fff;color:var(--tm-ink)}.topic-actions>a{padding:8px 4px;color:var(--tm-blue);font-size:13px;font-weight:700}.topic-actions button:disabled,.topic-levels button:disabled,.question-topic-actions button:disabled{opacity:.6;cursor:wait}.topic-action-status,.question-topic-status{min-height:20px;margin:8px 0 0;color:var(--tm-muted);font-size:12px}
.topic-route-card{padding:24px;box-shadow:0 10px 30px rgba(20,33,61,.06)}.topic-route-card ol{position:relative;margin:18px 0 20px;padding:0;list-style:none;counter-reset:track}.topic-route-card ol::before{content:'';position:absolute;top:12px;bottom:12px;left:12px;width:1px;background:var(--tm-line)}.topic-route-card li{position:relative;min-height:43px;padding:3px 0 0 40px;color:#33465f;font-size:13px;font-weight:650;counter-increment:track}.topic-route-card li::before{content:counter(track);position:absolute;left:0;top:0;width:25px;height:25px;border:1px solid #9eb6cf;border-radius:50%;background:#fff;color:var(--tm-blue);font:700 11px/23px ui-monospace,SFMono-Regular,monospace;text-align:center}.topic-route-card>div{padding:14px;border-radius:8px;background:var(--tm-sky)}.topic-route-card>div strong{display:block;color:var(--tm-ink);font-size:13px}.topic-route-card>div p{margin:4px 0 0;color:var(--tm-muted);font-size:11.5px;line-height:1.7}
.topic-route-choice{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 24px;margin:20px 0}.topic-route-choice h2,.topic-section-head h2{margin:3px 0 0;font-size:19px}.topic-route-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:min(460px,50%)}.topic-route-options button{min-height:62px;padding:10px 14px;border:1px solid var(--tm-line);border-radius:8px;background:#fff;color:var(--tm-ink);font:inherit;text-align:left;cursor:pointer}.topic-route-options button.is-selected{border-color:var(--tm-blue);box-shadow:inset 3px 0 0 var(--tm-blue);background:#f7fbff}.topic-route-options strong,.topic-route-options span{display:block}.topic-route-options strong{font-size:13px}.topic-route-options span{margin-top:3px;color:var(--tm-muted);font-size:11px}
.topic-lesson,.topic-practice-map{padding:28px;margin:20px 0}.topic-summary{margin:20px 0;padding:16px 18px;border-left:3px solid var(--tm-blue);background:var(--tm-sky)}.topic-summary strong{color:var(--tm-blue);font-size:12px}.topic-summary p{margin:5px 0 0;color:#30455f}.topic-lesson-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.topic-lesson-grid section{padding:18px;border:1px solid var(--tm-line);border-radius:8px}.topic-lesson h3{margin:0 0 12px;font-size:15px}.topic-lesson ul{margin:0;padding-left:20px}.topic-lesson li{margin:6px 0;color:#40536a;font-size:13px}
.topic-workflow{margin-top:20px}.topic-workflow ol{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:0;padding:0;list-style:none;counter-reset:flow}.topic-workflow li{position:relative;min-height:120px;padding:38px 12px 12px;border:1px solid var(--tm-line);border-radius:8px;background:#fbfcfe;counter-increment:flow}.topic-workflow li::before{content:counter(flow);position:absolute;top:10px;left:12px;color:var(--tm-blue);font:800 15px/1 ui-monospace,SFMono-Regular,monospace}.topic-workflow li span{color:#35475e;font-size:12.5px}.topic-workflow li+li::after{content:'→';position:absolute;left:-14px;top:50%;color:#9aabba}
.topic-pitfalls{margin-top:22px}.topic-pitfalls>div{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.topic-pitfalls article{padding:15px;border:1px solid #f1d5bd;border-radius:8px;background:var(--tm-warn-bg)}.topic-pitfalls strong{color:var(--tm-warn);font-size:13px}.topic-pitfalls p{margin:5px 0 0;color:#705448;font-size:12px;line-height:1.65}.topic-checklist{margin-top:18px;border-top:1px solid var(--tm-line);padding-top:15px}.topic-checklist summary{color:var(--tm-blue);font-size:13px;font-weight:750;cursor:pointer}
.topic-levels{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.topic-levels article{display:flex;min-height:196px;flex-direction:column;padding:16px;border:1px solid var(--tm-line);border-radius:8px;background:#fbfcfe}.topic-levels article>div{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.topic-levels article>div span{color:var(--tm-ink);font-size:14px;font-weight:800}.topic-levels article>div strong{color:var(--tm-muted);font-size:10.5px}.topic-levels p{flex:1;margin:12px 0;color:var(--tm-muted);font-size:12px}.topic-levels button{width:100%}.topic-levels article:first-child{border-color:#91abc6;background:var(--tm-sky)}.topic-evidence-note{margin:14px 0 0;color:var(--tm-muted);font-size:11.5px}
.topic-provenance{padding:20px 24px;margin:20px 0}.topic-provenance h2{margin:0 0 6px;font-size:16px}.topic-provenance p{margin:0 0 8px;color:var(--tm-muted);font-size:12px}.topic-provenance a{display:inline-flex;min-height:44px;align-items:center;font-size:12px;font-weight:700}
.topic-directory>h1{color:var(--tm-ink)}.topic-directory-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.topic-directory-grid>a{display:block;padding:22px;border:1px solid var(--tm-line);border-radius:10px;background:#fff;color:var(--tm-ink);text-decoration:none}.topic-directory-grid>a:hover{border-color:var(--tm-blue);box-shadow:0 8px 24px rgba(20,33,61,.08)}.topic-directory-grid span{color:var(--tm-blue);font-size:11px;font-weight:750}.topic-directory-grid h2{margin:7px 0 5px;font-size:18px}.topic-directory-grid p{margin:0 0 16px;color:var(--tm-muted);font-size:13px}.topic-directory-grid strong{color:var(--tm-blue);font-size:12px}
.question-topic-mission{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:18px 0 22px;padding:20px;border-left:4px solid var(--tm-blue)}.question-topic-mission h2{margin:3px 0 4px;font-size:18px}.question-topic-mission p{margin:0;color:var(--tm-muted);font-size:12.5px}.question-topic-actions{display:flex;flex:0 0 auto;gap:8px}.question-topic-status{width:100%}
.kp-child-topics{padding:22px;margin:26px 0}.kp-child-topics h2{margin:4px 0 14px!important}.kp-child-topics>div{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.kp-child-topics a{display:block;padding:16px;border:1px solid var(--tm-line);border-radius:8px;color:var(--tm-ink);text-decoration:none}.kp-child-topics a:hover{border-color:var(--tm-blue)}.kp-child-topics strong,.kp-child-topics small,.kp-child-topics b{display:block}.kp-child-topics small{margin:5px 0 10px;color:var(--tm-muted);line-height:1.6}.kp-child-topics b{color:var(--tm-blue);font-size:12px}
@media(max-width:820px){.topic-hero{grid-template-columns:1fr}.topic-route-card{display:none}.topic-route-choice{display:block}.topic-route-options{min-width:0;margin-top:14px}.topic-workflow ol{grid-template-columns:1fr}.topic-workflow li{min-height:0;padding:14px 14px 14px 42px}.topic-workflow li::before{top:15px}.topic-workflow li+li::after{display:none}.topic-levels{grid-template-columns:1fr 1fr}.question-topic-mission{display:block}.question-topic-actions{margin-top:14px}}
@media(max-width:560px){.topic-hero-copy,.topic-lesson,.topic-practice-map{padding:20px 16px}.topic-hero h1{font-size:27px}.topic-outcomes ul,.topic-lesson-grid,.topic-pitfalls>div,.topic-levels,.topic-directory-grid,.kp-child-topics>div{grid-template-columns:1fr}.topic-route-options{grid-template-columns:1fr}.topic-actions,.question-topic-actions{display:grid}.topic-actions button,.topic-actions>a,.question-topic-actions button,.question-topic-actions a{width:100%;text-align:center}.topic-route-choice{padding:18px 16px}.question-topic-mission{padding:18px 16px}.topic-levels article{min-height:0}.topic-meta span{font-size:11px}}
@media(prefers-reduced-motion:reduce){.topic-mission *,.topic-directory *{scroll-behavior:auto!important;transition:none!important}}
