/* Give roadmap content the space previously used by the page masthead. */
.topbar:has(+ .content .matrix-page){min-height:74px;padding-top:14px;padding-bottom:12px}
.topbar:has(+ .content .matrix-page) .eyebrow{font-size:9px}.topbar:has(+ .content .matrix-page) h1{font-size:22px;margin:2px 0}
.content:has(.matrix-page){padding-top:14px;padding-bottom:5px}
.content:has(.matrix-page) .matrix-page{height:calc(100vh - 94px)}
.matrix-page:not(.kr-german-layout) .matrix-lane.language{flex:1.05!important}
.matrix-page:not(.kr-german-layout) .matrix-lane.application{flex:1.25!important}
.matrix-page:not(.kr-german-layout) .matrix-lane.language article:has(.course-line:nth-child(2)){padding:4px!important;gap:4px!important}
.matrix-page:not(.kr-german-layout) .matrix-lane.language article:has(.course-line:nth-child(2)) .course-line{padding:5px!important}
.matrix-page:not(.kr-german-layout) .matrix-lane.language article:has(.course-line:nth-child(2)) .course-line span{font-size:8px!important}
.matrix-page:not(.kr-german-layout) .matrix-lane.language article:has(.course-line:nth-child(2)) .course-line b{font-size:10px!important}
.matrix-page:not(.kr-german-layout) .matrix-lane.language article:has(.course-line:nth-child(2)) .course-line em{margin-top:2px!important;padding:2px 5px!important;font-size:8px!important}
.matrix-page:not(.kr-german-layout) .matrix-lane.language article:has(.course-line:nth-child(3)){padding:3px!important;gap:3px!important}
.matrix-page:not(.kr-german-layout) .matrix-lane.language article:has(.course-line:nth-child(3)) .course-line{padding:3px 4px!important}
.matrix-page:not(.kr-german-layout) .matrix-lane.language article:has(.course-line:nth-child(3)) .course-line span{font-size:7px!important}.matrix-page:not(.kr-german-layout) .matrix-lane.language article:has(.course-line:nth-child(3)) .course-line b{font-size:9px!important}.matrix-page:not(.kr-german-layout) .matrix-lane.language article:has(.course-line:nth-child(3)) .course-line em{margin-top:1px!important;padding:1px 4px!important;font-size:7px!important}
.matrix-page:not(.kr-german-layout) .matrix-lane.application article{padding:8px!important;gap:7px!important}
.matrix-page:not(.kr-german-layout) .matrix-lane.application article p{padding:8px 7px!important;font-size:9px!important;line-height:1.42!important}
.matrix-page:not(.kr-german-layout) .matrix-lane.application article p:before{content:none!important;display:none!important}
.matrix-page:not(.kr-german-layout) .matrix-lane.application article p{padding-left:8px!important;text-align:left!important}
.kr-german-layout .matrix-title h2{font-size:21px}.kr-german-layout .matrix-title .section-kicker{margin-bottom:2px;font-size:9px}
.kr-german-layout .kr-single-scenario,.kr-german-layout .jp-scenarios{margin:6px 0}.kr-german-layout .jp-scenarios button{min-height:48px}
.kr-german-layout .matrix-route{margin-bottom:6px;padding:6px 9px}.kr-german-layout .route-summary p{font-size:8px}.kr-german-layout .route-options button{padding-top:6px;padding-bottom:6px}
.kr-german-layout .kr-era{flex-basis:34px}.kr-german-layout .matrix-time{flex-basis:54px}
.kr-german-layout .matrix-lane.language{flex:1!important}.kr-german-layout .matrix-lane.application{flex:1.12!important}
.kr-german-layout .matrix-lane article{padding:7px!important;gap:6px!important}
.kr-german-layout .matrix-lane.language article p{padding:6px!important;font-size:9px!important;line-height:1.42!important}
.kr-german-layout .matrix-lane.application article p{padding:7px!important;font-size:9px!important;line-height:1.42!important;font-weight:750!important}
.jp-master .matrix-lane.language{flex:1.3!important}.jp-master .matrix-lane.application{flex:.9!important}.jp-master .matrix-lane.language article p{padding:4px!important;font-size:8px!important;line-height:1.3!important}
.kr-german-layout .matrix-lane>strong{font-size:11px}.kr-german-layout .matrix-lane>strong i{width:27px;height:27px;font-size:10px}
.kr-german-layout .kr-course{padding:7px!important}.kr-german-layout .kr-course span{font-size:8px!important}.kr-german-layout .kr-course b{font-size:11px!important}.kr-german-layout .matrix-lane .kr-course em,.kr-german-layout .matrix-lane .kr-course small{font-size:8px!important}
.kr-german-layout .matrix-lane.language article:has(.kr-course:nth-child(2)){padding:3px!important;gap:3px!important}.kr-german-layout .matrix-lane.language article:has(.kr-course:nth-child(2)) .kr-course{padding:4px!important}.kr-german-layout .matrix-lane.language article:has(.kr-course:nth-child(2)) .kr-course b{font-size:10px!important}.kr-german-layout .matrix-lane.language article:has(.kr-course:nth-child(2)) .kr-course em,.kr-german-layout .matrix-lane.language article:has(.kr-course:nth-child(2)) .kr-course small{font-size:7px!important}
.kr-german-layout .matrix-lane.language article:has(.kr-course:nth-child(2)) p{padding:3px!important;font-size:7.5px!important;line-height:1.25!important}
.kr-german-layout .jp-eju{padding:8px}.kr-german-layout .jp-eju span,.kr-german-layout .jp-eju em{font-size:9px}.kr-german-layout .jp-eju b{font-size:11px}
.jp-layout .matrix-lane.language article:has(.jp-eju){padding:4px!important}.jp-layout .matrix-lane.language .jp-eju{padding:5px!important}.jp-layout .matrix-lane.language .jp-eju span{font-size:8px!important}.jp-layout .matrix-lane.language .jp-eju b{font-size:9px!important;line-height:1.25}.jp-layout .matrix-lane.language .jp-eju em{font-size:8px!important;line-height:1.25}
@media(max-width:1100px) and (min-width:721px){.kr-german-layout .matrix-lane.language article p,.kr-german-layout .matrix-lane.application article p{padding:5px!important;font-size:8px!important}.kr-german-layout .matrix-lane article{padding:5px!important}}

