:root{--ink:#0b1a35;--blue:#244a91;--paper:#f7f3e9;--line:#d9d4c8;--muted:#667187;--coral:#d7684e;--navy:#07162d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.6}a{color:inherit}button,a,select{font:inherit}.skip{position:fixed;left:1rem;top:-5rem;z-index:20;background:#fff;color:var(--blue);padding:.6rem 1rem}.skip:focus{top:1rem}.masthead{max-width:1240px;margin:auto;padding:22px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand img{width:110px;display:block}.snapshot,.source-line,.muted,footer{color:var(--muted);font-size:.88rem}.return{border:1px solid var(--blue);background:transparent;color:var(--blue);padding:.55rem .9rem;border-radius:999px}.chooser,.view{max-width:1240px;margin:auto;padding:clamp(3rem,8vw,7rem) 28px}.chooser{min-height:calc(100vh - 160px);display:grid;align-content:center}.eyebrow{margin:0;color:var(--blue);font-size:.8rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.chooser h1,.mode-head h1{max-width:900px;margin:.4rem 0;font-size:clamp(2.7rem,7vw,6.2rem);line-height:1.06;letter-spacing:-.06em}.lead{max-width:760px;margin:1rem 0 2rem;font-size:1.14rem;color:#48556b}.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:2rem 0}.role-card{min-height:250px;padding:28px;text-decoration:none;border:1px solid var(--line);background:#fff;transition:transform .2s,box-shadow .2s}.role-card:hover,.role-card:focus-visible{transform:translateY(-6px);box-shadow:0 18px 35px #11274b20;outline:3px solid #9ab1dc}.role-card span{display:block;color:var(--coral);font:700 1.6rem Georgia,serif}.role-card strong{display:block;margin-top:48px;font-size:1.8rem}.role-card small{display:block;margin-top:8px;color:var(--muted)}.mode-head{padding-bottom:25px;border-bottom:1px solid var(--line)}.mode-head h1{font-size:clamp(2.3rem,5vw,4.8rem)}.mode-nav{display:flex;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.mode-nav a{color:var(--blue);font-weight:700;text-underline-offset:4px}.panel{margin:28px 0;padding:clamp(25px,5vw,56px);background:#fff;border:1px solid var(--line)}.panel h2,.callout h2{margin:.25rem 0 1rem;font-size:clamp(2rem,4.2vw,3.9rem);line-height:1.13;letter-spacing:-.055em}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px}.section-head h2{margin:0}.notice{color:#7b382c;font-size:.94rem}.callout{margin:28px 0;padding:54px;background:var(--navy);color:#fff}.callout .eyebrow{color:#b5c9f4}.callout p:last-child{max-width:850px;color:#dbe3f3}.steps{padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;list-style:none}.steps li{border-top:3px solid var(--blue);padding:18px 0}.steps b,.steps span{display:block}.steps span{color:var(--muted);margin-top:8px}table{border-collapse:collapse;width:100%;background:#fff}th,td{padding:11px 15px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#f1ede4}tbody tr:nth-child(even){background:#fcfaf6}.table-wrap{overflow:auto;border:1px solid var(--line)}.course-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.course-rail article{border-top:4px solid var(--blue);background:#f8f5ed;padding:20px}.course-rail h3,.outline-grid h3,.teacher-detail h4,.boundary-grid h3{margin:.25rem 0 1rem;font-size:1.25rem}.course-rail table{min-width:0;font-size:.9rem}.course-rail th,.course-rail td{white-space:normal;padding:9px 4px;background:transparent}.course-rail th{width:35%;color:var(--blue)}.outline-grid,.boundary-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}.outline-grid article,.boundary-grid article{padding:24px;background:#f8f5ed;border-top:3px solid var(--coral)}dl{margin:1.2rem 0 0;border-top:1px solid var(--line)}dt{margin-top:.8rem;font-weight:800;color:var(--blue)}dd{margin:.15rem 0;color:var(--muted)}.subject-section{margin-top:42px;padding-top:18px;border-top:1px solid var(--line)}.subject-section>h3{font-size:1.35rem;margin:0 0 15px;color:var(--blue)}.teacher-ledger{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.teacher-detail{min-height:188px;padding:20px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.teacher-detail p{margin:.55rem 0;color:#48556b}.teacher-detail small{display:block;margin-top:3px;color:var(--muted);font-size:.82rem;font-weight:500}.teacher-detail.featured{grid-column:span 3;background:#f5f1e6;border-top:4px solid var(--coral);min-height:0}.teacher-detail details{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.teacher-detail summary{cursor:pointer;color:var(--blue);font-weight:800}.fact-table{display:grid;grid-template-columns:repeat(4,1fr);margin:28px 0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.fact-table div{min-height:155px;padding:22px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.fact-table b,.fact-table span{display:block}.fact-table b{font:700 clamp(2rem,4vw,4rem)/1 Georgia,serif;color:var(--coral)}.fact-table span{margin-top:15px;color:var(--muted)}.boundary-grid article{min-height:190px}.boundary-grid h3{color:var(--blue)}.boundary-grid p{color:#48556b}.supply-table{margin-top:25px}footer{max-width:1240px;margin:0 auto;padding:25px 28px;border-top:1px solid var(--line)}:focus-visible{outline:3px solid var(--coral);outline-offset:3px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.role-card{transition:none}}@media(max-width:760px){.masthead{padding:16px 18px}.snapshot{display:none}.chooser,.view{padding:42px 18px}.role-grid,.course-rail,.outline-grid,.boundary-grid,.teacher-ledger,.fact-table,.steps{grid-template-columns:1fr}.role-card{min-height:155px}.role-card strong{margin-top:22px}.mode-nav{overflow:auto;white-space:nowrap}.section-head{align-items:start;flex-direction:column}.teacher-detail.featured{grid-column:auto}.course-rail table{font-size:.84rem}.fact-table div{min-height:120px}.callout{padding:32px 25px}}
