/* Canvas design: 循证纸页. Shared across research, curriculum and evidence pages. */
:root{--paper:#f7f5ef;--ink:#183c34;--muted:#596c61;--line:#d4dad0;--accent:#af6533;--white:#fffefa}
body{background:var(--paper);color:var(--ink);font-family:'Microsoft YaHei','PingFang SC',system-ui,sans-serif;font-size:15px;line-height:1.75}
.shell{width:min(1240px,calc(100% - 80px))}
.header{background:#f7f5eff5;border-color:var(--line)}
.header-inner{height:78px}.brand{font-size:20px}.brand small{font-size:10px;letter-spacing:1px}
.hero{padding:56px 0 44px;gap:60px;align-items:center}.hero h1{font-size:clamp(36px,3.6vw,54px);font-weight:600;letter-spacing:-1.5px;line-height:1.35}
.hero-desc{font-size:16px;line-height:1.9;color:var(--muted);max-width:530px}.hero-actions{margin:24px 0}.heading-star{display:none}
.eyebrow{color:var(--muted);font-size:11px;letter-spacing:1.2px}.profile>span{font-size:12px;color:var(--muted)}
.priority-panel{border-radius:4px;box-shadow:6px 6px 0 #e1e5d9;padding:28px 30px}.top-name{font-size:14px}.top-name small{font-size:11px}.top-item{min-height:60px}
.research-strip{padding:22px 0}.research-strip span{font-size:12px}.strip-meta{font-size:11px}
.explore{padding:48px 0 56px}.section-intro h2{font-size:32px}.section-intro>p{font-size:12px;color:var(--muted)}
.program-card{border-radius:5px;background:var(--white)}.card-title{font-size:22px;line-height:1.5}.card-english{font-size:11px;line-height:1.6}.card-reason{font-size:13px;line-height:1.85;color:var(--muted)}
.card-numbers{font-variant-numeric:tabular-nums}.card-numbers strong{font-size:20px}.card-numbers small{font-size:10px}.card-detail,.compare-button{font-size:12px}
.filter-title h3{font-size:16px}.filter-field>label,.filters legend,.school-check{font-size:12px}.filter-field select{font-size:12px}.filter-field small{font-size:10px;line-height:1.7}
.data-note{font-size:11px;line-height:1.8}.pagination{font-size:12px}.method-steps p,.timeline p:not(.tiny-label){font-size:13px;line-height:1.9}.method-copy>p:not(.eyebrow){font-size:14px}.timeline .tiny-label{font-size:11px}
.downloads p:not(.eyebrow){font-size:12px}.download-links a{font-size:14px}.download-links small,.footer>p,.footer>a:last-child{font-size:11px}
.detail-block p,.detail-block li{font-size:14px;line-height:1.9}.detail-block h3,.detail-note,.detail-block p.note{font-size:12px}.detail-english{font-size:12px}.detail-tabs button{font-size:14px}.value-list p{font-size:14px}.value-list small{font-size:12px}
.detail-dialog,.detail-dialog .dialog-top{background:var(--paper)}.detail-dialog .dialog-top{box-shadow:0 8px 12px var(--paper)}
.article-page p,.article-page li{font-size:15px}.article-page table{font-size:12px}.curriculum-promo{border-radius:5px;padding:32px}
@media(max-width:900px){.shell{width:calc(100% - 48px)}.hero{gap:28px}.hero h1{font-size:38px}.hero-desc{font-size:14px}.profile>span{font-size:11px}.priority-panel{padding:22px}.section-intro h2{font-size:28px}}
@media(max-width:600px){.shell{width:calc(100% - 32px)}.header-inner{height:66px}.brand{font-size:17px}.brand small{font-size:9px}.hero{padding:30px 0;gap:24px}.hero h1{font-size:36px;line-height:1.4;margin:16px 0}.hero-desc{font-size:14px}.hero-actions{margin:18px 0}.profile>span{font-size:11px}.top-name{font-size:13px}.top-name small{font-size:11px}.priority-panel{padding:20px}.explore{padding-top:30px}.section-intro h2{font-size:27px}.section-intro>p{font-size:12px}.filters{border-radius:4px}.filter-field>label,.filters legend,.school-check{font-size:12px}.filter-field select{font-size:12px}.search-wrap input,.sort-label select{font-size:12px}.group-tab{font-size:11px}.card-title{font-size:22px}.card-reason{font-size:13px}.card-english{font-size:11px}.card-numbers small{font-size:10px}.card-detail,.compare-button{font-size:12px}.data-note{font-size:11px}.detail-dialog{padding:16px}.detail-tabs{gap:16px}.detail-tabs button{font-size:12px}.detail-block p{font-size:13px}.timeline p:not(.tiny-label){font-size:13px}.footer>p{font-size:11px}.curriculum-promo h2{font-size:25px}.curriculum-promo p{font-size:14px}}
/* quieter: reserve contrast for the task, keep reading text strong. */
.priority-panel{background:#eaf0e5;color:var(--ink);box-shadow:none;border:1px solid var(--line)}
.eyebrow.light,.panel-note,.panel-footer,.top-name small{color:#51684f}.panel-pill{border-color:#b7c5b1;color:#40573f}.priority-heading h2,.top-name,.top-arrow{color:var(--ink)}
.top-item,.panel-footer{border-color:#c5d2bd}.top-rank,.top-item:first-child .top-rank{color:#6b7049}.panel-arrow{display:none}.top-item:hover{padding-left:0;background:#e1eadb}
.program-card.featured{border-top:1px solid #cad6bd;padding-top:22px}.school-badge{background:#edf1e8!important;color:#365146!important;border-color:#d2dccb!important}
.method-section{background:#eef0e8}.curriculum-promo,.downloads{background:#eef0e8;border-color:var(--line)}.curriculum-promo-visual>span{background:transparent;border-color:#c9d3c2}
.tag.priority{background:#ecefe6;color:#405a42}.header{backdrop-filter:none}.detail-dialog::backdrop{backdrop-filter:none}.compare-tray{backdrop-filter:none;background:#fffefa;box-shadow:0 8px 30px #183c3420}
.button.primary:hover:not(:disabled){transform:none}.top-item{transition:background 150ms ease-out}.hero .eyebrow,.section-intro .eyebrow,.method-copy .eyebrow,.downloads .eyebrow,.curriculum-promo .eyebrow{display:none}
@media(max-width:600px){.program-card.featured{padding-top:18px}}
/* distill: progressive disclosure keeps the shortlist close to the first screen. */
#priority-disclosure>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}#priority-disclosure>summary::-webkit-details-marker{display:none}#priority-disclosure h2{font-size:23px;font-weight:600;margin:0}.disclosure-hint{font-size:11px;color:#456243}#priority-disclosure[open] .disclosure-hint{font-size:0}#priority-disclosure[open] .disclosure-hint::after{content:'收起';font-size:11px}
.filter-disclosure{min-width:0}.filter-disclosure>summary{display:none}.active-filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.active-filters[hidden]{display:none}.active-filters button{font-size:12px;line-height:1.5;padding:7px 10px;border:1px solid #acbfa7;border-radius:4px;background:#eff3e9;color:#294832}.active-filters button:hover{background:#e0ead7}
.results-area{min-width:0;max-width:100%}.search-sort,.search-wrap,.group-tabs,.program-card,.card-numbers{min-width:0;max-width:100%}.card-title,.card-reason,.card-english{overflow-wrap:anywhere}
.compare-table-wrap{max-width:100%;max-height:65vh;overflow:auto;overscroll-behavior:contain}.compare-table{font-size:13px}.compare-table th:first-child{position:sticky;left:0;background:var(--paper);z-index:1;font-size:12px}.compare-table thead th{position:sticky;top:0;z-index:2;background:#e8efe0}.compare-table thead th:first-child{z-index:3;background:#e8efe0}.compare-scroll-hint{display:none;font-size:12px;color:var(--muted);margin:0 0 12px}
@media(max-width:820px){.compare-scroll-hint{display:block}.compare-names{display:flex;flex-wrap:wrap}.compare-tray{align-items:center}.compare-tray>div:first-child{flex-wrap:wrap}.compare-names button span:first-child{max-width:75px}}
@media(max-width:600px){.compare-tray{width:calc(100% - 24px);bottom:calc(12px + env(safe-area-inset-bottom));padding:10px 12px;flex-wrap:wrap}.compare-tray>div:first-child{width:100%;gap:7px}.compare-tray>div:last-child{margin-left:auto}.compare-names{flex:1;justify-content:flex-end}.compare-names button{min-height:30px}.compare-tray b{display:inline;margin-left:6px}.compare-icon{display:none}.program-card{width:100%}.group-tabs{width:100%}}
/* polish: a common readable secondary text token and consistent controls. */
:root{--muted:#52654d}h1,h2,h3{text-wrap:balance}input{caret-color:var(--ink)}input::placeholder{color:#596b52;opacity:1}select{background-color:var(--white);color:var(--ink)}
.footer-links{display:flex;gap:18px;font-size:12px;color:var(--muted)}.footer-links a{min-height:44px;display:inline-flex;align-items:center}.search-wrap:focus-within{outline:2px solid #af6533;outline-offset:3px}.detail-tabs [role=tab]:focus-visible{outline-offset:-3px}#detail-panel:focus-visible{outline:2px solid #af6533;outline-offset:5px}
.search-wrap input::placeholder,.individual-course-search input::placeholder{color:#596b52;opacity:1}.program-table th,.program-table td small{color:var(--muted)}
.school-check,.favorite-filter span,.group-tab,.card-school,.compare-button,.program-table td:nth-child(2) small,.close-dialog{color:var(--muted)}.group-tab.active{color:#183c34}.compare-button.selected{color:#294832}.footer-brand span{color:#925024}
.curriculum-hero p,.curriculum-themes .tag,.curriculum-card-footer small,.document-level,.chart-toolbar span,.theme-bar-count,.theme-bar-count small,.heatmap th,.heatmap td,.heatmap td small,.credit-legend,.credit-label,.credit-label small,.credit-total,.credit-show-more,.insight-summary strong,.curriculum-end p,.translated-course .english-name,.course-meta span,.translated-course a{color:var(--muted)}
.heatmap td small{opacity:1}.credit-track .core-color{background:#32573e;color:#fff}.credit-track .project-color{background:#975527;color:#fff}.course-meta span{background:#edf1e7}.curriculum-card-footer small,.credit-label small,.theme-bar-count small,.heatmap th,.heatmap td small{font-size:12px}
.heatmap td small{color:inherit}.curriculum-hero>p:not(.eyebrow){color:var(--muted)}
@media(max-width:600px){.footer-links{flex-wrap:wrap;margin-left:auto;gap:8px 18px}.footer-links a{font-size:12px}}
.brand small,#saved-count,.research-strip span,.strip-meta,.strip-meta b,.card-school small,.card-english,.card-numbers small,.card-numbers strong span,.filter-field small,.filter-field>label,.filters legend,.filters legend span,.school-check>span:last-child,.filter-context small,.filter-context .tiny-label,.filter-context p,.quiet-button,.sort-label select,.search-wrap kbd,.results-meta>p,.data-note,.pagination,.pagination button,.compare-tray b,.detail-english,.detail-block h3,.detail-block p.note,.detail-block details,.detail-block summary,.detail-block details p,.detail-highlight h3,.detail-note,.history-year,.value-list small,.value-list p,.source-list a,.method-steps p,.method-copy>p:not(.eyebrow),.method-copy .text-link,.timeline p:not(.tiny-label),.timeline .tiny-label,.downloads p:not(.eyebrow),.download-links small,.footer>p,.footer>a:last-child{color:var(--muted)}
.brand small,.header-saved,.panel-pill,.panel-note,.panel-footer,.school-check,.school-check>span:last-child,.tag,.tag.priority,.card-school small,.card-numbers small,.card-numbers strong span,.filter-field small,.filters legend span,.filter-context small,.filter-context .tiny-label,.search-wrap kbd,.pagination button,.group-tab b,.compare-tray b,.dialog-top .eyebrow,.detail-head-actions .button,.detail-head-actions .save-button small,.detail-block details,.detail-block details p,.source-list a{font-size:12px;letter-spacing:normal}
.timeline-tag{color:#7a471f;background:#f1e5d3;font-size:12px}.card-school{font-size:12px}.card-tags .tag{font-size:11px;color:#40563b}.detail-highlight p{font-size:14px;line-height:1.9}.detail-tabs button{color:#52654d}.detail-tabs button.active{color:#183c34}.detail-note{border-left:1px solid #9b7750}.save-button{color:#536c47;min-width:44px;min-height:44px}.card-detail,.compare-button,.group-tab,.view-toggle button,.quiet-button,.header-saved,.close-dialog,.pagination button,.active-filters button{min-height:44px}.view-toggle button{min-width:44px}.school-check{min-height:40px}.filter-field select,.search-wrap input,.sort-label select{min-height:30px}.search-wrap{padding-block:7px}.card-bottom{align-items:center}.card-top{align-items:center}.card-english{min-height:36px}.card-reason{min-height:48px}.program-card:hover{box-shadow:none;border-color:#9eb493;transform:none}.detail-dialog{overscroll-behavior:contain}.compare-table,.program-table{font-variant-numeric:tabular-nums}.compare-table th,.compare-table td{padding:12px}.compare-names button{font-size:12px;min-height:36px}.compare-tray>div>span:not(.compare-icon){font-size:13px}.compare-tray .button,.compare-tray .quiet-button{font-size:12px}.table-wrap{max-width:100%;overscroll-behavior:contain}.header nav a{min-height:44px;display:inline-flex;align-items:center}.hero-actions .button{min-height:44px}.sr-only{font-size:1px!important}
@media(max-width:600px){.card-english{min-height:0}.card-reason{min-height:0}.group-tab{font-size:12px}.card-numbers strong{font-size:18px}.card-numbers small,.card-numbers strong span{font-size:11px}.header-saved{font-size:12px}.brand small{font-size:11px}.hero .profile>span{font-size:11px}.research-strip span,.strip-meta{font-size:11px}.panel-footer{font-size:11px}.school-check{font-size:12px;min-height:44px}.school-check input{width:18px;height:18px}.filters input{accent-color:#214a3c}.filter-disclosure>summary{min-height:48px}.detail-head-actions .button,.detail-head-actions .save-button small{font-size:12px}.detail-tabs button{min-height:44px}.compare-tray{gap:6px}.compare-tray>div>span:not(.compare-icon){font-size:12px}.compare-names button{font-size:11px;min-height:32px}.compare-names button span:first-child{max-width:72px}.footer{padding-bottom:150px}}
.curriculum-promo-visual{display:none}.curriculum-promo{display:block}.curriculum-promo h2{font-size:26px}.curriculum-promo p br{display:none}
@media(max-width:600px){.hero{gap:18px;padding-bottom:22px}.hero h1{font-size:31px;margin:10px 0 12px}.hero-desc{line-height:1.8}.hero .profile{gap:8px 0}.priority-panel{padding:14px 16px}#priority-disclosure h2{font-size:17px}.research-strip{padding:16px 0}.research-strip strong{font-size:25px}.research-strip .strip-meta{margin-top:8px}.explore .section-intro>p{display:none}.explore-layout{gap:14px}.filter-disclosure{border:1px solid #c4d0bb;border-radius:4px}.filter-disclosure>summary{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;font-size:14px;cursor:pointer;list-style:none}.filter-disclosure>summary::-webkit-details-marker{display:none}.filter-disclosure>summary::after{content:'＋';font-size:19px}.filter-disclosure[open]>summary::after{content:'−'}.filter-disclosure>summary span{margin-left:auto;margin-right:12px;font-size:11px;color:#526750}.filters{border:0;border-top:1px solid #c4d0bb;background:transparent}.filter-field small{display:block;font-size:11px}.active-filters{gap:6px}.active-filters button{font-size:11px;padding:7px 9px}.group-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}.group-tab{white-space:nowrap;flex:none}.group-tab b{display:none}.section-intro{margin-bottom:18px}.data-note{margin-top:10px}.curriculum-promo{margin-top:36px;padding:24px}}
