/* Regional self-study page; deliberately independent of the legacy hub styles. */
.rs-page { --rs-blue:#2466b8; --rs-ink:#263d59; --rs-muted:#8091a8; background:#f5f7fb; color:var(--rs-ink); padding:0 0 34px; font-family:"Microsoft YaHei","PingFang SC",sans-serif; }
.rs-page [hidden] { display:none!important; }
.rs-width { width:var(--pc-content-width); max-width:var(--pc-content-max); margin-inline:auto; }
.rs-page .icon { width:18px; height:18px; flex:none; }
.rs-location { display:flex; align-items:center; gap:8px; height:29px; font-size:12px; color:#98a6b8; }
.rs-location a { color:#7b8da5; }
.rs-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:0 2px 13px; }
.rs-heading__title { display:flex; gap:14px; align-items:center; }
.rs-heading__mark { display:grid; place-items:center; width:53px; height:53px; border:1px solid #d7e5f9; border-radius:14px; color:#3076c8; background:linear-gradient(140deg,#e5efff,#f5fbff); }
.rs-heading__mark .icon { width:29px; height:29px; }
.rs-heading h1 { display:flex; align-items:center; gap:12px; margin:0; font-size:29px; line-height:1.35; font-weight:700; letter-spacing:.5px; }
.rs-heading h1 span { padding:3px 7px; border:1px solid #cce0fa; border-radius:4px; color:#6187b5; font-size:11px; font-weight:400; letter-spacing:1px; }
.rs-heading__title p { margin:5px 0 0; font-size:12px; color:#7e91ad; }
.rs-heading__tools { display:flex; align-items:center; gap:22px; font-size:12px; color:#7289a6; }
.rs-heading__tools > a strong { margin-right:3px; font:600 23px Arial,sans-serif; color:#3e6da6; }
.rs-region-switch { position:relative; z-index:25; }
.rs-region-switch summary { display:flex; gap:15px; align-items:center; padding:9px 13px; border:1px solid #91b9ed; border-radius:6px; background:#e8f1ff; color:#155bb5; font-weight:700; cursor:pointer; list-style:none; transition:background .18s,border-color .18s,color .18s; }
.rs-region-switch summary:hover { background:#d9e9ff; border-color:#5d96df; }
.rs-region-switch[open] summary { background:#2466b8; border-color:#2466b8; color:#fff; }
.rs-region-switch summary>span { transition:transform .18s; }
.rs-region-switch[open] summary>span { transform:rotate(180deg); }
.rs-region-switch summary::-webkit-details-marker { display:none; }
.rs-region-switch nav { position:absolute; top:calc(100% + 8px); right:0; display:grid; grid-template-columns:repeat(6,1fr); gap:6px; padding:15px; width:480px; border:1px solid #dce7f4; border-radius:10px; background:#fff; box-shadow:0 15px 45px #274e7629; }
.rs-region-switch nav a { padding:8px 4px; text-align:center; border-radius:4px; color:#5c779a; font-size:13px; }
.rs-region-switch nav a:hover,.rs-region-switch a[aria-current] { color:#1c64bd; background:#eaf3ff; }
.rs-navigation { position:sticky; top:0; z-index:20; display:flex; align-items:stretch; min-height:48px; padding:0 12px; margin-bottom:20px; border:1px solid #d6e4f8; border-radius:8px; background:linear-gradient(110deg,#e8f1ff,#f4f8ff); box-shadow:0 3px 10px #315e9905; }
.rs-navigation a { display:grid; position:relative; place-items:center; flex:1; padding:13px 14px; color:#526f96; font-size:15px; font-weight:600; }
.rs-navigation a:hover,.rs-navigation a[aria-current] { color:#1b61b6; }
.rs-navigation a[aria-current]::after { content:""; position:absolute; left:calc(50% - 16px); bottom:0; width:32px; height:3px; border-radius:3px 3px 0 0; background:linear-gradient(90deg,#3c80d9,#49b2ca); }
.rs-page :is(section,div)[id] { scroll-margin-top:66px; }
.rs-panel { min-width:0; border:1px solid #e0e8f3; border-radius:10px; background:#fff; overflow:hidden; }
.rs-section-head { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:17px 22px; border-bottom:1px solid #e8eef6; background:linear-gradient(110deg,#f1f6ff,#fafcff); }
.rs-section-head h2 { font-size:21px; line-height:1.4; font-weight:700; color:#2a4d77; }
.rs-kicker { display:block; margin-bottom:4px; color:#91a8c6; font-size:11px; letter-spacing:.4px; }
.rs-section-head > :is(a,p) { flex:none; color:#8198b6; font-size:12px; }
.rs-section-head > p strong { color:#4679b4; font-size:17px; }
.rs-section-head > a span { margin-left:8px; }
.rs-overview { display:grid; grid-template-columns:minmax(0,1fr) 330px; align-items:stretch; gap:20px; margin-bottom:22px; }
.rs-news .rs-section-head { padding-block:14px; }
.rs-news .rs-kicker { display:none; }
.rs-news .rs-section-head h2 { font-size:20px; }
.rs-news-lead { display:block; margin:0 22px; padding:14px 0 12px; border-bottom:1px solid #e9eff6; }
.rs-news-lead__tag { display:inline-block; padding:3px 7px; margin-bottom:7px; border-radius:4px; color:#c1743c; background:#fff0e4; font-size:11px; }
.rs-news-lead h3 { color:#2b507f; font-size:22px; line-height:1.5; font-weight:700; }
.rs-news-lead:hover h3 { color:#145bbe; }
.rs-news-lead__meta { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:9px; color:#8b9bb0; font-size:12px; }
.rs-news-list { padding:9px 22px 13px; }
.rs-news-list li > a { display:flex; gap:20px; align-items:center; padding:7px 0; font-size:15px; line-height:1.6; }
.rs-news-list li > a::before { content:""; flex:none; width:4px; height:4px; border-radius:1px; background:#7fa5d3; }
.rs-news-list li > a > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rs-news-list a time { margin-left:auto; flex:none; color:#94a2b5; font:12px Arial,sans-serif; }
.rs-news-list a:hover > span { color:#226bc2; }
.rs-beginner { display:flex; flex-direction:column; }
.rs-beginner__banner { display:block; position:relative; min-height:126px; padding:18px 20px; background:#ddf8ed url('/static/images/home-reading/guides-v1.webp') center/cover no-repeat; }
.rs-beginner__banner > span { font-size:11px; color:#43897e; }
.rs-beginner__banner h2 { margin-top:8px; font-size:25px; line-height:1.3; font-weight:700; color:#206b61; }
.rs-beginner__banner b { position:absolute; right:16px; top:17px; color:#67ac99; font-size:18px; font-weight:400; }
.rs-beginner nav { flex:1; display:grid; grid-template-columns:repeat(3,1fr); align-content:center; gap:6px 5px; padding:13px 15px; }
.rs-beginner nav a { display:flex; align-items:center; justify-content:center; gap:5px; padding:9px 0; color:#657e9e; font-size:13px; border-radius:5px; }
.rs-beginner nav .icon { width:16px; height:16px; color:#6c9bd4; }
.rs-beginner nav a:hover { color:#2065b7; background:#f0f6ff; }
.rs-beginner__help { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:14px 18px; border-top:1px solid #e4eeef; background:#f8fcfb; color:#6a978e; font-size:12px; }
.rs-directory { margin-bottom:22px; }
.rs-directory-filters { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:15px 20px; border-bottom:1px solid #e8eef6; }
.rs-directory-search { display:flex; align-items:center; flex:1; min-width:180px; gap:9px; padding-left:12px; border:1px solid #d9e5f3; border-radius:6px; background:#f7faff; color:#89a3c5; }
.rs-directory-search input { width:100%; min-width:0; height:37px; padding:0 10px 0 0; border:0; outline:none; background:transparent; color:#365779; font-size:13px; }
.rs-directory-search:focus-within { outline:2px solid #6e9fe2; outline-offset:1px; }
.rs-directory-search input::placeholder { color:#a0b0c5; }
.rs-directory-filters select { max-width:186px; height:39px; padding:0 26px 0 10px; border:1px solid #dce6f1; border-radius:5px; background-color:#fff; color:#607996; font-size:12px; }
.rs-directory-filters button { padding:8px 4px; color:#7f98b6; font-size:12px; cursor:pointer; }
.rs-directory-year { color:#8d9fb7; font-size:12px; }
.rs-table-scroll { overflow:auto; scrollbar-width:thin; scrollbar-color:#c5d5e9 transparent; }
.rs-directory-table { width:100%; min-width:820px; border-collapse:collapse; text-align:left; }
.rs-directory-table thead { background:#f4f7fc; }
.rs-directory-table thead th { padding:12px 20px; color:#8093ad; font-size:12px; font-weight:400; white-space:nowrap; }
.rs-directory-table tbody :is(th,td) { padding:11px 20px; border-bottom:1px solid #eaf0f7; vertical-align:middle; color:#536b88; font-size:15px; line-height:1.65; }
.rs-directory-table tbody th { width:26%; color:#2d4768; font-weight:600; }
.rs-directory-table tbody th small { display:block; color:#9aabc0; font:11px/1.6 Arial,sans-serif; font-weight:400; }
.rs-directory-table td:nth-child(3) { width:28%; }
.rs-directory-table td:nth-child(4) { width:18%; }
.rs-directory-table td:nth-child(5) { width:12%; }
.rs-directory-table [data-directory-row]:hover { background:#f8fbff; }
.rs-directory-table td a:hover { color:#1e66b8; }
.rs-directory-table button { padding:4px 0; color:#6187b4; background:transparent; cursor:pointer; font-size:12px; white-space:nowrap; }
.rs-directory-table button[aria-expanded="true"] { color:#2469bf; }
.rs-directory-table .rs-directory-note td { padding:0 20px 14px; background:#f7faff; }
.rs-directory-note td > div { padding:13px 17px; border-left:2px solid #a9c9ed; background:#eff5fe; border-radius:0 5px 5px 0; }
.rs-directory-note p { margin-bottom:8px; color:#6e819b; font-size:12px; line-height:1.9; }
.rs-directory-note strong { margin-right:14px; color:#456c9b; font-weight:600; }
.rs-directory-note a { color:#7c98b8; font-size:12px; }
.rs-directory-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:13px 20px; color:#8c9db3; font-size:12px; }
.rs-directory-footer nav { display:flex; align-items:center; gap:14px; }
.rs-directory-footer button { padding:7px 13px; border:1px solid #dce6f3; border-radius:5px; color:#5c7eab; background:#fff; cursor:pointer; }
.rs-directory-footer button:disabled { opacity:.4; cursor:default; }
.rs-empty { padding:24px!important; color:#8a9db5!important; font-size:13px!important; line-height:1.9; }
.rs-empty a { color:#3479c8; }
.rs-school-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; padding:20px; }
.rs-school-card { display:block; min-width:0; padding:16px; border:1px solid #e1e9f4; border-radius:8px; background:linear-gradient(125deg,#fff,#f8fbff); transition:border-color .18s,box-shadow .18s; }
.rs-school-card:hover { border-color:#b6d0ef; box-shadow:0 5px 18px #2b68920a; }
.rs-school-card__title { display:flex; align-items:center; gap:12px; }
.rs-school-card__title > div { flex:1; min-width:0; }
.rs-school-card img { width:46px; height:46px; object-fit:contain; flex:none; }
.rs-school-placeholder { display:grid; place-items:center; flex:none; width:46px; height:46px; border-radius:50%; color:#77a0d1; background:#eaf2fd; font-size:20px; }
.rs-school-card h3 { color:#345378; font-size:16px; font-weight:600; line-height:1.5; }
.rs-school-card__title p { display:flex; justify-content:space-between; margin-top:5px; color:#7188a5; font-size:12px; }
.rs-school-card__majors { margin-top:13px; padding-top:10px; border-top:1px solid #eaf0f7; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#7b8fa9; font-size:12px; }
.rs-school-reading { margin:10px 0 0; padding:0; list-style:none; font-size:12px; color:#58789b; }
.rs-school-reading a { display:block; padding:5px 0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rs-show-schools { display:block; width:calc(100% - 40px); margin:0 20px 17px; padding:10px; color:#6e92bf; font-size:12px; background:#f2f7fe; border-radius:5px; cursor:pointer; }
.rs-learning-grid { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:20px; margin-block:22px; }
.rs-learning-grid > .rs-panel--compact { align-self:start; }
.rs-section-description { padding:14px 22px 0; color:#8b9db4; font-size:12px; }
.rs-plan-list { padding:6px 22px 16px; }
.rs-plan-list > a { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:13px 0; border-bottom:1px solid #edf1f7; }
.rs-plan-list > a:last-child { border-bottom:0; }
.rs-plan-list h3 { font-size:16px; line-height:1.7; font-weight:600; color:#3c5f8c; }
.rs-plan-list > a > div > span { display:block; margin-top:4px; font-size:11px; color:#95a7be; }
.rs-plan-list > a > div:last-child { text-align:right; }
.rs-plan-list strong { color:#6189b6; font:600 18px Arial,sans-serif; }
.rs-plan-list small { font-size:11px; font-weight:400; }
.rs-plan-list a:hover h3 { color:#1c69c5; }
.rs-plan-list--grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:start; gap:0 20px; padding:6px 20px 16px; }
.rs-plan-list--grid>a { min-width:0; gap:10px; padding:12px 0; }
.rs-plan-list--grid>a:nth-last-child(2):nth-child(odd) { border-bottom:0; }
.rs-plan-list--grid>a>div:first-child { min-width:0; text-align:left; }
.rs-plan-list--grid>a>div:last-child:not(:first-child) { flex:none; }
.rs-plan-list--grid h3 { font-size:15px; overflow-wrap:anywhere; }
.rs-plan-list--grid>.rs-empty { grid-column:1/-1; }
.rs-study-support { display:flex; flex-direction:column; }
.rs-study-support .rs-section-head { gap:10px; background:linear-gradient(110deg,#edf8f5,#f5fbff); }
.rs-study-support .rs-section-head h2 { font-size:20px; color:#326b68; }
.rs-study-support .rs-kicker { color:#7eaaa4; }
.rs-study-support .rs-section-head>.icon { width:28px; height:28px; color:#6aaba4; }
.rs-study-tools { display:flex; flex-direction:column; flex:1; padding:4px 18px; }
.rs-study-tools>a { display:flex; align-items:center; flex:1; gap:11px; padding:16px 0; border-bottom:1px solid #edf1f7; }
.rs-study-tools>a:last-child { border-bottom:0; }
.rs-study-tools__number { display:grid; place-items:center; flex:none; width:32px; height:32px; border-radius:8px; background:#edf4ff; color:#5d88bf; font:600 15px Arial,sans-serif; }
.rs-study-tools>a:nth-child(2) .rs-study-tools__number { background:#ecf7f2; color:#509885; }
.rs-study-tools>a:nth-child(3) .rs-study-tools__number { background:#f2effa; color:#8b79b4; }
.rs-study-tools h3 { color:#42658a; font-size:14px; line-height:1.6; font-weight:600; }
.rs-study-tools p { margin-top:4px; color:#8a9bb0; font-size:11px; line-height:1.7; }
.rs-study-tools b { margin-left:auto; color:#a2b3c8; font-size:18px; font-weight:400; }
.rs-study-tools a:hover h3 { color:#1c69c5; }
.rs-study-checks { margin:0 18px 16px; padding:12px; border:1px solid #e3edf6; border-radius:7px; background:#f6f9fe; }
.rs-study-checks h3 { color:#587494; font-size:12px; font-weight:600; }
.rs-study-checks p { margin-top:6px; color:#8a9bb0; font-size:11px; line-height:1.8; }
.rs-study-checks nav { display:flex; flex-wrap:wrap; gap:8px 12px; margin-top:9px; }
.rs-study-checks a { color:#4b79ae; font-size:11px; }
.rs-event-list { padding:10px 22px 20px; }
.rs-event-list li { display:flex; align-items:start; gap:15px; position:relative; padding:13px 0; }
.rs-event-list li + li { border-top:1px dashed #e5ecf5; }
.rs-event-month { flex:none; padding:6px 7px; margin-top:3px; border-radius:5px; color:#7889b4; background:#f0f0fa; font:13px Arial,sans-serif; }
.rs-event-list h3 { color:#53678d; font-size:14px; font-weight:600; line-height:1.8; }
.rs-event-list p { margin-top:5px; color:#95a5bc; font-size:11px; line-height:1.8; }
.rs-process ol { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0 20px; padding:5px 22px 14px; }
.rs-process li { min-width:0; padding-block:15px; }
.rs-process li a { display:flex; align-items:baseline; gap:11px; }
.rs-process li a > span { flex:none; color:#b2c7e1; font:21px Arial,sans-serif; }
.rs-process h3 { color:#4f6c93; font-size:14px; font-weight:600; }
.rs-process li p { margin-top:7px; font-size:11px; line-height:1.9; color:#98a9be; }
.rs-process li b { margin-left:auto; color:#b7c9dd; font-weight:400; }
.rs-reading-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:20px; margin-top:22px; }
.rs-reading-banner { min-height:100px; padding:19px 22px; background-size:cover; background-position:center; }
.rs-reading-banner span { font-size:11px; color:#4f87a1; }
.rs-reading-banner h2 { margin-top:7px; font-size:24px; font-weight:700; color:#255d7d; }
.rs-reading-banner--blue { background-image:url('/static/images/home-reading/policies-v1.webp'); }
.rs-reading-banner--green { background-image:url('/static/images/home-reading/guides-v1.webp'); }
.rs-reading-banner--green h2 { color:#2e7968; }
.rs-reading-banner--purple { background-image:url('/static/images/home-resources/zhenti-v1.webp'); }
.rs-reading-banner--purple h2 { color:#555996; }
.rs-reading__body { padding:5px 20px 15px; }
.rs-more-sources summary { padding:12px 0; color:#425f82; cursor:pointer; }
.rs-more-sources a { display:block; padding:10px 0; border-top:1px solid #edf1f7; color:#425f82; font-size:14px; line-height:1.7; }
.rs-reading__body > a { display:block; padding:13px 0; border-bottom:1px solid #edf1f7; }
.rs-reading__body > a:last-child { border-bottom:0; }
.rs-reading__body > a > span { display:block; color:#425f82; font-size:15px; line-height:1.7; }
.rs-reading__body > a > span::before { content:""; display:inline-block; width:4px; height:4px; margin:0 8px 3px 0; border-radius:1px; background:#79b4a7; }
.rs-reading__body small { display:block; margin:5px 0 0 12px; color:#97a7bc; font-size:11px; line-height:1.7; }
.rs-reading__body a:hover > span { color:#286ec2; }
.rs-reading--official { display:flex; flex-direction:column; }
.rs-reading--official .rs-reading__body { flex:1; }
.rs-official-list > a { padding-block:8px; }
.rs-official-list > a > :is(span,small) { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rs-reading__more { display:flex; justify-content:space-between; padding:14px 20px; background:#f5f9ff; border-top:1px solid #e5edf8; color:#658bb9; font-size:12px; }
.rs-historical-plans { margin-top:18px; padding:13px 20px; border:1px solid #e1e9f3; border-radius:7px; color:#7e92ad; font-size:12px; background:#fff; }
.rs-historical-plans summary { cursor:pointer; }
.rs-historical-plans a { display:block; padding-top:12px; }
.rs-page :is(a,button,select,summary,.rs-table-scroll):focus-visible { outline:2px solid #5b95dc; outline-offset:3px; }
@media (max-width:1150px) { .rs-overview { grid-template-columns:minmax(0,1fr) 300px; gap:16px; } .rs-heading h1 { font-size:27px; } .rs-school-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .rs-directory-filters { gap:8px; } .rs-directory-filters select { max-width:155px; } }
@media (prefers-reduced-motion:reduce) { .rs-page * { scroll-behavior:auto!important; transition:none!important; } }

.rs-directory-footer nav a { padding:7px 13px; border:1px solid #dce6f3; border-radius:5px; color:#5c7eab; background:#fff; }
