
:root{--line:#dfe3e8;--muted:#687080;--ink:#161a20;--accent:#0066cc;--challenge-surface-soft:#f2f7fd;--warn:#9a6700}
.row-source-tag.live-challenge-chip{display:inline-flex;margin-left:6px;padding:2px 6px;border:1px solid #e9c9cd;background:#fff3f4;color:#a22933;border-radius:99px;font-size:10px;font-weight:800;white-space:nowrap}
.challenge-row-actions .composition-entry{border:1px solid #e7c2c6;border-radius:7px;background:#fff7f7;color:#a82d38;padding:5px 8px;white-space:nowrap}
.challenge-row-actions .composition-entry:hover,.challenge-row-actions .composition-entry:focus-visible{background:#ffebed}
html,body{margin:0;height:100%;overflow:hidden;background:#f5f6f8;color:var(--ink)}
.challenge-workbench{height:calc(100vh - 65px);min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;padding:10px!important;overflow:hidden!important;max-width:none!important}
.challenge-commandbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px;min-height:72px}.title-block{min-width:0}.eyebrow{display:flex;gap:5px;flex-wrap:wrap}.title-block h1{font-size:22px;line-height:1.15;margin:4px 0 2px}.title-block p{margin:0;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pill{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;background:#eef1f5;font-size:10px;font-weight:800}.pill.good{background:#e7f6f2;color:#0f5f58}
.metrics{display:grid;grid-template-columns:repeat(4,80px);gap:6px}.metrics article{border-left:1px solid var(--line);padding-left:9px}.metrics span{display:block;color:var(--muted);font-size:10px}.metrics strong{display:block;font-size:19px;margin-top:2px}.command-actions{display:flex;gap:6px}.btn{font:inherit;border-radius:8px;padding:7px 10px;border:1px solid #cfd5dd;background:#fff;cursor:pointer;font-size:12px;font-weight:750}.btn:hover{background:#eef5f4}.btn.secondary{color:#273241}
.workspace-panel{min-height:0;display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.view-tabs{display:flex;gap:4px;padding:7px 9px;border-bottom:1px solid var(--line);overflow:auto}.view-tabs a{text-decoration:none;color:#4d5663;font-size:12px;font-weight:750;padding:7px 10px;border-radius:7px;white-space:nowrap}.view-tabs a[aria-current="page"]{background:#111827;color:#fff}.controls{display:flex;flex-wrap:nowrap;align-items:end;gap:7px;padding:7px 9px;border-bottom:1px solid var(--line);overflow-x:auto}.control{display:grid;gap:3px;flex:0 0 180px}.control span{font-size:10px;color:var(--muted);font-weight:700}.control input,.control select{width:100%;height:31px;border:1px solid #cfd5dd;border-radius:7px;background:#fff;padding:4px 7px;font:inherit;font-size:12px}.search-control{flex-basis:300px}.reset-button{height:31px;flex:0 0 auto}.workspace-status{min-height:29px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 10px;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}.workspace-status>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-status strong{color:#2c3440;margin-right:8px}.table-wrap{min-height:0;overflow:auto;position:relative}.challenge-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px;min-width:1180px}.challenge-table th{position:sticky;top:0;z-index:3;background:#f8f9fb;border-bottom:1px solid var(--line);padding:8px 9px;text-align:left;color:#53606e;font-size:10px;text-transform:uppercase;letter-spacing:.035em;white-space:nowrap}.challenge-table td{border-bottom:1px solid #edf0f3;padding:8px 9px;vertical-align:middle}.challenge-table th:first-child,.challenge-table td:first-child{position:sticky;left:0;z-index:4;background:#fff;min-width:86px}.challenge-table th:first-child{background:#f8f9fb;z-index:6}.challenge-table th:nth-child(2),.challenge-table td:nth-child(2){position:sticky;left:86px;z-index:4;background:#fff;min-width:300px}.challenge-table th:nth-child(2){background:#f8f9fb;z-index:6}.challenge-table tbody tr:hover td:first-child,.challenge-table tbody tr:hover td:nth-child(2){background:#f8fbfb}.challenge-table tbody tr:hover{background:#f8fbfb}.challenge-table .challenge-title{font-weight:750;max-width:370px}.challenge-table .id-cell{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:750;color:#0f5f58;white-space:nowrap}.cluster-chip,.status-chip{display:inline-flex;padding:3px 6px;border-radius:999px;background:#eef1f5;font-size:10px;font-weight:750;white-space:nowrap}.status-chip.pending{background:#fff5d8;color:#785700}.count-zero{color:#687080}.detail-button{border:0;background:transparent;color:#0f5f58;font-weight:800;cursor:pointer}.grid-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 10px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.grid-footer p{margin:0}.loading-cell,.empty-cell{text-align:center!important;padding:40px!important;color:var(--muted)}
.match-wrap[hidden]{display:none}.match-table{min-width:1180px}
.detail-dialog{width:min(1080px,calc(100vw - 28px));max-height:calc(100vh - 32px);padding:0;border:0;border-radius:14px;box-shadow:0 24px 70px rgba(15,23,42,.25)}.detail-dialog::backdrop{background:rgba(15,23,42,.48)}.dialog-shell{margin:0}.dialog-header{position:sticky;top:0;z-index:2;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--line)}.dialog-header h2{font-size:20px;margin:4px 0 0}.dialog-close{border:0;background:#eef1f5;border-radius:9px;width:36px;height:36px;font-size:24px;cursor:pointer}.dialog-content{padding:16px;overflow:auto;max-height:calc(100vh - 105px)}.detail-section{border:1px solid var(--line);border-radius:11px;padding:13px;margin-bottom:12px}.detail-section h3{margin:0 0 9px;font-size:14px}.detail-section p{font-size:12px;line-height:1.6;margin:6px 0}.fact-grid,.capability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.fact,.cap-card{background:#f8f9fb;border-radius:9px;padding:10px}.fact b,.cap-card b{display:block;font-size:11px;margin-bottom:5px}.tag-list{display:flex;flex-wrap:wrap;gap:5px}.tag{display:inline-flex;background:#eef1f5;border-radius:999px;padding:4px 7px;font-size:10px}.derived-banner{display:flex;align-items:center;gap:8px;background:#fff8e7;border:1px solid #ead7a0;color:#6f5200;padding:8px 10px;border-radius:8px;font-size:11px;margin-bottom:10px}.match-empty{padding:20px;text-align:center;background:#f8f9fb;border-radius:9px;color:var(--muted);font-size:12px}.source-note{font-size:10px!important;color:var(--muted)}
@media(max-width:1000px){.metrics{display:none}.challenge-commandbar{grid-template-columns:minmax(0,1fr) auto}.title-block p{display:none}}
@media(max-width:760px){.challenge-workbench{height:calc(100vh - 54px);padding:6px!important;gap:6px}.challenge-commandbar{min-height:46px;padding:7px 9px}.title-block h1{font-size:17px}.eyebrow .pill:not(:first-child){display:none}.command-actions .btn{padding:6px 8px}.workspace-panel{border-radius:9px}.view-tabs{padding:5px}.view-tabs a{padding:6px 8px}.controls{padding:6px}.control{flex-basis:160px}.search-control{flex-basis:230px}.workspace-status{font-size:10px}.workspace-status #view-description,.workspace-status #authority-label{display:none}.challenge-table{min-width:1050px}.challenge-table td{padding:7px 8px}.grid-footer{padding:6px 8px}.grid-footer>span{display:none}.fact-grid,.capability-grid{grid-template-columns:1fr}.detail-dialog{width:calc(100vw - 12px);max-height:calc(100vh - 12px)}}

.row-source-tag{display:block;margin-top:3px;color:#0f766e;font-size:9px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}.source-tag{background:#e8f4f2;color:#0f5f58}

.match-evidence-list{display:grid;gap:9px;margin-top:12px}.match-evidence-card{border:1px solid #dfe3e8;border-radius:10px;padding:10px;background:#fff}.match-evidence-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:7px}.match-evidence-card header div{display:flex;align-items:center;gap:8px}.match-evidence-card header strong{font-size:13px}.match-evidence-card header span{display:inline-flex;min-width:34px;justify-content:center;padding:3px 6px;border-radius:999px;background:#eef5f4;color:#0f5f58;font-size:11px;font-weight:800}.match-evidence-card header em{font-style:normal;color:#687080;font-size:10px}.match-evidence-card p,.match-evidence-card li{font-size:11px;line-height:1.55}.match-evidence-card p{margin:5px 0}.match-evidence-card ul{margin:5px 0 0;padding-left:18px}.match-evidence-card a{color:#0f5f58}.match-evidence-card li span{color:#7a828e;margin-left:4px}.score-line{color:#596372}

.enrichment-list{display:grid;gap:9px;margin-top:10px}.enrichment-card{border:1px solid #d8e4e1;border-radius:10px;padding:10px;background:#fbfefd}.enrichment-card header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.enrichment-card header div{display:grid;gap:4px}.enrichment-card header strong{font-size:12px}.enrichment-card header em{font-size:10px;font-style:normal;color:#687080}.enrichment-direction{font-size:9px;font-weight:800;color:#0f766e;text-transform:uppercase}.enrichment-card p{font-size:11px;line-height:1.55;margin:7px 0}.enrichment-group{margin-top:6px}.enrichment-group>b{display:block;font-size:10px;color:#596372;margin-bottom:4px}.enrichment-evidence{margin-top:8px;font-size:10px}.enrichment-evidence a{color:#0f5f58;margin-right:8px}

.evidence-argument{margin:8px 0 10px;padding:10px;border:1px solid #cfe0dc;border-radius:10px;background:#f7fbfa}.evidence-argument-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.evidence-argument-heading span{font-size:10px;font-weight:900;color:#0f5f58;text-transform:uppercase;letter-spacing:.04em}.evidence-argument-heading b{font-size:9px;color:#596372}.evidence-summary{font-size:12px!important;line-height:1.65!important;font-weight:700;color:#26323d}.evidence-point-list{display:grid;gap:7px;margin-top:8px}.evidence-point{border-top:1px solid #e4ecea;padding-top:7px}.evidence-point>strong{font-size:10px;color:#34404c}.evidence-point p{margin:3px 0!important}.evidence-relevance{color:#596372}.evidence-point-links{font-size:10px;margin-top:4px}.evidence-point-links a{margin-right:8px}.argument-boundary{margin-top:9px;padding:8px;border-left:3px solid #98a2ad;background:#f7f8fa}.argument-boundary>b{font-size:10px;color:#4b5563}.argument-boundary p{margin:3px 0 0!important;color:#596372}.raw-rationale{margin:7px 0}.raw-rationale summary{cursor:pointer;font-size:10px;font-weight:700;color:#596372}.representative-evidence{margin-top:8px}.representative-evidence>b{font-size:10px;color:#596372}

.regional-scope-note{margin:0 0 7px!important;padding:5px 7px;border-radius:7px;background:#f0f5f4;color:#4f5f5c;font-size:10px!important;line-height:1.45!important}

.engagement-plan{margin:10px 0;padding:11px;border:1px solid #d9e2ef;border-radius:10px;background:#fbfcfe}.engagement-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.engagement-heading span{font-size:10px;font-weight:900;color:#334e68;text-transform:uppercase;letter-spacing:.04em}.engagement-heading b{font-size:9px;color:#596372}.engagement-block{margin-top:8px}.engagement-block>b,.engagement-next>b{display:block;font-size:10px;color:#4b5563;margin-bottom:4px}.engagement-block p,.engagement-next p{font-size:11px;line-height:1.55;margin:4px 0}.engagement-work-list,.engagement-pairings{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:7px}.engagement-work-list article,.engagement-pairings article{border:1px solid #e2e8f0;border-radius:8px;padding:8px;background:#fff}.engagement-work-list strong,.engagement-pairings strong{font-size:10px}.engagement-work-list span,.engagement-pairings span{display:block;color:#667085;font-size:10px;line-height:1.45}.engagement-contacts{display:grid;gap:5px}.engagement-contacts span{font-size:10px}.engagement-contacts em{font-style:normal;color:#667085;margin-left:5px}.engagement-contacts a{color:#0f5f58}.engagement-next{margin-top:9px;padding:8px;border-left:3px solid #6b7f99;background:#f6f8fb}.engagement-boundary{margin-top:8px}

.contact-pack{margin-top:8px;border-top:1px dashed #d8dee8;padding-top:7px}.contact-pack summary{cursor:pointer;font-size:10px;font-weight:900;color:#36536f}.contact-pack-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:7px;margin-top:7px}.contact-pack-grid>div{padding:7px;border-radius:7px;background:#f8fafc;border:1px solid #e5eaf0}.contact-pack-grid b{display:block;font-size:9px;color:#52606d;margin-bottom:4px}.contact-pack-grid .tag-list{gap:4px}.contact-pack-grid .tag{white-space:normal;line-height:1.4}.contact-pack-gate{grid-column:1/-1}.contact-pack-gate p{margin:3px 0;font-size:10px;line-height:1.5;color:#334155}

.card-text-link{display:inline-block;margin-left:8px;color:#314a63;font-size:10px;font-weight:850;text-decoration:none;white-space:nowrap}.card-text-link:hover{text-decoration:underline}.card-link{color:#314a63;font-weight:850;text-decoration:none;white-space:nowrap}.card-link:hover{text-decoration:underline}.match-card-actions{display:flex;align-items:center;gap:10px}.match-card-actions em{margin:0}

.match-resource-title{display:inline-flex;align-items:center;gap:5px;min-width:0}.match-level{display:inline-flex;align-items:center;justify-content:center;padding:2px 5px;border:1px solid #d8dee6;border-radius:999px;background:#f4f6f8;color:#56616e;font-size:8px;font-weight:850;line-height:1;white-space:nowrap}.match-level.world_class{background:#fff7dc;border-color:#ead08b;color:#765714}.match-level.near_world_class{background:#f1effb;border-color:#cfc7ea;color:#5b4f88}.match-level.national_class{background:#eaf5f4;border-color:#bddbd7;color:#236a63}.match-level.regional_class{background:#f2f4f6;border-color:#d8dde3;color:#59636f}

/* v19 professor country emoji */
.match-country{display:inline-flex;align-items:center;gap:1px;margin-left:4px;vertical-align:-1px}.match-country .country-flag{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:14px;font-weight:400;line-height:1}

/* v22 paged Challenge catalog + analytics */
.challenge-table th:first-child,.challenge-table td:first-child{min-width:74px}.challenge-table th:nth-child(2),.challenge-table td:nth-child(2){left:74px}.challenge-table .id-cell{font-weight:800}.resolution-chip{display:inline-flex;padding:3px 6px;border-radius:999px;background:#eef1f5;font-size:10px;font-weight:750;white-space:nowrap}.resolution-chip.open{background:#eef4ff;color:#34517d}.resolution-chip.resolved{background:#e7f7ef;color:#176442}.resolution-chip.not_applicable{background:#f1f2f4;color:#66707c}.grid-footer p{min-width:0}.page-nav{display:flex;align-items:center;gap:6px;white-space:nowrap}.page-nav .btn{padding:4px 7px;font-size:10px}.page-nav button:disabled{opacity:.42;cursor:default}
.resolution-chip.unknown{background:#fff5d8;color:#785700}
.analysis-panel{min-height:0;overflow:auto;padding:12px;background:#f8fafb}.analysis-loading{padding:48px;text-align:center;color:var(--muted)}.analysis-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:10px}.analysis-summary-card,.analysis-board{background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px}.analysis-summary-card span{display:block;font-size:10px;color:var(--muted);font-weight:750;text-transform:uppercase}.analysis-summary-card strong{display:block;margin-top:5px;font-size:22px;color:#1d2732}.analysis-board-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.analysis-board h3{margin:0 0 8px;font-size:13px}.analysis-rank{display:grid;gap:5px}.analysis-rank-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;font-size:11px}.analysis-rank-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analysis-rank-row b{font-variant-numeric:tabular-nums}.analysis-note{margin:7px 0 0;color:var(--muted);font-size:10px;line-height:1.45}
@media(max-width:760px){.challenge-table{min-width:1120px}.grid-footer p{display:none}.analysis-summary-grid,.analysis-board-grid{grid-template-columns:1fr 1fr}}

/* v27 Challenge catalog width: fit the workbench on desktop, scroll only on narrow screens. */
#challenge-table-wrap{width:100%;max-width:100%}
/* Keep complete capability labels inside their own cell, including long tokens. */
#challenge-table-wrap .cluster-chip{
  display:inline-block;
  box-sizing:border-box;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
  line-height:1.4;
  vertical-align:middle;
  border-radius:8px;
}
@media(min-width:761px){
  #challenge-table-wrap .challenge-table{width:100%;min-width:0;table-layout:fixed}
  #challenge-table-wrap .challenge-table th,
  #challenge-table-wrap .challenge-table td{min-width:0;overflow-wrap:anywhere}
  #challenge-table-wrap .challenge-table th:first-child,
  #challenge-table-wrap .challenge-table th:nth-child(2){left:auto}
  #challenge-table-wrap .challenge-table td:first-child,
  #challenge-table-wrap .challenge-table td:nth-child(2){position:static;left:auto;z-index:auto;min-width:0}
  #challenge-table-wrap .challenge-table th:nth-child(1){width:6%}
  #challenge-table-wrap .challenge-table th:nth-child(2){width:22%}
  #challenge-table-wrap .challenge-table th:nth-child(3){width:8%}
  #challenge-table-wrap .challenge-table th:nth-child(4){width:9%}
  #challenge-table-wrap .challenge-table th:nth-child(5){width:12%}
  #challenge-table-wrap .challenge-table th:nth-child(6){width:5%}
  #challenge-table-wrap .challenge-table th:nth-child(7){width:5%}
  #challenge-table-wrap .challenge-table th:nth-child(8){width:5%}
  #challenge-table-wrap .challenge-table th:nth-child(9){width:8%}
  #challenge-table-wrap .challenge-table th:nth-child(10){width:8%}
  #challenge-table-wrap .challenge-table th:nth-child(11){width:12%}
  #challenge-table-wrap .challenge-title{max-width:none;white-space:normal}
}
@media(max-width:760px){
  #challenge-table-wrap .challenge-table{min-width:1120px;table-layout:auto}
}
.challenge-actions-cell{white-space:normal}
.challenge-row-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.challenge-row-actions .detail-button,.challenge-row-actions .card-text-link,.ppt-entry-link{margin:0}
.ppt-entry-link{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:4px 8px;border-radius:7px;background:#111827;color:#fff;font-size:10px;font-weight:850;line-height:1;text-decoration:none;white-space:nowrap}
.ppt-entry-link:hover{background:#263244;color:#fff;text-decoration:none}
.dialog-header-actions{display:flex;align-items:center;gap:8px}
.dialog-header-actions .ppt-entry-link{min-height:32px;padding:7px 11px}

/* Narrow screens cannot fit both pinned identity columns. Keep vertical header
   stickiness, but let identity cells scroll so they cannot cover action buttons. */
@media(max-width:760px){
  .challenge-table th:first-child,.challenge-table th:nth-child(2){left:auto}
  .challenge-table td:first-child,.challenge-table td:nth-child(2){position:static;left:auto;z-index:auto}
}

/* v37 Challenge Matching decision workbench */
.match-table{min-width:1100px}
.match-challenge-cell{min-width:180px;max-width:280px}.match-challenge-cell strong{display:block;color:#0f5f58}.match-challenge-cell span{display:block;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.4;white-space:normal}
.decision-score{display:grid;gap:2px;white-space:nowrap}.decision-score b{font-size:11px}.decision-score span{font-size:9px;color:var(--muted)}
.regional-scope{display:inline-block;max-width:180px;font-size:10px;line-height:1.35;overflow-wrap:anywhere}
.progress-chip,.review-chip{display:inline-flex;padding:3px 6px;border-radius:999px;background:#eef1f5;font-size:9px;font-weight:800;white-space:nowrap}
.progress-chip.delivery_ready{background:#e7f7ef;color:#176442}.progress-chip.evidence_ready{background:#eaf5f4;color:#236a63}.progress-chip.reference_only{background:#f1effb;color:#5b4f88}.progress-chip.not_started{background:#f1f2f4;color:#66707c}
.analysis-maturity{margin:0 0 10px;padding:11px;border:1px solid #cfe0dc;border-radius:10px;background:#f7fbfa}.analysis-maturity-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:9px}.analysis-maturity-heading h3{margin:0;font-size:13px}.analysis-maturity-heading p{margin:0;color:var(--muted);font-size:10px}
.analysis-maturity-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.analysis-maturity-grid article{padding:9px;border:1px solid #dce8e5;border-radius:8px;background:#fff}.analysis-maturity-grid article.ready{border-color:#b8dcca;background:#f0faf5}.analysis-maturity-grid span{display:block;color:var(--muted);font-size:9px;line-height:1.35}.analysis-maturity-grid strong{display:block;margin-top:4px;font-size:19px}
@media(min-width:761px){#match-table-wrap .match-table{width:100%;min-width:0;table-layout:fixed}#match-table-wrap .match-table th,#match-table-wrap .match-table td{min-width:0;overflow-wrap:anywhere}#match-table-wrap .match-table th:first-child,#match-table-wrap .match-table th:nth-child(2){left:auto}#match-table-wrap .match-table td:first-child,#match-table-wrap .match-table td:nth-child(2){position:static;left:auto;z-index:auto}#match-table-wrap .match-table th:nth-child(1){width:12%}#match-table-wrap .match-table th:nth-child(2){width:21%}#match-table-wrap .match-table th:nth-child(3){width:11%}#match-table-wrap .match-table th:nth-child(4){width:11%}#match-table-wrap .match-table th:nth-child(5){width:14%}#match-table-wrap .match-table th:nth-child(6){width:13%}#match-table-wrap .match-table th:nth-child(7){width:10%}#match-table-wrap .match-table th:nth-child(8){width:8%}}
@media(max-width:1050px){.analysis-maturity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.analysis-maturity-heading{display:block}.analysis-maturity-heading p{margin-top:5px}.analysis-maturity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.match-table{min-width:1050px}}


/* v40: four linked wiki card surfaces; all text/claims come from pinned TableGit. */
.wiki-label{display:inline-block;padding:4px 8px;background:#fff5f5;border:1px solid #e7cacf;border-radius:99px;color:#a32935;font-size:10px;font-weight:800}
.wiki-overview-heading{display:flex;justify-content:space-between;align-items:start;gap:12px}
.wiki-overview-heading h3{font-size:16px;margin:5px 0 0}
.wiki-overview-heading .wiki-claim{font-size:10px;color:#687080}
.wiki-muted{color:#667282;font-size:11px;line-height:1.55}
.wiki-scene{margin:10px 0 14px;padding:7px;background:#f8f9fb;border:1px solid #e2e6ec;border-radius:10px}
.wiki-scene img{display:block;width:100%;height:auto;min-height:100px;object-fit:contain}
.wiki-scene figcaption{text-align:right;font-size:10px;color:#707d89;padding-top:4px}
.wiki-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.wiki-overview-card{border:1px solid #e2e6eb;border-radius:10px;background:#fff;padding:11px;min-width:0}
.wiki-overview-card:first-child{border-top:3px solid #b62d38}
.wiki-overview-card-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}
.wiki-overview-card-heading h4{font-size:13px;margin:0}
.wiki-overview-card-heading strong{color:#c32d38;font-size:20px}
.wiki-overview-card p{font-size:10px;color:#657180;line-height:1.5;margin:6px 0}
.wiki-link-list,.wiki-related-links{display:flex;flex-wrap:wrap;gap:6px}
.wiki-overview-card .wiki-link-list{display:grid;grid-template-columns:minmax(0,1fr);gap:5px}
.wiki-entity-link,.wiki-score-link{color:#0e6280!important;text-decoration:none!important;cursor:pointer;overflow-wrap:anywhere;text-underline-offset:3px}
.wiki-entity-link:hover,.wiki-score-link:hover{color:#b22e39!important;text-decoration:underline!important}
.wiki-entity-link:focus-visible,.wiki-score-link:focus-visible{outline:2px solid #c52b36;outline-offset:2px}
.wiki-overview-card .wiki-entity-link{font-size:11px;line-height:1.45;font-weight:650}
.wiki-more{font-size:11px;color:#657080;margin-top:8px}
.wiki-more summary{cursor:pointer;font-weight:750}
.wiki-more[open] .wiki-link-list{margin-top:8px}
.lri-wiki-dialog{border:0;border-radius:15px;padding:0;width:min(900px,calc(100vw - 20px));max-height:calc(100dvh - 28px);overflow:hidden;background:#fff;box-shadow:0 28px 80px rgba(16,24,40,.3)}
.lri-wiki-dialog::backdrop{background:rgba(13,22,32,.58)}
.wiki-modal-shell{display:flex;flex-direction:column;max-height:calc(100dvh - 28px);min-height:240px}
.wiki-modal-header{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border-bottom:1px solid #e7ebef;padding:13px 17px}
.wiki-modal-header h2{font-size:19px;margin:6px 0 0;color:#263341}
.wiki-modal-actions{display:flex;align-items:center;gap:7px}
.wiki-modal-actions .btn{font-size:11px;min-height:33px}
.wiki-modal-actions .dialog-close{border:0;border-radius:7px;background:#f3f5f7;min-width:35px;min-height:35px;font-size:20px;cursor:pointer}
.wiki-modal-content{overflow-y:auto;overscroll-behavior:contain;padding:0;min-height:0}
.wiki-card-body{padding:16px}
.wiki-card-heading{border-bottom:1px solid #edf0f4;padding-bottom:11px}
.wiki-card-heading h3{margin:8px 0 6px;font-size:20px;line-height:1.25;color:#26313d;overflow-wrap:anywhere}
.wiki-card-heading p{font-size:12px;line-height:1.55;color:#657182}
.wiki-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0}
.wiki-meta-grid>div,.wiki-claim-block{background:#fbfcfd;border:1px solid #e2e8ee;border-radius:9px;padding:11px}
.wiki-meta-grid b{font-size:11px;color:#556070}
.wiki-meta-grid p,.wiki-claim-block p,.wiki-claim-block li{font-size:12px;line-height:1.65;overflow-wrap:anywhere}
.wiki-claim-block{margin:10px 0}
.wiki-claim-block h4,.wiki-related h4{font-size:12px;color:#293845;margin:0 0 9px}
.wiki-claim-block ul{padding-left:19px}
.wiki-metric-line{display:flex;justify-content:space-between;align-items:center;gap:12px;border-radius:9px;padding:10px;background:#f8f9fb;margin:10px 0}
.wiki-metric-line strong{font-size:13px}
.wiki-metric-line span{font-size:11px;color:#6d7784}
.wiki-caution{border-left:4px solid #c22d39;border-radius:6px;background:#fff8f8;padding:9px 12px;margin:11px 0}
.wiki-caution strong{font-size:12px;color:#a12b36}
.wiki-caution p{font-size:12px;line-height:1.6;margin:5px 0}
.wiki-related{border-top:1px solid #ecf0f3;padding-top:12px;margin:15px 0 0}
.wiki-related-links .wiki-entity-link{border:1px solid #dce4eb;border-radius:8px;padding:6px 9px;font-size:11px;background:#fff}
.wiki-evidence-point{padding:9px 0;border-bottom:1px solid #e7ebef}
.wiki-evidence-point:last-child{border-bottom:0}
.wiki-evidence-point>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.wiki-evidence-point strong{font-size:12px}
.wiki-evidence-point small{display:block;font-size:11px;color:#637080;margin-top:6px}
.wiki-source-list{padding-left:0!important;list-style:none}
.wiki-source-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 5px;border-bottom:1px solid #e7ebef}
.wiki-source-list li:last-child{border-bottom:0}
.wiki-source-list li span{font-size:11px;color:#657181}
.wiki-source-list li a{font-size:12px;color:#0d627b;overflow-wrap:anywhere}
.wiki-card-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid #e7ebef;padding-top:10px;margin-top:15px;color:#6d7887;font-size:10px}
.wiki-share-link{color:#0c617a}
.match-table .wiki-score-link,.match-evidence-card .wiki-score-link{display:inline-flex;align-items:center}
.match-resource-title>.wiki-entity-link{font-weight:800}
@media(max-width:1150px){.wiki-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .wiki-overview-grid,.wiki-meta-grid{grid-template-columns:1fr}
 .wiki-overview-heading{display:block}
 .wiki-overview-heading .wiki-claim{display:block;margin-top:6px}
 .wiki-modal-header{padding:10px}
 .wiki-modal-header h2{font-size:15px}
 .wiki-card-body{padding:11px}
 .wiki-source-list li{display:block}
 .wiki-source-list li a{display:block;margin-top:4px}
 .wiki-scene img{min-height:78px}
}
@media(prefers-reduced-motion:reduce){.lri-wiki-dialog,.wiki-overview-section *{scroll-behavior:auto!important}}

/* Per-Challenge SVG: one source-driven scene, two responsive projections.
   The SVG contains native SMIL motion only; no generic image substitution. */
.wiki-semantic-scene{overflow:hidden}
.wiki-semantic-scene svg{display:block;width:100%;height:auto;max-width:100%;border-radius:9px}
.wiki-semantic-scene .wiki-scene-mobile{display:none}
.wiki-semantic-scene svg text{font-family:Arial,"Microsoft YaHei",sans-serif;fill:#263445}
.wiki-semantic-scene svg .h{font-size:21px;font-weight:750}
.wiki-semantic-scene svg .s{font-size:15px;fill:#596877}
.wiki-semantic-scene svg .k{font-size:14px;fill:#a32533;font-weight:750}
.wiki-semantic-scene svg .mini{font-size:12px;fill:#5d6d7d}
.wiki-scene-missing{border:1px dashed #cfd5dd;border-radius:9px;padding:12px;color:#607080;font-size:12px;line-height:1.6;background:#f8fafb}
@media(max-width:760px){
 .wiki-semantic-scene .wiki-scene-desktop{display:none}
 .wiki-semantic-scene .wiki-scene-mobile{display:block}
 .wiki-semantic-scene{padding:6px}
 .wiki-semantic-scene svg .h{font-size:20px}
 .wiki-semantic-scene svg .s{font-size:15px}
}
@media(prefers-reduced-motion:reduce){
 .wiki-semantic-scene svg .pulse{display:none!important}
}

/* Bound implicit tracks and long source tokens before desktop columns apply. */
#challenge-dialog .match-evidence-list{grid-template-columns:minmax(0,1fr)}
#challenge-dialog .match-evidence-card{min-width:0;overflow-wrap:anywhere}
#challenge-dialog .match-evidence-card header div{min-width:0;flex-wrap:wrap}
#challenge-dialog .source-note{overflow-wrap:anywhere}

/* Desktop matching review: use the viewport for comparison, keep mobile flow intact. */
@media(min-width:1100px){
  #challenge-dialog{width:calc(100vw - 48px);max-width:calc(100vw - 48px)}
  #challenge-dialog .match-evidence-list{
    grid-template-columns:repeat(auto-fit,minmax(min(100%,38rem),1fr));
    align-items:start;
  }
  #challenge-dialog .match-evidence-card p,#challenge-dialog .match-evidence-card li{font-size:12.5px}
  #challenge-wiki-dialog{width:calc(100vw - 64px);max-width:calc(100vw - 64px)}
  #challenge-wiki-dialog .wiki-card-body{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    align-items:start;
  }
  #challenge-wiki-dialog .wiki-card-body>*{min-width:0}
  #challenge-wiki-dialog .wiki-card-heading,
  #challenge-wiki-dialog .wiki-meta-grid,
  #challenge-wiki-dialog .wiki-metric-line,
  #challenge-wiki-dialog .wiki-caution,
  #challenge-wiki-dialog .wiki-related,
  #challenge-wiki-dialog .wiki-card-footer{grid-column:1/-1}
  #challenge-wiki-dialog .wiki-claim-block{margin:0}
}
@media(min-width:1400px){
  #challenge-dialog .wiki-overview-section{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
    gap:12px;
  }
  #challenge-dialog .wiki-overview-section>.wiki-overview-heading,
  #challenge-dialog .wiki-overview-section>.wiki-muted{grid-column:1/-1}
  #challenge-dialog .wiki-overview-section>.wiki-scene{margin:0;min-width:0;align-self:start}
  #challenge-dialog .wiki-overview-section>.wiki-overview-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-content:start;
    min-width:0;
  }
}

.wiki-directory>summary{cursor:pointer;font-size:13px;font-weight:650;color:#405667;padding:8px 0}
.wiki-work-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.wiki-work-index article,.wiki-demand-review article{min-width:0;padding:9px 0;border-bottom:1px solid #e5eaf0}
.wiki-work-index p{margin:7px 0}.wiki-work-index small{display:block;color:#627080;font-size:11px;line-height:1.6}
.wiki-demand-review article>div{display:flex;gap:12px;justify-content:space-between}.wiki-demand-review strong{white-space:nowrap;font-size:12px}
.match-evidence-card>summary{list-style:none;cursor:pointer}.match-evidence-card>summary::-webkit-details-marker{display:none}
.match-evidence-card>summary header{margin:0}.match-evidence-card>summary:hover{background:#f6f9fb}
.match-evidence-card[open]>summary{border-bottom:1px solid #e3e9ef;padding-bottom:10px;margin-bottom:10px}
@media(max-width:760px){.wiki-work-index{grid-template-columns:1fr}.wiki-demand-review article>div{align-items:start}.wiki-demand-review article>div a{min-width:0}}


/* Wiki previews share the active Challenge. The matrix retains its layout,
   selection and scroll state while this modeless reader is open. */
#challenge-wiki-dialog.wiki-reader-panel{position:fixed;inset:114px 32px 24px auto;width:min(720px,50vw);max-width:calc(100vw - 32px);max-height:calc(100dvh - 138px);margin:0;z-index:4;border:1px solid #ccd8e2;border-radius:12px;background:#fff;box-shadow:0 12px 36px #13253638;overflow:hidden}
#challenge-wiki-dialog.wiki-reader-panel[hidden]{display:none!important}
#challenge-wiki-dialog .wiki-modal-shell{height:100%;max-height:calc(100dvh - 138px);min-height:0}
#challenge-wiki-dialog .wiki-modal-header{padding:10px 14px;gap:8px}
#challenge-wiki-dialog .wiki-modal-header h2{font-size:16px;margin:4px 0 0}
#challenge-wiki-dialog .wiki-modal-header .wiki-label{font-size:9px}
#challenge-wiki-dialog .wiki-card-body{display:block;padding:14px}
#challenge-wiki-dialog .wiki-claim-block{margin:10px 0}
#challenge-wiki-dialog .wiki-work-index{grid-template-columns:minmax(0,1fr)}
.wiki-reader-tools{display:flex;gap:6px;margin-bottom:12px}
.wiki-reader-tools .btn{font-size:11px;padding:5px 9px;min-height:30px}
.wiki-reader-tools [aria-pressed=true]{background:#e8f2f5;border-color:#377087;color:#18445b}
@media(max-width:760px){
 #challenge-wiki-dialog.wiki-reader-panel{inset:auto 12px 12px;width:auto;max-width:none;max-height:74dvh;border-radius:14px 14px 10px 10px}
 #challenge-wiki-dialog .wiki-modal-shell{max-height:74dvh}
 #challenge-wiki-dialog .wiki-card-heading h3{font-size:17px}
 #challenge-wiki-dialog .wiki-card-body{padding:12px}
}

/* Structured cards remain inside the matrix reader. */
.coverage-header-link{display:block;width:100%;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:6px 2px;border-radius:6px;text-align:inherit}
.coverage-header-link:hover{background:#dce9f2;color:#174b78}.coverage-header-link:focus-visible{outline:3px solid #2976b1;outline-offset:2px}
.coverage-header-link span,.coverage-header-link small{display:block}
.wiki-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;padding:10px 0;border-bottom:1px solid #dfe5eb;margin-bottom:16px}
.wiki-structured-section{padding:16px 0;border-bottom:1px solid #e0e6ed}.wiki-structured-section h4{margin:0 0 12px}
.wiki-compact-row{padding:12px 0;border-bottom:1px solid #edf0f4}.wiki-compact-row:last-child{border-bottom:0}.wiki-compact-row p{line-height:1.7;margin:7px 0}
.wiki-fact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.wiki-fact-grid>div{min-width:0;background:#f3f6fa;padding:10px 12px;border-radius:7px}.wiki-fact-grid dt{font-size:12px;color:#647083}.wiki-fact-grid dd{margin:5px 0 0;overflow-wrap:anywhere;line-height:1.6}
.wiki-score-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e5eaf0}
.wiki-structured-links,.wiki-network-controls{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.wiki-network-controls button{border:1px solid #bacbda;background:#fff;color:#234a69;border-radius:6px;padding:7px 10px;cursor:pointer}.wiki-network-controls button[aria-pressed=true]{background:#dcecf7}.wiki-network-controls button:disabled{opacity:.4;cursor:default}
.wiki-network-scroll{overflow:auto;border:1px solid #d7e1ea;border-radius:8px;background:#fafcfe}.wiki-capability-network{display:block;min-width:624px;width:100%}.wiki-network-edges path{fill:none;stroke:#477f9d;opacity:.42;pointer-events:stroke}.wiki-network-edges a:hover path,.wiki-network-edges a:focus path{stroke:#be6631;opacity:1}.wiki-network-nodes rect{fill:#e8f1f7;stroke:#8eaec2}.wiki-network-nodes text{fill:#203b50;font-size:11px}.wiki-capability-network a:focus rect,.wiki-capability-network a:hover rect{stroke:#195f96;stroke-width:3}
@media(max-width:640px){.wiki-fact-grid{grid-template-columns:1fr}.wiki-network-controls{font-size:12px}}

/* Standalone matching previews share the same matrix and modeless wiki reader. */
body.matrix-workspace #challenge-dialog{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border-radius:0;box-shadow:none}
body.matrix-workspace #challenge-dialog>.dialog-shell{height:100%;display:flex;flex-direction:column;min-height:0}
body.matrix-workspace #detail-content{flex:1;min-height:0;max-height:none}
body.matrix-workspace #challenge-dialog::backdrop{background:#fff}
.matrix-legacy-records>summary{cursor:pointer;font-size:12px;color:#526273;padding:8px 0}

body.matrix-workspace #detail-reviewbar{display:none}
body.matrix-workspace #challenge-dialog>.dialog-shell>.dialog-header{padding:8px 16px}
body.matrix-workspace #challenge-dialog>.dialog-shell>.dialog-header h2{font-size:18px}
body.matrix-workspace #detail-content{padding:10px 16px}
body.matrix-workspace .coverage-plot{max-height:calc(100dvh - 280px);overflow:auto}
body.matrix-workspace .coverage-table thead th{position:sticky;top:0;z-index:2}
body.matrix-workspace .coverage-table thead th:first-child{left:0;z-index:3}
@media(max-width:760px){body.matrix-workspace .coverage-plot{max-height:58dvh}}

/* Compact matrix chrome. Full labels and reasoning remain in the linked cards. */
#detail-content .professor-coverage-section{padding:7px}
#detail-content .coverage-heading{margin-bottom:4px}
#detail-content .coverage-heading h3{font-size:13px}
#detail-content .coverage-heading .coverage-chip{padding:2px 6px;font-size:9px}
#detail-content .detail-section-nav{display:flex;flex-wrap:wrap;gap:4px;padding:3px 0;margin-bottom:5px}
#detail-content .detail-section-nav button{padding:4px 7px;min-height:26px;font-size:11px}
.professor-composition .coverage-header-link{padding:2px 1px;font-size:11px;line-height:1.15}
.professor-composition .coverage-header-link span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;line-height:1.2;margin-top:1px}
.professor-composition .coverage-header-link small{font-size:10px;line-height:1.2;margin-top:1px}
body.matrix-workspace #detail-content{padding:6px 10px}
body.matrix-workspace .coverage-plot{max-height:calc(100dvh - 245px)}

/* The reader occupies a grid track rather than covering matrix columns. */
#challenge-dialog:has(#challenge-wiki-dialog:not([hidden])){height:calc(100dvh - 32px)}
#challenge-dialog:has(#challenge-wiki-dialog:not([hidden]))>.dialog-shell{display:grid;grid-template-columns:minmax(0,1fr) clamp(340px,30vw,440px);grid-template-rows:auto auto minmax(0,1fr);height:100%;min-height:0}
#challenge-dialog:has(#challenge-wiki-dialog:not([hidden]))>.dialog-shell>.dialog-header{grid-column:1/-1;grid-row:1}
#challenge-dialog:has(#challenge-wiki-dialog:not([hidden])) #detail-reviewbar{grid-column:1/-1;grid-row:2}
#challenge-dialog:has(#challenge-wiki-dialog:not([hidden])) #detail-content{grid-column:1;grid-row:3;min-width:0;min-height:0;max-height:none}
#challenge-dialog:has(#challenge-wiki-dialog:not([hidden])) #challenge-wiki-dialog.wiki-reader-panel{position:static;inset:auto;grid-column:2;grid-row:3;width:auto;max-width:none;height:auto;max-height:none;min-width:0;min-height:0;margin:0;border:0;border-left:1px solid #d5dfe7;border-radius:0;box-shadow:none}
#challenge-dialog:has(#challenge-wiki-dialog:not([hidden])) #challenge-wiki-dialog .wiki-modal-shell{height:100%;max-height:none;min-height:0}
#challenge-dialog:has(#challenge-wiki-dialog:not([hidden])) #challenge-wiki-body{flex:1;min-height:0;overflow:auto}
body.matrix-workspace #challenge-dialog:has(#challenge-wiki-dialog:not([hidden])){height:100dvh}
@media(max-width:1199px){
 #challenge-dialog:has(#challenge-wiki-dialog:not([hidden]))>.dialog-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) minmax(0,1fr)}
 #challenge-dialog:has(#challenge-wiki-dialog:not([hidden])) #challenge-wiki-dialog.wiki-reader-panel{grid-column:1;grid-row:4;border-left:0;border-top:1px solid #b9cad6}
 #challenge-dialog:has(#challenge-wiki-dialog:not([hidden])) .coverage-plot{max-height:28dvh}
}
@media(max-width:760px){body.matrix-workspace .coverage-plot{max-height:58dvh}}

body.matrix-workspace #challenge-dialog>.dialog-shell{max-height:none}
#challenge-dialog:has(#challenge-wiki-dialog:not([hidden]))>.dialog-shell{max-height:none}
@media(min-width:1200px){#challenge-dialog:has(#challenge-wiki-dialog:not([hidden])){width:min(1680px,calc(100vw - 24px))}}
body.matrix-workspace #challenge-dialog:has(#challenge-wiki-dialog:not([hidden])){width:100vw}

/* Avoid inherited article spacing in a matrix workspace. */
#detail-content>.detail-section{margin-top:0;margin-bottom:8px}
#detail-content .detail-section-nav{flex-wrap:nowrap;overflow-x:auto}
#detail-content .detail-section-nav button{flex:0 0 auto}
@media(max-width:1199px){
 #challenge-dialog:has(#challenge-wiki-dialog:not([hidden]))>.dialog-shell{grid-template-rows:auto auto minmax(0,3fr) minmax(0,2fr)}
}
@media(max-width:760px){
 body.matrix-workspace #challenge-dialog>.dialog-shell>.dialog-header h2{font-size:15px;line-height:1.35;margin-top:2px}
}

/* CSSOM updates this owned rule, avoiding inline style attributes or style tags. */
#challenge-dialog.reader-width-custom{--wiki-reader-width:440px}
#challenge-reader-resizer{display:none}
#challenge-reader-resizer[hidden]{display:none!important}
@media(min-width:1200px){
 #challenge-dialog:has(#challenge-wiki-dialog:not([hidden]))>.dialog-shell{grid-template-columns:minmax(0,1fr) 10px var(--wiki-reader-width,clamp(340px,30vw,440px))}
 #challenge-dialog:has(#challenge-wiki-dialog:not([hidden])) #challenge-wiki-dialog.wiki-reader-panel{grid-column:3;border-left:0}
 #challenge-dialog:has(#challenge-wiki-dialog:not([hidden])) #challenge-reader-resizer{display:block;grid-column:2;grid-row:3;position:relative;cursor:col-resize;touch-action:none;background:#f7fafb;outline-offset:-2px}
 #challenge-reader-resizer::before{content:"";position:absolute;left:4px;top:0;bottom:0;width:1px;background:#d4dfe7}
 #challenge-reader-resizer::after{content:"⋮";position:absolute;left:1px;top:50%;transform:translateY(-50%);color:#58788a;font:18px/1 sans-serif}
 #challenge-reader-resizer:hover,#challenge-reader-resizer:focus-visible,.reader-width-dragging #challenge-reader-resizer{background:#dcecf4;outline:2px solid #34768e}
 #challenge-dialog.reader-width-dragging,#challenge-dialog.reader-width-dragging *{cursor:col-resize!important;user-select:none!important}
}

.coverage-cell .coverage-fit-value{display:block;font-size:11px;line-height:12px;font-weight:750}
.coverage-cell .coverage-weighted-value{display:block;font-size:9px;line-height:10px;opacity:.85;font-weight:500}

.wiki-scene-panel{border:1px solid #d4e3e7;border-radius:12px;margin:16px 0;background:#f7fafb;padding:10px}
.wiki-scene-panel>summary{cursor:pointer;font-weight:700;color:#155e6b;padding:5px 0}
.wiki-scene-panel lri-motion-scene{margin-top:12px}
.wiki-equation{border-left:3px solid #197d82;padding:12px;background:#f0f7f7;margin:10px 0}
.wiki-equation code{white-space:normal;overflow-wrap:anywhere;font-size:13px}

@media(max-width:440px){.wiki-scene-panel{padding:4px}}

/* Candidate selection stays reachable even when the matrix is empty. */
.coverage-candidate-picker{margin:8px 0;border:1px solid #dce1e7;border-radius:8px;background:#fff;padding:8px 12px}
.coverage-candidate-picker summary{cursor:pointer;font-weight:650;color:#233548}
.coverage-candidate-picker p{font-size:12px;line-height:1.55;color:#586575;margin:8px 0}
.coverage-candidate-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:10px;max-height:38dvh;overflow:auto;overscroll-behavior:contain}
.coverage-candidate-groups fieldset{min-width:0;border:1px solid #e4e8ed;border-radius:6px;padding:6px 10px}
.coverage-candidate-groups legend{font-size:12px;font-weight:650;padding:0 4px}
.coverage-candidate{display:flex;align-items:flex-start;gap:8px;padding:7px 0;cursor:pointer}
.coverage-candidate input{margin-top:3px;flex-shrink:0}
.coverage-candidate span{min-width:0}.coverage-candidate b{display:block;font-size:12px;overflow-wrap:anywhere}
.coverage-candidate small{display:block;font-size:11px;line-height:1.5;color:#667484}
.coverage-empty{padding:24px 16px;border:1px dashed #ccd4de;border-radius:8px;font-size:13px;color:#526071}

/* Column-owned nonmodal filter: escapes table clipping; native Escape/light dismiss. */
.coverage-filter-trigger{anchor-name:--coverage-professor-filter;display:flex;gap:6px;align-items:center;width:100%;border:1px solid #b5c9d0;background:#fff;border-radius:5px;padding:5px 7px;font-size:12px;font-weight:700;color:#195665;cursor:pointer}
.coverage-filter-trigger small{white-space:nowrap;font-size:10px;color:#667484}
.coverage-network-link{font-size:10px!important;min-height:22px!important;padding:3px!important;color:#697784!important}
.coverage-candidate-picker[popover]{position:fixed;inset:0;margin:auto;width:min(430px,calc(100vw - 24px));max-height:min(560px,75dvh);box-sizing:border-box;padding:12px;border:1px solid #adbec8;border-radius:10px;box-shadow:0 12px 36px #152c4030;text-align:left;font-weight:400;z-index:20}
.coverage-candidate-picker[popover]::backdrop{background:transparent}
.coverage-filter-title{display:flex;justify-content:space-between;align-items:center;color:#233548;font-size:14px}
.coverage-filter-title button{border:0;background:#edf2f5;border-radius:5px;padding:3px 9px;font-size:18px;cursor:pointer}
.coverage-candidate-picker .coverage-candidate-groups{display:block;max-height:min(400px,52dvh);overflow:auto}
.coverage-candidate b{display:flex;gap:10px;justify-content:space-between}.coverage-candidate em{font-style:normal;font-variant-numeric:tabular-nums;color:#195665}
@supports(top:anchor(bottom)){.coverage-candidate-picker[popover]{position-anchor:--coverage-professor-filter;inset:auto;top:anchor(bottom);left:anchor(left);margin:6px 0;position-try-fallbacks:flip-block,flip-inline}}
@media(max-width:760px){.coverage-candidate-picker[popover]{position-anchor:auto;inset:12dvh 12px auto;margin:0;width:calc(100vw - 24px)}}

.coverage-candidate em{flex-shrink:0;white-space:nowrap}.coverage-candidate b{align-items:flex-start}.coverage-candidate small{line-height:1.4}

/* One overview and one persistent reader. Auxiliary content is rendered on demand. */
.wiki-reader-placeholder{display:grid;align-content:center;min-height:220px;padding:24px;color:#56697b;line-height:1.7}
.wiki-reader-placeholder strong{font-size:18px;color:#21394f}
#challenge-wiki-body .fact-grid,#challenge-wiki-body .capability-grid{grid-template-columns:minmax(0,1fr)}
#challenge-wiki-body .detail-section{margin:0 0 16px;min-width:0}
#challenge-wiki-body pre{white-space:pre-wrap;overflow-wrap:anywhere}
body.matrix-workspace #detail-content>.professor-coverage-section{margin-top:8px}
@media(max-width:1199px){body.matrix-workspace #challenge-dialog:has(#challenge-wiki-dialog:not([hidden])) .coverage-plot{max-height:32dvh}}

/* Compact visual divider with a larger transparent touch target. */
#challenge-dialog.reader-height-custom{--wiki-matrix-height:300px}
@media(max-width:1199px){
 #challenge-dialog:has(#challenge-wiki-dialog:not([hidden]))>.dialog-shell{grid-template-rows:auto auto minmax(0,var(--wiki-matrix-height,1fr)) 8px minmax(0,1fr)}
 #challenge-dialog:has(#challenge-wiki-dialog:not([hidden])) #challenge-wiki-dialog.wiki-reader-panel{grid-row:5}
 #challenge-dialog:has(#challenge-wiki-dialog:not([hidden])) #challenge-reader-resizer{display:block;position:relative;z-index:5;grid-column:1;grid-row:4;box-sizing:border-box;min-height:0;height:8px;cursor:row-resize;touch-action:none;user-select:none;overflow:visible;background:#edf3f6;border-block:1px solid #cbd9e1;outline-offset:-2px}
 #challenge-reader-resizer::before{content:"";position:absolute;inset:-10px 0;width:auto;height:auto;border-radius:0;background:transparent}
 #challenge-reader-resizer::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:38px;height:4px;border-radius:2px;background:repeating-linear-gradient(90deg,#809ba9 0 2px,transparent 2px 5px);pointer-events:none}
 #challenge-reader-resizer:hover,#challenge-reader-resizer:focus-visible,.reader-width-dragging #challenge-reader-resizer{background:#dcecf4;outline:2px solid #34768e}
 #challenge-dialog.reader-width-dragging,#challenge-dialog.reader-width-dragging *{cursor:row-resize!important;user-select:none!important}
}

/* Header-owned multi-selects share the same compact filter language. */
.coverage-table thead th:first-child>.coverage-filter-trigger{display:inline-flex;width:calc(60% - 2px);font-size:10px;vertical-align:middle;white-space:nowrap;justify-content:center;padding:5px 2px}
.coverage-column-trigger{anchor-name:--coverage-column-filter;display:inline-flex;align-items:center;justify-content:center;gap:3px;width:calc(40% - 2px);margin-left:4px;vertical-align:middle;border:1px solid #b5c9d0;border-radius:5px;padding:5px 2px;background:#fff;color:#195665;font-size:10px;font-weight:700;white-space:nowrap;cursor:pointer}
.coverage-column-trigger small{font-size:9px;color:#667484}
.coverage-filter-actions{display:flex;gap:6px;margin:8px 0}
.coverage-filter-actions button,.coverage-focus-summary button{border:1px solid #c9d6dd;border-radius:5px;padding:5px 8px;background:#fff;color:#195665;font:inherit;cursor:pointer}
.coverage-focus-summary{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;border-left:3px solid #27828a;padding:8px 10px;margin:8px 0;background:#f0f7f8;font-size:12px;line-height:1.5}
.coverage-focus-summary span{flex:1;min-width:180px}
.wiki-focus-card{border-left:3px solid #27828a;background:#f1f8f9;padding:12px;margin:12px 0;font-size:13px;line-height:1.65}
.wiki-focus-card h3{font-size:15px;margin:0 0 8px}.wiki-focus-card p{margin:8px 0}
.wiki-focus-table{overflow:auto}.wiki-focus-table table{border-collapse:collapse;width:100%;font-size:11px;font-variant-numeric:tabular-nums}.wiki-focus-table th,.wiki-focus-table td{padding:6px 4px;border-bottom:1px solid #d1e1e6;text-align:right;white-space:nowrap}.wiki-focus-table th:first-child{text-align:left;white-space:normal;min-width:90px}
@supports(top:anchor(bottom)){.coverage-column-picker[popover]{position-anchor:--coverage-column-filter}}
@media(max-width:760px){.coverage-column-picker[popover]{position-anchor:auto;inset:12dvh 12px auto}.wiki-focus-card{padding:8px}}

/* Keep long header filters inside the viewport while their lists scroll. */
.coverage-candidate-picker[popover]:popover-open{display:flex;flex-direction:column;max-height:min(560px,calc(100dvh - 24px))}
.coverage-candidate-picker .coverage-filter-title,.coverage-candidate-picker .coverage-filter-actions,.coverage-candidate-picker>p{flex-shrink:0}
.coverage-candidate-picker .coverage-candidate-groups{min-height:0;flex:1 1 auto;overflow:auto;overscroll-behavior:contain}
@supports(top:anchor(bottom)){
 .coverage-candidate-picker[popover]{top:clamp(12px,anchor(bottom),max(12px,calc(100dvh - 572px)));left:clamp(12px,anchor(left),max(12px,calc(100vw - 454px)))}
}
/* A definite mobile panel height keeps WebKit from collapsing the flex list. */
@media(max-width:760px){
 .coverage-candidate-picker[popover]:popover-open{inset:max(12px,env(safe-area-inset-top,0px)) 12px auto;margin:0;height:min(560px,calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)));max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow:hidden}
 .coverage-candidate-picker[popover]:popover-open .coverage-candidate-groups{flex:1 1 auto;max-height:none;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}
 .coverage-candidate-picker[popover] .coverage-filter-title{font-size:13px;gap:8px}
 .coverage-candidate-picker[popover]>p{font-size:11px;line-height:1.45;margin:6px 0}
 .coverage-candidate-picker[popover] .coverage-filter-actions{margin:6px 0;flex-wrap:wrap}
}

/* Matrix review surface: quiet neutral chrome, color reserved for data and focus. */
body.matrix-workspace #challenge-dialog{--matrix-accent:#0071e3;--line:#e5e7eb;--ink:#1d1d1f;--muted:#6e6e73;color:#1d1d1f;background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
body.matrix-workspace #challenge-dialog>.dialog-shell>.dialog-header{background:#fdfdfe;border-bottom-color:#e5e7eb}
body.matrix-workspace #challenge-dialog .dialog-header h2{color:#1d1d1f;font-weight:650;letter-spacing:-.02em}
body.matrix-workspace #challenge-dialog .dialog-header .pill{background:#f5f5f7;color:#6e6e73;box-shadow:none;font-weight:500}
body.matrix-workspace #detail-content{background:#fff}
body.matrix-workspace #detail-content .professor-coverage-section{border-color:#e5e7eb;border-radius:12px;box-shadow:0 2px 12px #172b3a04}
body.matrix-workspace #detail-content .detail-section-nav{border-bottom-color:#e5e7eb}
body.matrix-workspace #detail-content .detail-section-nav button{background:#fff;border-color:#e5e7eb;color:#515154;border-radius:7px;font-weight:500}
body.matrix-workspace #detail-content .detail-section-nav button:hover,body.matrix-workspace #detail-content .detail-section-nav button:focus-visible{background:#eef6ff;color:#0068c8;border-color:#a5c9ed}
body.matrix-workspace .coverage-filter-trigger,body.matrix-workspace .coverage-column-trigger{background:#fff;border-color:#d8dde3;color:#3a3a3c;font-family:inherit;font-weight:600}
body.matrix-workspace .coverage-filter-trigger small,body.matrix-workspace .coverage-column-trigger small{color:#6e6e73}
body.matrix-workspace .coverage-header-link:hover{background:#edf5fd;color:#0068c8}
body.matrix-workspace .coverage-header-link:focus-visible{outline-color:#0071e3}
body.matrix-workspace .coverage-network-link{color:#6e6e73!important}
body.matrix-workspace #challenge-wiki-dialog{color:#1d1d1f;background:#fff}
body.matrix-workspace #challenge-wiki-dialog .wiki-modal-header{background:#fbfcfe;border-bottom-color:#e5e7eb}
body.matrix-workspace #challenge-wiki-dialog .wiki-modal-header h2,body.matrix-workspace #challenge-wiki-dialog .wiki-card-heading h3{color:#1d1d1f;font-weight:650;letter-spacing:-.02em}
body.matrix-workspace #challenge-wiki-dialog .wiki-label{background:transparent;border-color:transparent;color:#6e6e73;font-weight:500;padding-left:0;letter-spacing:.025em}
body.matrix-workspace #challenge-wiki-dialog .wiki-card-heading p{color:#6e6e73}
body.matrix-workspace #challenge-wiki-dialog .wiki-card-body{color:#3a3a3c}
body.matrix-workspace #challenge-wiki-dialog .wiki-claim-block,body.matrix-workspace #challenge-wiki-dialog .wiki-meta-grid>div{background:#fafbfd;border-color:#edf0f3;border-radius:12px}
body.matrix-workspace #challenge-wiki-dialog .wiki-claim-block h4,body.matrix-workspace #challenge-wiki-dialog .wiki-related h4{color:#1d1d1f;font-weight:650}
body.matrix-workspace #challenge-wiki-dialog .wiki-entity-link{color:#0068c8}
body.matrix-workspace #challenge-wiki-dialog .wiki-reader-tools .btn{box-shadow:none;font-weight:500;border-color:#d8dde3;color:#515154}
body.matrix-workspace #challenge-wiki-dialog .wiki-reader-tools [aria-pressed=true]{background:#eaf4ff;border-color:#9ec8ef;color:#0068c8}
body.matrix-workspace #challenge-wiki-dialog .wiki-breadcrumb,body.matrix-workspace #challenge-wiki-dialog .wiki-card-footer{border-color:#e5e7eb;color:#6e6e73}
body.matrix-workspace #challenge-reader-resizer{background:#fafbfd;border-color:#e5e7eb}
@media(min-width:1200px){body.matrix-workspace #challenge-reader-resizer::before{background:#e5e7eb}}
body.matrix-workspace #challenge-reader-resizer:hover,body.matrix-workspace #challenge-reader-resizer:focus-visible{background:#e7f2fd;outline-color:#0071e3}
@media(prefers-contrast:more){body.matrix-workspace #challenge-dialog{--line:#98989d}body.matrix-workspace #detail-content .professor-coverage-section{border-color:#98989d}}

body.matrix-workspace #challenge-wiki-dialog .wiki-card-body p:not(.wiki-muted),body.matrix-workspace #challenge-wiki-dialog .wiki-card-body li,body.matrix-workspace #challenge-wiki-dialog .wiki-card-body dd{color:inherit}

/* Filter popovers belong to the same restrained matrix surface. */
body.matrix-workspace .coverage-candidate-picker[popover]{border-color:#d8dde3;border-radius:12px;background:#fff;box-shadow:0 12px 38px #172b3a1a,0 2px 6px #172b3a08;color:#1d1d1f}
body.matrix-workspace .coverage-filter-title{color:#1d1d1f}
body.matrix-workspace .coverage-filter-title button{background:#f5f5f7;color:#515154}
body.matrix-workspace .coverage-candidate em{color:#0068c8}
body.matrix-workspace .coverage-candidate small,body.matrix-workspace .coverage-candidate-picker p{color:#6e6e73}
body.matrix-workspace .coverage-filter-actions button,body.matrix-workspace .coverage-focus-summary button{border-color:#d8dde3;color:#3a3a3c}

/* Reader chrome yields the phone's first screen to the authored analysis. */
.wiki-reader-disclosure{border:0;padding:0;margin:0}
.wiki-reader-disclosure>summary{cursor:pointer}
@media(min-width:601px){.wiki-reader-disclosure>summary{display:none}}
@media(max-width:600px){
 body.matrix-workspace #challenge-wiki-dialog .wiki-modal-header{padding:5px 8px;gap:6px;min-height:34px;box-sizing:border-box}
 body.matrix-workspace #challenge-wiki-dialog .wiki-modal-header .wiki-label{display:none}
 body.matrix-workspace #challenge-wiki-dialog .wiki-modal-header h2{font-size:11px;line-height:15px;margin:0}
 body.matrix-workspace #challenge-wiki-dialog .wiki-modal-actions{gap:4px;flex-shrink:0}
 body.matrix-workspace #challenge-wiki-dialog .wiki-modal-actions .btn{font-size:9px;min-height:26px;padding:3px 5px}
 body.matrix-workspace #challenge-wiki-dialog .wiki-modal-actions .dialog-close{min-width:28px;min-height:28px;font-size:17px}
 body.matrix-workspace #challenge-wiki-dialog .wiki-card-body{padding:6px 8px;font-size:12px}
 body.matrix-workspace #challenge-wiki-dialog .wiki-reader-disclosure>summary{font-size:9.5px;line-height:14px;min-height:26px;box-sizing:border-box;padding:6px 0;color:#6e6e73}
 body.matrix-workspace #challenge-wiki-dialog .wiki-reader-tools{gap:4px;margin:3px 0}
 body.matrix-workspace #challenge-wiki-dialog .wiki-reader-tools .btn{font-size:10px;min-height:26px;padding:3px 7px}
 body.matrix-workspace #challenge-wiki-dialog .wiki-breadcrumb{font-size:10px;gap:4px;margin:0 0 5px;padding:4px 0}
 body.matrix-workspace #challenge-wiki-dialog .wiki-card-heading{padding-bottom:3px}
 body.matrix-workspace #challenge-wiki-dialog .wiki-card-heading>.wiki-label{display:none}
 body.matrix-workspace #challenge-wiki-dialog .wiki-card-heading h3{font-size:14px;line-height:1.3;margin:3px 0}
 body.matrix-workspace #challenge-wiki-dialog .wiki-card-heading p{font-size:10px;line-height:1.4;margin:3px 0}
 body.matrix-workspace #challenge-wiki-dialog .wiki-claim-block{margin:5px 0;padding:7px 8px;border-radius:8px}
 body.matrix-workspace #challenge-wiki-dialog .wiki-claim-block h4{font-size:10.5px;line-height:1.35;margin:0 0 4px}
 body.matrix-workspace #challenge-wiki-dialog .wiki-claim-block p,body.matrix-workspace #challenge-wiki-dialog .wiki-claim-block li{font-size:11.5px;line-height:1.5;margin:3px 0}
 body.matrix-workspace #challenge-wiki-dialog .wiki-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:5px 0}
 body.matrix-workspace #challenge-wiki-dialog .wiki-meta-grid>div{padding:6px;border-radius:7px}
 body.matrix-workspace #challenge-wiki-dialog .wiki-meta-grid b{font-size:9px}
 body.matrix-workspace #challenge-wiki-dialog .wiki-meta-grid p{font-size:10px;line-height:1.4;margin:3px 0}
 body.matrix-workspace #challenge-wiki-dialog .wiki-metric-line{gap:6px;padding:6px 7px;margin:5px 0}
 body.matrix-workspace #challenge-wiki-dialog .wiki-metric-line strong{font-size:11px}
 body.matrix-workspace #challenge-wiki-dialog .wiki-metric-line span{font-size:10px}
 body.matrix-workspace #challenge-wiki-dialog .wiki-professional-details>summary{font-size:11px;min-height:26px;line-height:1.4;padding:5px 0}
}

/* One compact catalog entry into the shared matching workspace. */
.matching-primary-entry{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 10px;border:1px solid #c9dff5;border-radius:7px;background:#eef6ff;color:#0068c8;font-size:11px;font-weight:600;white-space:nowrap;text-decoration:none}
.matching-primary-entry:hover,.matching-primary-entry:focus-visible{background:#e0efff;border-color:#0071e3}
.challenge-row-context{display:block;margin-top:4px;font-size:10px;font-weight:400;color:#6e6e73;line-height:1.45}
.list-details-expanded .challenge-row-context{display:none}
.list-fields-toggle{flex:0 0 auto;font-size:10px!important;white-space:nowrap;padding:3px 7px!important}
.matching-resource-index{padding:8px 0}
.matching-stage{font-size:12px;line-height:1.6;color:#6e6e73;margin:4px 0 10px}
.matching-resource-row{display:grid;gap:4px;padding:12px 8px;border-bottom:1px solid #e5e7eb;color:#1d1d1f;text-decoration:none}
.matching-resource-row:hover,.matching-resource-row:focus-visible{background:#eef6ff}
.matching-resource-row strong{font-size:13px;overflow-wrap:anywhere}
.matching-resource-row span{font-size:11px;color:#6e6e73;line-height:1.5}
.detail-more-sections{display:inline-block;flex:0 0 auto;font-size:11px}
.detail-more-sections>summary{cursor:pointer;padding:5px 8px;min-height:26px;box-sizing:border-box;color:#515154}
.detail-more-sections>div{display:flex;flex-wrap:wrap;gap:4px;padding:5px 0}
#detail-content .detail-section-nav:has(.detail-more-sections[open]){flex-wrap:wrap;overflow:visible}
@media(min-width:761px){
 #challenge-table-wrap:not(.list-details-expanded) .challenge-table tr>:is(:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)){display:none}
 #challenge-table-wrap:not(.list-details-expanded) .challenge-table{min-width:0;table-layout:fixed}
 #challenge-table-wrap:not(.list-details-expanded) .challenge-table th:nth-child(1){width:12%}
 #challenge-table-wrap:not(.list-details-expanded) .challenge-table th:nth-child(2){width:44%}
 #challenge-table-wrap:not(.list-details-expanded) .challenge-table th:is(:nth-child(7),:nth-child(8)){width:6%}
 #challenge-table-wrap:not(.list-details-expanded) .challenge-table th:is(:nth-child(9),:nth-child(10)){width:10%}
 #challenge-table-wrap:not(.list-details-expanded) .challenge-table th:nth-child(11){width:12%}
 #challenge-table-wrap:not(.list-details-expanded) .challenge-table .id-cell{white-space:normal;overflow-wrap:anywhere;font-size:10px}
 #challenge-table-wrap:not(.list-details-expanded) .challenge-title{max-width:none;font-size:13px}
}
@media(max-width:760px){.list-fields-toggle{display:none}.matching-resource-row{padding:9px 5px}.matching-resource-row strong{font-size:12px}.challenge-row-context{font-size:9px}}
/* Shared article section spacing must not consume the workbench's first screen. */
.challenge-workbench #overview,.challenge-workbench #workspace{margin:0}

/* Search stays above the scrollable resource pool on touch screens. */
.coverage-picker-search{display:grid;gap:4px;margin:6px 0;flex-shrink:0;font-size:11px;color:#6e6e73}
.coverage-picker-search input{box-sizing:border-box;width:100%;min-height:34px;padding:6px 9px;border:1px solid #d8dde3;border-radius:7px;background:#f5f5f7;font:inherit;font-size:14px;color:#1d1d1f}
.coverage-picker-search input:focus-visible{outline:2px solid #0071e3;outline-offset:1px}
.coverage-candidate-picker .coverage-candidate[hidden],.coverage-candidate-picker fieldset[hidden]{display:none}
.coverage-picker-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:8px;flex-shrink:0;font-size:11px;color:#6e6e73}
.coverage-picker-footer button{min-height:32px;min-width:52px;border:0;border-radius:7px;background:#0071e3;color:#fff;font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.coverage-candidate-picker button:disabled{opacity:.45;cursor:default}

@media(max-width:760px){.coverage-picker-search input{font-size:16px}}

/* HIG-informed web adaptation: semantic surfaces, content hierarchy and input feedback. */
:root{--ui-canvas:#f5f5f7;--ui-surface:#ffffff;--ui-label:#1d1d1f;--ui-secondary:#63636a;--ui-separator:#e5e5ea;--ui-control:#f0f0f3;--ui-accent:#0066cc;--ui-selection:#edf5ff;--ui-focus:#0066cc;--ui-shadow:0 16px 48px #1c263016,0 2px 8px #1c26300a}
.challenge-workbench,body.matrix-workspace #challenge-dialog{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ui-label);font-variant-numeric:tabular-nums}
html,body,.challenge-workbench{background:var(--ui-canvas)}
.challenge-commandbar,.workspace-panel{border-color:var(--ui-separator);box-shadow:0 1px 3px #1d1d1f03}
.challenge-commandbar{border-radius:16px}
.title-block h1{font-weight:650;letter-spacing:-.025em}
.title-block p,.challenge-row-context{color:var(--ui-secondary)}
.challenge-workbench .btn{font-weight:550;box-shadow:none;border-color:var(--ui-separator)}
.challenge-workbench .view-tabs{gap:3px;background:var(--ui-canvas)}
.challenge-workbench .view-tabs a{font-weight:550;border-radius:8px;color:var(--ui-secondary)}
.challenge-workbench .view-tabs a[aria-current=page]{background:var(--ui-surface);color:var(--ui-label);box-shadow:0 1px 4px #1d1d1f12}
.challenge-workbench .control input,.challenge-workbench .control select{border-color:var(--ui-separator);background:var(--ui-canvas);color:var(--ui-label)}
.challenge-table th{background:#fafafa;color:var(--ui-secondary);font-weight:600;letter-spacing:0;text-transform:none}
.challenge-table .id-cell,.challenge-table .challenge-title{color:var(--ui-label)}
.challenge-table tbody tr:hover,.challenge-table tbody tr:hover td:first-child,.challenge-table tbody tr:hover td:nth-child(2){background:#f3f7fc}
.matching-primary-entry{background:var(--ui-accent);color:#fff;border-color:transparent;border-radius:8px;font-weight:600}
.matching-primary-entry:hover{background:#0055ad;color:#fff;border-color:transparent}
body.matrix-workspace #challenge-dialog{--ink:var(--ui-label);--muted:var(--ui-secondary);--line:var(--ui-separator);--matrix-accent:var(--ui-accent);background:var(--ui-surface)}
body.matrix-workspace #challenge-dialog>.dialog-shell>.dialog-header{background:#fafafc;border-color:var(--ui-separator);padding-top:10px;padding-bottom:10px}
body.matrix-workspace #challenge-dialog .dialog-header h2{font-weight:650;letter-spacing:-.025em}
body.matrix-workspace #detail-content{background:var(--ui-surface)}
body.matrix-workspace #detail-content .detail-section-nav{gap:3px;border:0;background:var(--ui-control);border-radius:10px;padding:3px;margin:0 0 10px;width:fit-content;max-width:100%;box-sizing:border-box}
body.matrix-workspace #detail-content .detail-section-nav button{border-color:transparent;background:transparent;border-radius:7px;color:var(--ui-secondary);font-weight:550;padding:6px 11px}
body.matrix-workspace #detail-content .detail-section-nav button[aria-current=page]{background:var(--ui-surface);color:var(--ui-label);box-shadow:0 1px 4px #1d1d1f16}
body.matrix-workspace #detail-content .detail-section-nav button:hover{color:var(--ui-label);background:#ffffff88}
body.matrix-workspace #detail-content .professor-coverage-section{border:0;border-radius:0;box-shadow:none;padding:0}
body.matrix-workspace .coverage-controls-disclosure{background:#fafafa;border:1px solid var(--ui-separator);border-radius:10px;padding:7px 10px;margin-bottom:8px}
body.matrix-workspace .coverage-controls-disclosure>summary{display:list-item;cursor:pointer;font-weight:550;color:var(--ui-secondary)}
body.matrix-workspace .coverage-toolbar button,body.matrix-workspace .coverage-filter-actions button{border-color:var(--ui-separator);background:var(--ui-control);color:var(--ui-label);border-radius:7px;box-shadow:none;font-weight:500}
body.matrix-workspace .coverage-filter-trigger,body.matrix-workspace .coverage-column-trigger{background:var(--ui-control);border-color:transparent;color:var(--ui-label);border-radius:6px}
body.matrix-workspace .coverage-header-link{font-weight:550}
body.matrix-workspace .coverage-row-total{background:#f5f8fc}
body.matrix-workspace .coverage-total-button{color:#174a6a;font-variant-numeric:tabular-nums}
body.matrix-workspace .coverage-cell[aria-pressed=true],body.matrix-workspace .coverage-total-button[aria-pressed=true]{outline:2px solid var(--ui-focus);outline-offset:-2px;box-shadow:inset 0 0 0 4px #ffffffaa}
body.matrix-workspace .coverage-proof{background:#fafafa;border:0;border-left:2px solid var(--ui-accent);border-radius:0 8px 8px 0}
body.matrix-workspace .coverage-stats{background:transparent;border:0;border-top:1px solid var(--ui-separator);border-radius:0;padding-left:0;padding-right:0}
body.matrix-workspace #challenge-wiki-dialog{background:var(--ui-surface)}
body.matrix-workspace #challenge-wiki-dialog .wiki-modal-header{background:#fafafc;border-color:var(--ui-separator)}
body.matrix-workspace #challenge-wiki-dialog .wiki-card-body{font-size:14px;line-height:1.65;padding:14px 18px;color:var(--ui-label)}
body.matrix-workspace #challenge-wiki-dialog .wiki-card-heading h3{font-size:21px;line-height:1.3;letter-spacing:-.025em;font-weight:650}
body.matrix-workspace #challenge-wiki-dialog .wiki-claim-block{border:0;border-bottom:1px solid var(--ui-separator);border-radius:0;background:transparent;padding:14px 0;margin:0}
body.matrix-workspace #challenge-wiki-dialog .wiki-claim-block h4{font-size:12px;line-height:1.4;font-weight:650;color:var(--ui-secondary);margin:0 0 7px}
body.matrix-workspace #challenge-wiki-dialog .wiki-claim-block p{font-size:inherit;line-height:inherit;margin:0}
body.matrix-workspace #challenge-wiki-dialog .wiki-claim-block.wiki-briefing{background:#f2f7fc;border:0;border-radius:12px;padding:14px;margin:12px 0}
body.matrix-workspace #challenge-wiki-dialog .wiki-briefing h4{color:#174a6a}
body.matrix-workspace #challenge-wiki-dialog .wiki-briefing p{font-weight:500}
body.matrix-workspace #challenge-wiki-dialog .wiki-meta-grid>div{background:var(--ui-canvas);border:0;border-radius:10px}
body.matrix-workspace #challenge-wiki-dialog .wiki-entity-link{color:var(--ui-accent);text-decoration-thickness:1px;text-underline-offset:3px}
body.matrix-workspace #challenge-wiki-dialog .wiki-muted,body.matrix-workspace #challenge-wiki-dialog .wiki-card-heading p{color:var(--ui-secondary)}
body.matrix-workspace #challenge-wiki-dialog .wiki-reader-tools .btn{border-color:transparent;border-radius:7px;background:var(--ui-control)}
body.matrix-workspace #challenge-wiki-dialog .wiki-reader-tools [aria-pressed=true]{background:var(--ui-selection);color:var(--ui-accent);box-shadow:inset 0 0 0 1px #0066cc40}
body.matrix-workspace .coverage-candidate-picker[popover]{border:1px solid #d9d9df;border-radius:16px;box-shadow:var(--ui-shadow);padding:14px;background:var(--ui-surface)}
body.matrix-workspace .coverage-filter-title{font-size:15px;letter-spacing:-.015em}
body.matrix-workspace .coverage-candidate-picker .coverage-candidate{padding:9px 7px;border-radius:8px;border-bottom:0}
body.matrix-workspace .coverage-candidate-picker .coverage-candidate:has(input:checked){background:var(--ui-selection)}
body.matrix-workspace .coverage-candidate-picker fieldset{border:0;padding:0;margin:8px 0}
body.matrix-workspace .coverage-candidate-picker legend{font-size:11px;font-weight:600;color:var(--ui-secondary);padding:0 7px 5px}
body.matrix-workspace .coverage-candidate-picker .coverage-candidate small{color:var(--ui-secondary)}
body.matrix-workspace .coverage-picker-search input{background:var(--ui-control);border-color:transparent}
body.matrix-workspace .coverage-picker-footer{border-top:1px solid var(--ui-separator);padding-top:10px}
body.matrix-workspace .coverage-picker-footer button{background:var(--ui-accent);font-weight:600}
body.matrix-workspace input[type=checkbox]{accent-color:var(--ui-accent)}
.challenge-workbench :is(button,a,input,select,summary):focus-visible,#challenge-dialog :is(button,a,input,select,summary):focus-visible{outline:2px solid var(--ui-focus);outline-offset:2px}
@media(hover:hover){body.matrix-workspace .coverage-candidate-picker .coverage-candidate:hover{background:#e8eff7}}
@supports(backdrop-filter:blur(16px)){
 body.matrix-workspace #challenge-dialog>.dialog-shell>.dialog-header,body.matrix-workspace #challenge-wiki-dialog .wiki-modal-header{background:#fafafce8;backdrop-filter:blur(16px) saturate(1.15)}
}
@media(max-width:760px){
 body.matrix-workspace #challenge-dialog>.dialog-shell>.dialog-header{padding-top:6px;padding-bottom:6px}
 body.matrix-workspace #detail-content .detail-section-nav{margin-bottom:6px;border-radius:8px}
 body.matrix-workspace #detail-content .detail-section-nav button{padding:5px 7px;font-size:10px}
 body.matrix-workspace .coverage-controls-disclosure{padding:4px 6px;margin-bottom:5px}
 body.matrix-workspace #challenge-wiki-dialog .wiki-card-body{font-size:13px;line-height:1.6;padding:8px 10px}
 body.matrix-workspace #challenge-wiki-dialog .wiki-card-heading h3{font-size:16px;line-height:1.35}
 body.matrix-workspace #challenge-wiki-dialog .wiki-claim-block{padding:10px 0}
 body.matrix-workspace #challenge-wiki-dialog .wiki-claim-block h4{font-size:11px;margin-bottom:5px}
 body.matrix-workspace #challenge-wiki-dialog .wiki-claim-block.wiki-briefing{padding:10px;margin:8px 0}
 body.matrix-workspace .coverage-candidate-picker[popover]{padding:12px}
 body.matrix-workspace .coverage-candidate-picker .coverage-candidate{min-height:44px;box-sizing:border-box;padding:7px}
 body.matrix-workspace .coverage-candidate-picker :is(.coverage-filter-actions button,.coverage-picker-footer button,.coverage-filter-title button){min-height:44px;min-width:44px}
}
@media(prefers-reduced-motion:no-preference){
 .matching-primary-entry,body.matrix-workspace :is(.coverage-cell,.coverage-total-button,.coverage-candidate,.detail-section-nav button){transition:background-color .14s ease,box-shadow .14s ease,border-color .14s ease}
}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){
 body.matrix-workspace #challenge-dialog>.dialog-shell>.dialog-header,body.matrix-workspace #challenge-wiki-dialog .wiki-modal-header{background:#fafafc;backdrop-filter:none}
}
@media(prefers-contrast:more){
 :root{--ui-secondary:#414148;--ui-separator:#8d8d95;--ui-control:#ededf0}
 body.matrix-workspace .coverage-cell{box-shadow:inset 0 0 0 1px #586875}
 body.matrix-workspace .coverage-cell[aria-pressed=true]{outline-width:3px}
}
@media(forced-colors:active){
 body.matrix-workspace .coverage-cell,body.matrix-workspace .coverage-total-button{border:1px solid ButtonText}
 body.matrix-workspace .coverage-cell[aria-pressed=true],body.matrix-workspace .coverage-total-button[aria-pressed=true]{outline:3px solid Highlight}
 body.matrix-workspace #detail-content .detail-section-nav button[aria-current=page]{border:2px solid Highlight}
}
body.matrix-workspace .detail-more-sections:has(button[aria-current=page])>summary{background:var(--ui-surface);color:var(--ui-label);border-radius:7px;box-shadow:0 1px 4px #1d1d1f16}

body.matrix-workspace:has(#challenge-wiki-dialog:not([hidden])) .coverage-proof{display:none}
/* A short column list hugs its content; searchable resource pools stay stable while typing. */
body.matrix-workspace .coverage-column-picker[popover]:popover-open{height:auto;max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
body.matrix-workspace .coverage-column-picker[popover]:popover-open .coverage-candidate-groups{flex:0 1 auto;max-height:min(400px,calc(100dvh - 220px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)))}

/* Optional verified portrait shares the matrix sidecar and never delays content. */
.wiki-card-heading h3 .wiki-heading-portrait{display:inline-block;vertical-align:middle;width:32px;height:32px;object-fit:cover;border-radius:50%;margin-inline-end:8px}
.wiki-card-heading h3 .wiki-heading-portrait[hidden]{display:none}
