@font-face{font-family:CM;src:url('./fonts/noto-tc-500.d97700e2f678.woff2') format('woff2');font-weight:400 600;font-display:swap}
@font-face{font-family:CM;src:url('./fonts/noto-tc-900.274ef8738cda.woff2') format('woff2');font-weight:700 1000;font-display:swap}
:root{color-scheme:light;--ink:#111;--ink-soft:#525252;--paper:#fff;--paper-deep:#f4f4f2;--line:#bcbcbc;--brand:#b92422;--teal:#b92422;--red:#86172f;--green:#175b37;--amber:#785200;--orange:#785200;--font:Arial,CM,'Microsoft JhengHei UI',sans-serif}
*{box-sizing:border-box}html{font:16px/1.6 var(--font);scroll-padding-top:16px}body{margin:0;background:#fff;color:#111;-webkit-font-smoothing:antialiased}body,input,select,textarea,button{font-family:var(--font)}[hidden]{display:none!important}h1,h2,h3,p,ul,ol{margin-top:0}h1,h2,h3{font-weight:900;line-height:1.25}h1{font-size:clamp(28px,3.2vw,42px);letter-spacing:-.7px;margin-bottom:14px}h2{font-size:22px}h3{font-size:18px}p{overflow-wrap:break-word}a{color:inherit;text-underline-offset:4px}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #126292;outline-offset:3px}button,input,select,textarea{font-size:16px;touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;color:#666;background:#eee;border-color:#aaa}input,select,textarea{border:1px solid #777;border-radius:0;background:#fff;color:#111;padding:10px 12px;max-width:100%;min-width:0}input,select{min-height:46px}input::placeholder,textarea::placeholder{color:#626262;opacity:1}textarea{width:100%;min-height:140px;resize:vertical}input[type=checkbox],input[type=radio]{accent-color:#111;width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:0 9px 0 0}label:has(input[type=checkbox]),label:has(input[type=radio]){display:flex;align-items:center;min-height:44px}fieldset{margin:0;padding:0;border:0}legend{font-size:14px;font-weight:700;margin-bottom:8px}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-size:14px;font-weight:700;min-height:44px;padding:11px 0;overflow-wrap:anywhere}details>p,details>div{font-size:14px}blockquote{margin:12px 0;padding:12px 16px;border-left:3px solid #888;background:#f4f4f2;font-size:14px}.quote{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}.note,small{color:var(--ink-soft);font-size:13px;line-height:1.6}.visually-hidden,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link:focus{display:block;padding:12px;background:#111;color:#fff}.button,button.button,button.secondary{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:10px 16px;border:1px solid #111;border-radius:0;text-decoration:none;font-size:14px;line-height:1.5;font-weight:700;background:#111;color:#fff}.button-primary{background:#111;color:#fff}.button-secondary,button.button-secondary,button.secondary{background:#fff;color:#111}.button:hover{background:#2a2a2a;color:#fff}.button-secondary:hover,button.secondary:hover{background:#f0f0f0;color:#111}.site-header{max-width:1240px;margin:auto;min-height:76px;padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:3px solid #111}.wordmark{font:700 27px/1 Arial,sans-serif;letter-spacing:-1.3px;text-decoration:none}.main-nav{display:flex;gap:20px;align-items:center}.nav-item{display:flex;min-height:44px;align-items:center;text-decoration:none;font-size:14px;border-bottom:2px solid transparent}.nav-item[aria-current=page]{border-bottom-color:var(--brand);font-weight:700}.beta-banner{max-width:1240px;padding:7px 28px;margin:0 auto;border-bottom:1px solid var(--line);font-size:12px;color:#525252;display:flex;align-items:center;justify-content:space-between}.beta-tag{color:var(--brand);font-weight:700}.page-shell{max-width:1240px;margin:0 auto;padding:30px 28px 50px;min-height:45vh}.page-intro{border-top:4px solid #111;padding-top:20px;margin-bottom:24px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.8px;color:var(--brand);margin:0 0 12px}.page-intro>p:last-child{font-size:14px;color:#525252;margin-bottom:0}.site-footer{max-width:1240px;margin:0 auto;padding:24px 28px;border-top:3px solid #111;font-size:13px;color:#525252}.site-footer>p{margin-bottom:9px}.site-footer>p:last-child{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center}.site-footer a{display:inline-flex;align-items:center;min-height:44px}.site-footer button{min-height:44px;font-size:13px;background:none;border:0;padding:10px 0;text-decoration:underline;color:#525252}.public-home{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:44px 60px}.home-intro{border-top:6px solid #111;padding-top:28px;align-self:start}.home-intro h1{font-size:clamp(30px,3.1vw,43px);line-height:1.27;letter-spacing:-1.2px;margin:17px 0 24px}.home-intro>p:not(.eyebrow){font-size:17px;line-height:1.8;max-width:500px;margin-bottom:26px}.home-finder{border-top:6px solid var(--brand);padding:25px 24px;background:#f3f3f1}.home-finder h2{font-size:22px;margin-bottom:16px}.home-kind{display:flex;gap:24px;margin-bottom:18px;border-bottom:1px solid #aaa;padding-bottom:10px}.home-kind label{font-size:17px;font-weight:700}.home-finder .field{margin-bottom:17px}.home-finder button{width:100%;justify-content:space-between}.finder-selects{display:grid;grid-template-columns:1fr 1fr;gap:16px}.home-finder .note{font-size:12px;margin:12px 0 0}.home-method{grid-column:1/-1;border-top:1px solid #111;padding-top:23px;display:grid;grid-template-columns:1fr 1fr;column-gap:50px}.home-method h2{font-size:22px;margin-bottom:12px}.home-method p{font-size:15px}.status-key{display:flex;gap:22px;grid-column:2;align-items:start}.field{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:14px;font-weight:700}.field small{font-weight:400}.field-grid,.filter-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}.field-grid>h2,.field-grid>p{grid-column:1/-1}.form-section,.grades-block{padding:22px 0;border-top:1px solid #111}.form-section h2,.grades-block h2{font-size:20px}.work-layout{display:grid;grid-template-columns:155px minmax(0,1fr);gap:30px}.process-rail{font-size:12px;color:#525252}.process-rail ol{padding:0;list-style:none;margin:0}.process-rail li{border-top:1px solid #bbb;padding:11px 0}.process-rail li.is-current{border-top:3px solid var(--brand);color:#111;font-weight:700}.form-actions{position:static;display:flex;gap:10px;flex-wrap:wrap;padding:18px 0}.elective-list{margin:18px 0;display:grid;gap:12px}.elective-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:12px;align-items:end;padding:14px 0;border-top:1px solid #bbb}.elective-list>[data-add-elective]{justify-self:start}.electives-complete-confirmation{padding:16px 0}.electives-complete-confirmation>small{display:block;margin-left:29px}.special-categories{border-top:1px solid #111;padding-top:24px;margin-top:22px}.grades-block>details,.form-section>details{margin:16px 0}.route-consequence{font-size:13px;color:#525252}.row,.segmented{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.equal-route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.results-shell{display:block}.results-shell .page-intro{margin-bottom:15px}.results-shell .page-intro h1{font-size:32px;margin-bottom:10px}.profile-fold{margin:0 0 20px}.profile-fold [data-comparison-profile]{padding:12px 0;margin:0}.search-panel{border-top:1px solid #111;border-bottom:3px solid #111;padding:12px 0 0}.result-tabs{display:flex;gap:22px;margin-bottom:14px}.result-tabs button{border:0;background:none;min-height:44px;font-size:17px;font-weight:700;padding:6px 0;border-bottom:3px solid transparent}.result-tabs button[aria-pressed=true]{border-bottom-color:var(--brand)}.search-form>label{font-size:13px;font-weight:700;display:block;margin-bottom:6px}.search-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.filter-toolbar{padding:16px 0;grid-template-columns:repeat(3,minmax(0,1fr))}.result-filter-details{border-bottom:1px solid #bbb}.result-filter-details>button{margin-bottom:14px}.ranking-fold{border:0;font-size:13px}.ranking-fold summary{font-weight:400;display:list-item}.ranking-fold summary>span{float:right;font-weight:700;text-decoration:underline}.ranking-fold p{font-size:13px}.result-summary{display:flex;align-items:center;justify-content:space-between;padding:20px 0 14px;font-size:14px}.result-summary>span{font-size:12px;color:#525252}.result-ledger{border-top:1px solid #111}.result-row{display:grid;grid-template-columns:80px minmax(0,1fr) auto;gap:20px;padding:23px 0;border-bottom:1px solid #aaa;align-items:start}.result-code{font:700 18px/1.3 Arial,sans-serif;color:var(--brand)}.result-meta{font-size:12px;color:#525252;margin:0 0 7px}.result-title{font-size:24px;margin:0 0 12px;line-height:1.25}.result-title a{text-decoration:none}.result-title a:hover{text-decoration:underline}.result-reason{font-size:13px;line-height:1.7;color:#444;max-width:760px;margin:12px 0 0}.summary-zh{white-space:pre-line}.result-open{margin-top:8px}.result-status{font-size:13px;line-height:1.6}.match-primary{font-weight:700}.match-primary-note{font-size:12px;font-weight:400;margin:5px 0 0;color:#525252}.match-primary-note:empty{display:none}.source-secondary{font-size:12px}.state-match .match-primary{color:var(--green)}.state-pending .match-primary{color:var(--amber)}.state-short .match-primary{color:var(--red)}.unassessed{font-size:13px;color:#525252;margin:0}.pagination{display:flex;justify-content:space-between;gap:12px;padding:18px 0}.empty-state{padding:28px 0}.empty-state h2{font-size:21px}.empty-state p{max-width:750px;font-size:15px}.back-link{display:inline-flex;align-items:center;min-height:44px;font-size:13px;text-decoration:none}.detail-heading{border-top:3px solid #111;padding:15px 0 0;margin-top:8px}.detail-heading .institution{font-size:11px;letter-spacing:.4px;margin:0 0 8px;color:#525252}.detail-heading h1{font-family:Arial,CM,sans-serif;font-size:clamp(28px,3.2vw,40px);font-weight:900;line-height:1.13;margin:0 0 12px;letter-spacing:-.6px}.detail-meta{font-size:12px;display:flex;flex-wrap:wrap;gap:7px 18px;color:#525252;margin:0 0 14px}.course-code{font-size:13px;color:var(--brand);font-weight:700}.course-summary{border-top:1px solid #111;border-bottom:1px solid #111;padding:13px 0;margin:0 0 9px}.course-summary h2{font-size:19px;margin:0 0 4px;line-height:1.4}.course-summary h2>span{font:700 21px Arial,sans-serif}.course-summary.state-match h2{color:var(--green)}.course-summary.state-pending h2{color:var(--amber)}.course-summary.state-short h2{color:var(--red)}.course-summary p{font-size:13px;margin:0;color:#525252}.public-disclaimer{font-size:12px;color:#525252;margin:0 0 12px}.detail-section{margin:17px 0 24px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.section-title h2{font-size:22px;margin:0}.section-title a{min-height:44px;display:inline-flex;align-items:center;font-size:12px}.table-guidance{font-size:12px;color:#525252;margin:0 0 12px;max-width:800px}.student-table-wrap{width:100%;max-width:100%}.student-comparison{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px;line-height:1.6;border:1px solid #111}.subject-col{width:25%}.need-col{width:25%}.student-col{width:25%}.state-col{width:25%}.student-comparison caption{font-size:16px;font-weight:700;text-align:left;margin-bottom:10px}.student-comparison th,.student-comparison td{border:1px solid #bcbcbc;padding:11px 12px;vertical-align:top;overflow-wrap:anywhere;text-align:left}.student-comparison thead th{background:#111;color:#fff;border-color:#111;font-size:13px;letter-spacing:.1px}.condition-family-heading th{background:#f1f1ef;font-size:15px;font-weight:700;border-top:2px solid #111!important}.condition-family-heading small{display:inline-block;margin-left:14px;font-size:11px;font-weight:400;color:#525252}.condition-number th{background:#fafafa;font-size:12px;font-weight:400}.subject-line th{font-weight:500;font-size:14px}.grade-number{font:700 29px/1.18 Arial,CM,sans-serif;letter-spacing:-.4px;display:block;color:#111}.grade-text{font-size:13px;line-height:1.6;display:block}.student-comparison small{display:block;font-size:11px;line-height:1.6;margin-top:6px}.row-status{font-size:13px;font-weight:700;display:inline-block;line-height:1.5}.row-status.pass{color:#175b37}.row-status.unknown{color:#785200}.row-status.fail{color:#86172f}.group-result{background:#fcfcfb}.group-result p{font-size:12px;color:#525252;margin:10px 0 0}.shared-result{font-size:10px!important}.condition-explanation td{padding:0 12px;background:#fafafa}.condition-explanation details{border:0}.condition-explanation summary{font-size:12px;font-weight:400;min-height:44px;padding:11px 0}.condition-explanation p{font-size:13px;margin:0 0 10px}.official-original{margin:0 0 8px}.official-original>summary{font-size:14px}.official-original-content{padding:7px 0 16px}.official-original-content h3{font-size:18px}.official-original-content a,.course-links a{overflow-wrap:anywhere}.course-links{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:13px}.course-links a{display:inline-flex;min-height:44px;align-items:center}.public-course-actions{padding-top:16px}.course-detail>.profile-fold{margin-top:20px}.card{padding:22px 0;border-top:2px solid #111;margin:18px 0}.card h2{font-size:23px}.card p{font-size:14px}.stack>h1{border-top:4px solid #111;padding-top:20px}.stack .field{margin:18px 0}.tag{display:inline-block;font-size:12px;padding:3px 6px;border:1px solid #aaa}.tag.wait{color:#785200;background:#fff6df}.feedback-form{max-width:720px;border-top:2px solid #111;padding-top:20px;margin-top:24px}.feedback-form .field{margin-bottom:22px}.feedback-form p[role=status]{min-height:26px;margin:16px 0;font-weight:700}.consent{border:1px solid #111;background:#f4f4f1;color:#111;padding:17px 18px;margin:0 0 22px;font-size:13px;max-width:820px}.consent p{font-size:13px;margin:0 0 10px}.consent p a{min-height:44px;margin-left:6px;display:inline-flex;align-items:center}.consent .button{font-size:13px;margin-right:8px}.ssr-requirements{white-space:pre-line;font-size:15px;line-height:1.8}.error-panel{border-top:4px solid #111;padding-top:20px}.enquiry-box{padding:14px 0;border-top:1px solid #aaa}.link-list{padding-left:22px}.link-list li{padding:7px 0}.comparison-row{border-top:1px solid #bbb;padding:12px 0}.comparison-row details{max-width:100%}.intent-chip{font-size:12px;font-weight:500;color:#525252}.result-service{font-size:13px;color:#525252}
@media(min-width:900px){.course-detail{max-width:1000px;margin:auto}.course-detail .detail-heading h1{max-width:850px}.course-detail .student-comparison th,.course-detail .student-comparison td{padding:13px 16px}.course-detail .condition-explanation td{padding-block:0}.grade-number{font-size:32px}.profile-fold #grade-edit{max-width:860px}.page-shell>.stack{max-width:1050px}.page-shell>h1,.page-shell>p,.page-shell>form{max-width:900px}}
@media(max-width:699px){.site-header{padding:10px 18px;min-height:65px;gap:12px}.wordmark{font-size:23px}.main-nav{gap:14px}.nav-item{font-size:12px;white-space:nowrap}.beta-banner{padding:6px 18px;font-size:10px;gap:10px}.page-shell{padding:18px 18px 36px}.site-footer{padding:20px 18px}.site-footer p{font-size:12px}.public-home{display:block}.home-intro{padding-top:20px;border-top-width:4px}.home-intro h1{font-size:31px;letter-spacing:-.8px;margin:15px 0 18px}.home-intro>p:not(.eyebrow){font-size:15px;line-height:1.7;margin-bottom:20px}.home-intro>.button{width:100%;justify-content:space-between}.home-finder{margin-top:28px;padding:19px 16px;border-top-width:4px}.home-finder h2{font-size:20px;margin-bottom:12px}.home-kind{margin-bottom:14px;padding-bottom:7px}.finder-selects{gap:12px}.home-finder .field{margin-bottom:15px}.home-method{display:block;padding-top:20px;margin-top:28px}.home-method h2{font-size:20px}.home-method p{font-size:14px}.status-key{gap:20px}.work-layout{display:block}.process-rail{margin:0 0 20px}.process-rail ol{display:flex}.process-rail li{flex:1;font-size:10px;line-height:1.5;padding:10px 5px;text-align:center}.field-grid{grid-template-columns:1fr 1fr;gap:15px 12px}.field{font-size:13px}.field small{font-size:12px}.field-grid>label:has([name=englishMediumLastTwoYears]){grid-column:1/-1}.elective-row{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:12px 10px}.elective-row button{grid-column:1/-1;justify-self:end;min-height:44px;font-size:12px;padding:8px 12px}.form-section,.grades-block{padding-block:20px}.form-section h2,.grades-block h2{font-size:19px}.grades-block .note{font-size:12px}.results-shell .page-intro h1{font-size:28px}.page-intro{padding-top:17px;margin-bottom:18px}.page-intro>p:last-child{font-size:13px}.search-input-row{grid-template-columns:minmax(0,1fr) auto}.search-input-row #clear-search{grid-column:2;padding:7px 12px;min-height:44px;font-size:12px}.filter-toolbar{grid-template-columns:1fr 1fr;gap:14px 12px}.ranking-fold summary{font-size:12px}.result-summary{font-size:13px;padding-top:17px}.result-summary>span{font-size:11px}.result-row{grid-template-columns:minmax(0,1fr) auto;gap:9px 13px;padding:20px 0}.result-code{grid-column:1/-1;font-size:14px}.result-main{grid-column:1/-1}.result-meta{font-size:11px;margin-bottom:6px}.result-title{font-size:23px}.result-open{grid-column:1/-1;justify-self:start;margin-top:3px;font-size:13px;min-height:44px}.result-reason{font-size:12px}.result-status{font-size:12px}.match-primary-note{font-size:11px}.pagination .button{font-size:13px}.detail-heading{margin-top:4px;padding-top:12px}.detail-heading h1{font-size:28px;line-height:1.1;margin-bottom:10px}.detail-heading .institution{font-size:10px;margin-bottom:7px}.detail-meta{font-size:11px;gap:6px 12px;margin-bottom:12px}.course-summary{padding:11px 0}.course-summary h2{font-size:17px}.course-summary p{font-size:12px}.public-disclaimer{font-size:11px;margin-bottom:10px}.detail-section{margin-top:12px;margin-bottom:21px}.section-title h2{font-size:20px}.section-title a{font-size:11px}.table-guidance{font-size:11px;line-height:1.6;margin-bottom:10px}.subject-col{width:25%}.need-col{width:25%}.student-col{width:22%}.state-col{width:28%}.student-comparison{font-size:12px;line-height:1.6}.student-comparison th,.student-comparison td{padding:10px 6px}.student-comparison thead th{font-size:11px;padding:9px 6px}.subject-line th{font-size:12px;font-weight:500}.grade-number{font-size:24px;line-height:1.18;letter-spacing:-.7px}.grade-text{font-size:11px}.student-comparison small{font-size:10px;line-height:1.5;margin-top:6px}.condition-family-heading th{font-size:13px;padding:9px 6px}.condition-family-heading small{font-size:10px;display:block;margin-left:0;margin-top:3px}.condition-number th{font-size:11px;padding:7px 6px}.group-result .row-status{font-size:11px;white-space:nowrap}.group-result p{font-size:10px;margin-top:7px}.condition-explanation td{padding:0 7px}.condition-explanation summary{font-size:11px;min-height:44px;padding:11px 0}.condition-explanation p{font-size:12px}.official-original>summary{font-size:13px}.public-course-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.public-course-actions .button{min-height:44px;font-size:12px;padding:8px}.public-course-actions .button:first-child{grid-column:1/-1}.course-links{gap:0 17px;font-size:12px}.profile-fold>summary{font-size:13px}.card h2{font-size:21px}.feedback-form{margin-top:20px}.consent{padding:14px}.consent .button{min-height:44px;padding:9px 14px}.beta-banner a{color:#525252}.page-shell>.stack>h1{font-size:28px}}
@media(max-width:359px){.site-header{padding-inline:12px}.wordmark{font-size:21px}.main-nav{gap:10px}.nav-item{font-size:11px}.page-shell{padding-inline:12px}.field-grid{grid-template-columns:1fr}.finder-selects{grid-template-columns:1fr}.grade-number{font-size:24px;letter-spacing:-1px}.student-comparison th,.student-comparison td{padding-inline:4px}}
@media(max-width:699px){html{scrollbar-width:none}}
a[href]:not(.skip-link){min-height:44px;min-width:44px;display:inline-flex;align-items:center;max-width:100%}button{min-height:44px;min-width:44px}.main-nav a{justify-content:center}.result-title a{line-height:1.3}
.grade-number{font-variant-numeric:tabular-nums}h1,h2{scroll-margin-top:16px;text-wrap:balance}a,button,input,select,summary{-webkit-tap-highlight-color:#b9242233}
.site-footer .consent .button{background:#111;color:#fff;border:1px solid #111;padding:10px 16px;text-decoration:none;min-height:44px;min-width:44px}.site-footer .consent .button-secondary{background:#fff;color:#111}
.compare-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}.compare-grid>.card{min-width:0}.page-shell>.compare-page{max-width:none}@media(min-width:1100px){.compare-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* T-087: explicit relationships inside the comparison grid. */
.condition-join th{font-size:12px;text-align:center;padding:6px;border-top:2px solid #111;background:#f1f1ef}.coming-soon{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#525252;font-size:14px}.coming-soon small{border:1px solid #777;padding:2px 6px;font-size:11px;font-weight:700}.home-kind .coming-soon{font-size:16px}.subject-line th{overflow-wrap:anywhere}

/* T-088: aligned labels; all paired profile fields stack on phones. */
.profile-editor{min-width:0}.profile-editor .field-grid>.field .field-label,#grade-edit .field-grid>.field .field-label{display:block;min-height:2.8em;line-height:1.4}
@media(max-width:599px){.profile-editor .field-grid,#grade-edit .field-grid,.profile-editor .elective-row,#grade-edit .elective-row{grid-template-columns:minmax(0,1fr)}.profile-editor .field-grid>.field .field-label,#grade-edit .field-grid>.field .field-label{min-height:0}.profile-editor .elective-row button,#grade-edit .elective-row button{grid-column:1}.profile-editor .field small,#grade-edit .field small{max-width:100%}}

/* T-089: grades first; optional detail and subject choices stay compact. */
.compact-profile-intro,.profile-editor{max-width:760px;margin-inline:auto}.compact-profile-intro{display:block}.compact-profile-intro h1{margin-bottom:8px}.compact-profile-intro p{font-size:14px;color:var(--ink-soft)}.profile-editor .form-section{padding-block:16px}.profile-editor h2{font-size:19px;margin-bottom:12px}.profile-editor .profile-optionals>summary{font-size:15px}.maths-modules{margin-top:20px}.prediction-notice{font-size:14px;border-left:3px solid var(--brand);padding:10px 14px;background:var(--paper-deep)}.subject-chips{display:flex;flex-wrap:wrap;gap:8px;padding:16px 0}.subject-chips legend{float:left;width:100%;font-size:15px;margin-bottom:8px}.subject-chip{display:inline-flex;align-items:center;gap:7px;min-height:44px;border:1px solid #999;padding:7px 10px;font-size:14px;cursor:pointer}.subject-chip input{width:18px;height:18px;min-height:18px;flex-basis:18px;margin:0}.subject-chip:has(:checked){background:var(--brand);border-color:var(--brand);color:white}.subject-chip:focus-within{outline:3px solid #126292;outline-offset:2px}

/* T-091: compact Swiss list and account operations. */
::selection{background:#b92422;color:#fff}input,textarea{caret-color:var(--brand)}.compact-results-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:4px solid var(--ink);padding-top:10px}.compact-results-heading h1{font-size:28px;margin:0}.compact-results-heading h1 span{font-weight:500;color:var(--ink-soft);font-variant-numeric:tabular-nums}.compact-results-heading>a{font-size:13px}.compact-prediction{font-size:12px;color:var(--ink-soft);margin:4px 0 10px}.compact-results .search-panel{border-top:0;border-bottom:1px solid var(--line);padding:0}.compact-results .search-input-row{grid-template-columns:minmax(0,1fr) auto auto}.compact-results .result-filter-details{border:0}.compact-results .result-filter-details>summary{font-size:12px;padding-block:8px;min-height:40px}.compact-results .search-input-row input{min-width:0}.text-button{border:0;border-radius:0;background:transparent;color:var(--ink);font-size:13px;text-decoration:underline;text-underline-offset:4px;padding:8px}.group-by-choice,.marketing-choice{display:flex;align-items:flex-start;gap:10px;font-size:14px;margin:14px 0}.group-by-choice input,.marketing-choice input,.compare-choice input{width:18px;height:18px;min-height:18px;flex:none;margin:4px 0}.selected-subjects{display:flex;gap:7px;overflow-x:auto;padding:8px 0 12px;scrollbar-width:thin}.selected-subjects button{flex:none;border:1px solid #888;background:var(--paper);color:var(--ink);padding:7px 10px;font-size:13px;min-height:44px}.selected-subjects button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.selected-subjects span{font-variant-numeric:tabular-nums;margin-left:5px;font-size:12px}.judgment-group{border-top:1px solid var(--ink);margin:0}.judgment-group>summary{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 0;cursor:pointer;list-style:none;font-size:16px}.judgment-group>summary::before{content:'+';font-weight:500;min-width:12px}.judgment-group[open]>summary::before{content:'−'}.judgment-group>summary b{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:500}.group-label.match,.compact-course.match .compact-verdict{color:var(--green)}.group-label.pending,.compact-course.pending .compact-verdict{color:var(--amber)}.group-label.blocked,.compact-course.blocked .compact-verdict{color:var(--red)}.compact-course{border-bottom:1px solid var(--line);min-width:0}.compact-course a.compact-course-link{display:block;min-width:0;min-height:64px;padding:7px 0;text-decoration:none}.compact-course-link:hover{background:var(--paper-deep)}.compact-course-heading{display:flex;align-items:baseline;gap:12px;min-width:0}.compact-course h3{flex:1;min-width:0;margin:0;font-size:17px;font-weight:700;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-verdict{flex:none;font-size:12px;font-weight:700}.compact-course-meta{display:flex;gap:12px;color:var(--ink-soft);font-size:11px;margin:1px 0;line-height:1.4}.compact-course-meta span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-course-meta b{font-weight:500;flex:none}.compact-main-grade{color:#333;font-size:12px;line-height:1.4;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.show-more{display:flex;width:100%;justify-content:space-between;margin:12px 0 16px}.show-more small{font-size:12px;font-weight:400}.empty-group{font-size:13px;color:var(--ink-soft);padding:12px 0}.institution-group{border-top:1px solid var(--line)}.institution-group>summary{font-size:14px;min-height:44px;padding-block:10px;cursor:pointer}.institution-group>summary span{font-size:12px;color:var(--ink-soft)}.my-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;border-top:4px solid var(--ink);padding-top:16px}.my-heading h1{width:100%;margin:0}.my-heading p{margin:0;overflow-wrap:anywhere}.my-heading button{margin-left:auto}.my-page>.account-login{margin-top:28px}.account-login{max-width:460px}.account-login h2{font-size:23px;line-height:1.4}.account-login h3{font-size:18px;margin:22px 0 16px}.account-login p{font-size:13px}.account-login .field{margin:16px 0}.account-login .button{width:100%}.account-login .google-login{margin:10px 0 0}.account-login [data-auth-switch]{display:block;width:100%;margin-top:8px}.auth-error{min-height:22px;color:var(--red);margin-top:12px}.auth-dialog{width:min(500px,calc(100% - 24px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--ink);border-top:4px solid var(--brand);padding:24px;background:var(--paper);color:var(--ink)}.auth-dialog::backdrop{background:#0008}.auth-dialog>h2{font-size:23px}.auth-dialog [data-close-login]{width:100%}.saved-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--ink);margin-top:28px;padding-top:12px}.saved-heading h2{margin:0}.saved-heading h2 span{font-weight:500;color:var(--ink-soft)}.saved-course{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:10px;align-items:center}.saved-course .compact-course{min-width:0}.saved-course .text-button{font-size:12px}.compare-choice{display:flex;align-items:center;justify-content:center;min-height:44px}.account-management{margin-top:32px;border-top:1px solid var(--line);padding-top:18px}.danger{color:var(--red)}.account-management .note{font-size:12px}.my-page>.profile-fold{margin-top:22px}.compact-results .result-ledger{border-top:0}.compact-results .search-form>.visually-hidden{position:absolute}.compact-results .result-groups{margin-bottom:24px}
@media(max-width:699px){body[data-page=results] .page-shell{padding-top:10px}.compact-results-heading h1{font-size:24px}.compact-course h3{font-size:15px}.compact-course a.compact-course-link{min-height:64px;padding-block:6px}.compact-main-grade{font-size:11px}.compact-verdict{font-size:11px}.compact-course-heading{gap:8px}.compact-course-meta{font-size:10px}.compact-results .search-input-row #clear-search{grid-column:auto;font-size:11px;padding:4px}.selected-subjects{padding-bottom:8px}.judgment-group>summary{font-size:15px;min-height:42px}.auth-dialog{padding:20px 18px}.saved-course{gap:7px;grid-template-columns:20px minmax(0,1fr) 44px}.saved-course .text-button{padding-inline:0}.my-heading p{font-size:14px}.compact-results .result-filter-details>summary{min-height:40px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.compact-verdict small{display:block;font-size:10px;font-weight:400;line-height:1.2}

/* T094: immediate feedback, using the approved Swiss direction. */
.match-pending{max-width:640px;min-height:300px;margin:36px auto;padding:28px 0;border-top:4px solid var(--brand)}.match-pending h1{font-size:28px;margin:20px 0 14px}.match-pending p{color:var(--ink-soft)}.pending-spinner{display:block;width:30px;height:30px;border:3px solid #ddd;border-top-color:var(--brand);border-radius:50%;animation:pending-spin .8s linear infinite}.page-pending{padding:24px 0;border-top:3px solid var(--brand)}button[aria-busy=true]{cursor:wait}.main-nav .nav-item{white-space:nowrap}@keyframes pending-spin{to{transform:rotate(360deg)}}
@media(max-width:430px){.site-header{gap:10px}.wordmark{font-size:22px}.main-nav{gap:10px}.main-nav .nav-item{font-size:12px}.match-pending h1{font-size:24px}}
@media(max-width:359px){.wordmark{font-size:20px}.main-nav{gap:7px}.main-nav .nav-item{font-size:11px}}
@media(prefers-reduced-motion:reduce){.pending-spinner{animation:none}}

/* T105 · admission homepage and comparison graphics */
.line-icon{display:inline-block;width:1em;height:1em;vertical-align:-.13em;flex:none}
.main-nav .nav-item{gap:6px}
.nav-item .line-icon{font-size:17px}
.region-tag{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;border:1px solid #777;padding:0 5px;font-size:11px;font-weight:700;color:var(--ink);line-height:1.65}
.region-tag::before{content:"";width:4px;height:4px;background:var(--brand);border-radius:50%}
body[data-page=home]>.beta-banner{display:none}
body[data-page=home]>.page-shell{padding-top:0}
.public-home.t105-home{display:block;max-width:none}
.admission-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr);align-items:center;gap:clamp(32px,6vw,84px);padding:clamp(44px,7vw,106px) 0;border-bottom:1px solid var(--ink)}
.home-kicker{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--brand);margin:0 0 14px}
.home-kicker span{margin-left:10px;padding-left:10px;border-left:1px solid var(--line);color:var(--ink-soft)}
.admission-hero h1{font-size:clamp(33px,4.45vw,64px);line-height:1.18;letter-spacing:-.038em;margin-bottom:16px;text-wrap:balance}
.admission-hero h1 em{display:block;font-style:normal;color:var(--brand)}
.admission-subtitle{font-size:clamp(15px,1.65vw,21px);color:var(--ink-soft);margin-bottom:7px}
.admission-coverage{font-size:13px;color:var(--ink-soft);margin-bottom:19px}
.home-actions,.home-search-fields{display:flex;align-items:center;gap:10px}
.home-actions .button-primary{background:var(--brand);border-color:var(--brand)}
.home-actions .button-primary:hover{background:#911a1b;border-color:#911a1b}
.home-actions .button .line-icon{font-size:18px}
.example-card{min-width:0;background:#f8f8f6;border:1px solid #aaa;border-top:4px solid var(--brand);padding:clamp(14px,2.5vw,28px)}
.example-card header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.example-card header p{margin:0;color:var(--ink-soft);font-size:12px;font-weight:700}
.example-card h2{font-size:clamp(20px,2.55vw,34px);letter-spacing:-.025em;margin:0 0 2px}
.example-meta{font-size:13px;margin:0 0 14px;color:var(--ink-soft)}
.example-verdict{font-size:14px;margin:0;padding:8px 0;border-top:1px solid var(--line)}
.example-verdict span{margin:0 4px;color:var(--ink-soft)}
.example-card ul,.home-grid{padding:0;margin:0;list-style:none}
.example-card li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:8px;border-top:1px solid var(--line);padding:6px 0;font-size:12px}
.example-values{min-width:0;color:var(--ink-soft)}
.example-values span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.example-state{white-space:nowrap}
.example-state .line-icon{margin-right:4px}
.example-state.pass,.result-breakdown .match,.example-verdict.match{color:var(--green)}
.example-state.unknown,.result-breakdown .pending,.example-verdict.pending{color:var(--amber)}
.example-state.fail,.result-breakdown .blocked,.example-verdict.blocked{color:var(--red)}
.home-block{padding:clamp(32px,5vw,64px) 0;border-bottom:1px solid var(--line)}
.home-block h2{font-size:clamp(23px,3vw,37px);margin:0 0 22px}
.home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.home-grid li{padding:16px 0;border-top:2px solid var(--ink);min-width:0}
.home-grid h3{margin:10px 0 6px}
.home-grid p{margin:0;color:var(--ink-soft);font-size:14px}
.step-marker{display:flex;align-items:center;justify-content:space-between;color:var(--brand);font-weight:700}
.step-marker .line-icon,.home-trust li>.line-icon{font-size:24px;color:var(--brand)}
.home-total{font-size:26px;line-height:1;color:var(--brand);font-variant-numeric:tabular-nums}
.home-timing li{padding:14px;background:var(--paper-deep)}
.home-timing h3{margin-top:0}
.home-search{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:end;gap:12px}
.home-search h2{margin-bottom:0}
.home-search label{display:block;margin-bottom:5px;font-weight:700;font-size:14px}
.home-search input{width:100%}
.home-search .button{white-space:nowrap}
.home-search-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:10px}
.home-search-options select{display:block;width:100%;margin-top:3px}
.home-search-options .home-search-kind{margin-bottom:5px}
.home-faq details{max-width:720px}
.home-faq summary{font-size:16px}
.home-faq details p{color:var(--ink-soft);margin:0 0 14px}
.result-breakdown{padding:10px 0 16px;margin:0 0 6px;border-bottom:1px solid var(--line)}
.result-breakdown dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 8px;gap:12px}
.result-breakdown dt{font-weight:700;font-size:13px}
.result-breakdown dd{margin:0;font-size:clamp(24px,3.7vw,39px);line-height:1.2;font-weight:700;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.result-ratio{display:flex;height:8px;background:var(--paper-deep);overflow:hidden}
.result-ratio span{flex-basis:0}
.result-ratio .match{background:var(--green)}
.result-ratio .pending{background:var(--amber)}
.result-ratio .blocked{background:var(--red)}
.compact-course-meta .region-tag{flex:none}
.compact-verdict .line-icon,.group-label .line-icon,.row-status .line-icon{font-size:1.04em}
.subject-chip .line-icon,.selected-subjects .line-icon{color:var(--ink-soft)}
.compact-course:has(.card-grade-preview){position:relative}
.compact-course:has(.card-grade-preview:not([open])) .compact-main-grade{padding-right:108px}
.card-grade-preview{margin:0 8px;border-bottom:0}
.card-grade-preview:not([open]){position:absolute;bottom:3px;right:0;margin-right:2px}
.card-grade-preview summary{padding:3px 2px;min-height:24px;font-size:12px;color:var(--ink-soft)}
.card-grade-content{max-width:300px;padding-bottom:8px}
.card-grade-content>p{margin:0}
.card-grade-label{font-size:12px}
.grade-scale{display:block;max-width:260px;margin:5px 0;color:var(--ink-soft)}
.grade-ticks{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:start;text-align:center}
.grade-tick{font-size:10px;line-height:1.25}
.grade-tick i{display:block;position:relative;height:5px;background:#dededb;margin:5px 0}
.grade-tick b{font-weight:400}
.grade-required i{background:var(--amber)}
.grade-student i::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 1px var(--paper)}
.grade-student b{font-weight:700;color:var(--ink)}
.group-grade-scales{color:var(--ink-soft)}
.group-grade-scales p{margin:0;font-size:12px}
.group-grade-scales ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:5px 12px}
.group-grade-scales li{min-width:0}
.group-grade-scales small{font-size:11px}
.condition-visual td{background:#faf9f6}
.grade-legend{display:none;gap:14px;align-items:center;margin-bottom:8px;font-size:12px;color:var(--ink-soft)}
.grade-legend:has(+.student-table-wrap .grade-scale){display:flex}
.grade-legend i{display:inline-block;vertical-align:1px;width:13px;height:5px;background:var(--amber);margin-right:5px}
.grade-legend i.student-point{width:8px;height:8px;border-radius:50%;background:var(--ink)}
.empty-icon{display:inline-grid;place-items:center;width:44px;height:44px;background:var(--paper-deep);font-size:24px;color:var(--brand);margin-bottom:10px}
.saved-empty{margin:12px 0}
.saved-empty h3{margin:0 0 6px}
.example-page .state-blocked{border-left-color:var(--red)}
@media(prefers-reduced-motion:no-preference){
 .result-breakdown,.result-groups,.course-summary{animation:t105-enter .2s ease-out both}
 .result-breakdown .icon-check,.course-summary .icon-check{animation:t105-check .24s ease-out both}
}
@keyframes t105-enter{from{opacity:.55;transform:translateY(3px)}to{opacity:1;transform:none}}
@keyframes t105-check{from{opacity:.4;transform:scale(.8)}to{opacity:1;transform:scale(1)}}
@media(max-width:699px){
 .main-nav .nav-item{flex-direction:column;justify-content:center;gap:2px;line-height:1.15}
 .nav-item .line-icon{font-size:15px}
 .admission-hero{grid-template-columns:1fr;align-content:space-evenly;gap:22px;min-height:calc(100svh - 65px);padding:28px 0 22px}
 .admission-hero h1{font-size:clamp(29px,8vw,39px);line-height:1.2;margin-bottom:12px;text-wrap:wrap}
 .admission-coverage{margin-bottom:15px}
 .home-grid,.home-search{grid-template-columns:1fr}
 .home-grid{gap:6px}
 .home-trust .home-grid{gap:8px}
 .home-timing{gap:12px}
 .example-card{padding:13px 14px 8px}
 .example-meta{margin-bottom:8px}
 .grade-scale{min-width:70px}
 .grade-tick{font-size:8px}
 .compact-results .compact-verdict small{display:inline;margin-right:4px}
 .compact-results .compact-prediction{margin-bottom:4px;padding-block:4px}
 .selected-subjects:not(:has([data-subject-filter]:not([data-subject-filter=""]))){display:none}
}

/* D96 H6 street-plate artwork. */
.wordmark{display:block;flex:0 0 auto;width:142px}
.header-wordmark,.footer-brand-image,.privacy-wordmark{display:block}
.header-wordmark,.footer-brand-image{width:100%;height:auto}
.footer-wordmark{display:block;width:142px;margin-bottom:13px}
.privacy-wordmark{width:150px;height:auto;margin-bottom:15px}
@media(max-width:699px){
  .wordmark{width:auto}
  .header-wordmark{width:auto;height:44px}
}
@media(max-width:359px){
  .site-header{padding-inline:8px;gap:7px}
  .main-nav{gap:4px}
}