/* Keep the same three-step selector hierarchy on every country roadmap. */
.kr-german-layout .matrix-countries:before{content:'1  选择目标国家';display:flex;align-items:center;align-self:stretch;padding:0 10px;border-radius:9px;background:#f0f2ff;color:#3d4667;font-size:9px;font-weight:900;white-space:nowrap}
.kr-german-layout .kr-single-scenario,.kr-german-layout .jp-scenarios{position:relative;padding-left:150px}
.kr-german-layout .kr-single-scenario:before,.kr-german-layout .jp-scenarios:before{content:'2  选择申请身份';position:absolute;inset:0 auto 0 0;display:flex;align-items:center;width:140px;padding:0 10px;border:1px solid rgba(64,74,128,.1);border-radius:11px;background:#f6f7fc;color:#3d4667;font-size:9px;font-weight:900}
.kr-german-layout .route-options:before{content:'3  选择申请路径';display:flex;align-items:center;align-self:stretch;padding:0 10px;border-radius:9px;background:#f0f2ff;color:#3d4667;font-size:9px;font-weight:900;white-space:nowrap}
.kr-german-layout .jp-single-route .jp-route-badge{position:relative;padding-left:148px;min-width:330px}
.kr-german-layout .jp-single-route .jp-route-badge:before{content:'3  选择申请路径';position:absolute;inset:0 auto 0 0;display:flex;align-items:center;padding:0 11px;border-radius:12px 0 0 12px;background:#e8ebff;color:#3d4667;font-size:9px;font-weight:900;white-space:nowrap}
@media(max-width:1100px) and (min-width:721px){.kr-german-layout .matrix-countries:before{font-size:8px;padding:0 7px}.kr-german-layout .kr-single-scenario,.kr-german-layout .jp-scenarios{padding-left:120px}.kr-german-layout .kr-single-scenario:before,.kr-german-layout .jp-scenarios:before{width:112px;font-size:8px}.kr-german-layout .route-options:before{padding:0 7px;font-size:8px}}
@media(max-width:720px){.kr-german-layout .matrix-countries:before{display:none}.kr-german-layout .kr-single-scenario,.kr-german-layout .jp-scenarios{padding:42px 0 0}.kr-german-layout .kr-single-scenario:before,.kr-german-layout .jp-scenarios:before{width:100%;height:36px}.kr-german-layout .route-options:before{flex:0 0 120px}.kr-german-layout .jp-single-route .jp-route-badge{padding:44px 12px 10px;min-width:0}.kr-german-layout .jp-single-route .jp-route-badge:before{inset:0 0 auto;height:36px;border-radius:12px 12px 0 0}}

/* Germany undergraduate-to-master: thirteen compact but fully visible stages. */
.de-master .matrix-grid{grid-template-columns:64px repeat(var(--decols),minmax(0,1fr));gap:4px;padding:5px}
.de-master .matrix-era{display:grid;grid-template-columns:64px repeat(var(--decols),minmax(0,1fr));gap:4px;padding:5px;flex-basis:36px}
.de-master .matrix-era>strong{grid-column:1}.de-master .matrix-era .before{grid-column:2/8}.de-master .matrix-era .after{grid-column:8/14}
.de-master .matrix-time{flex-basis:56px}.de-master .matrix-time>div{padding:6px 3px}.de-master .matrix-time b{font-size:8px;line-height:1.15;text-align:center}.de-master .matrix-time small{font-size:6.5px}
.de-master .matrix-lane.language{flex:1.02!important}.de-master .matrix-lane.application{flex:1.28!important}
.de-master .matrix-lane article{padding:4px!important;gap:4px!important}
.de-master .matrix-lane.language .course-line{padding:5px!important}.de-master .matrix-lane.language .course-line span{font-size:7px!important}.de-master .matrix-lane.language .course-line b{font-size:8.5px!important;line-height:1.2}.de-master .matrix-lane.language .course-line em{font-size:7px!important;line-height:1.2;padding:2px 4px!important}
.de-master .matrix-lane.language .course-line em{display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:left}
.de-master .matrix-lane.application article p{padding:6px 5px!important;font-size:8px!important;line-height:1.35!important;font-weight:750!important}
.de-master .route-options button{min-width:190px}
.matrix-page:not(.kr-german-layout) .matrix-scenarios:has(button:nth-child(2):last-child){grid-template-columns:repeat(2,1fr)}
