/* Shared section refinements, loaded after style.css on all nine pages. */
/* Search feedback and consistent filter actions. */
.filter-status {font:600 var(--fs-sm)/1.5 var(--font);color:var(--card-muted);margin:12px 0;}
.filter-reset {display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 16px;margin:0 0 16px;border:1px solid var(--card-border);border-radius:var(--ui-radius);background:var(--card-bg);color:var(--card-text);font:600 var(--fs-sm)/1.4 var(--font);cursor:pointer;}
.filter-reset[hidden] {display:none!important;}
.filter-reset:hover {border-color:var(--text-primary);}
.site-page .eng-card,.site-page .atlas-card {overflow-wrap:anywhere;}
.site-page .resource-card .eng-resource-link {display:inline-flex;border:1px solid var(--card-border);border-radius:var(--ui-radius);padding:8px 12px;margin-top:auto;background:var(--soft-bg);color:var(--card-text);font:600 var(--fs-sm)/1.4 var(--font);}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}}

/* Profession detail dialogs are outside .site-page: normalize every link state. */
.profession-modal a:not(.eng-tab),
.profession-modal a:not(.eng-tab):link,
.profession-modal a:not(.eng-tab):visited,
.modal-content a,
.modal-content a:link,
.modal-content a:visited,
.modal-content a:active,
.profession-section a,
.profession-section a:link,
.profession-section a:visited,
.profession-section a:active {
  color:var(--text-primary)!important;
  text-decoration-color:currentColor!important;
  overflow-wrap:anywhere;
}
.profession-modal a:hover,.modal-content a:hover,.profession-section a:hover {color:var(--text-primary)!important;text-decoration-thickness:2px;}
.profession-modal a:focus-visible,.modal-content a:focus-visible,.profession-section a:focus-visible {outline:2px solid var(--text-primary);outline-offset:3px;}

/* Keyboard navigation and readable engineer-detail links in both themes. */
.skip-link{position:fixed;z-index:100000;top:12px;left:12px;padding:12px 16px;background:var(--btn-bg);color:var(--btn-text)!important;border:2px solid var(--text-primary);border-radius:8px;transform:translateY(-180%);transition:transform .15s ease;text-decoration:none;font-weight:700}
.skip-link:focus,.skip-link:focus-visible{transform:translateY(0);outline:3px solid var(--text-primary);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.skip-link{transition:none}}

/* Prevent long process descriptions and technical identifiers from widening 320px pages. */
.site-page .atlas-grid {min-width:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));}
.site-page .atlas-card, .site-page .atlas-card > * {min-width:0;max-width:100%;}
.site-page .atlas-card :is(p,li,span,strong,code,a,h2,h3) {overflow-wrap:anywhere;word-break:normal;}

/* Long Russian page headings must wrap even on 320px screens. */
.site-page .page-header h1 {overflow-wrap:anywhere;hyphens:auto;min-width:0;}

/* Avoid artificial full-viewport blank space if a catalog has no entries. */
#dictionaryGrid:empty,#resourcesGrid:empty{min-height:0;}

/* Ensure small-print footer copyright meets contrast in both themes. */
.footer-copy,.site-footer-copy{opacity:1;color:var(--text-primary);}

/* Consistent keyboard focus and touch targets throughout all nine sections. */
:where(.site-page,.eng-calendar-root,footer) :is(a,button,input,select,textarea):focus-visible,
.site-nav-toggle:focus-visible {
  outline:3px solid var(--text-primary,currentColor);
  outline-offset:3px;
}
.eng-tab,.site-nav-toggle,.filter-reset,.eng-filter-btn,.footer-btn {min-height:44px;}
.eng-tabs a[aria-current="page"] {font-weight:700;}
/* Keep content inside the viewport without truncating engineering terminology. */
.site-page,.eng-calendar-root,.eng-grid,.eng-card,.modal-content {min-width:0;}
.site-page :is(table,pre) {max-width:100%;}
.site-page pre {overflow-x:auto;}
.site-page :is(input,select,textarea) {max-width:100%;}
@media(max-width:600px){
  .site-page .eng-grid,.eng-calendar-root .eng-grid {grid-template-columns:minmax(0,1fr);}
  .modal-overlay {padding:10px;}
  .modal {width:100%;max-width:100%;padding:clamp(16px,4vw,24px);border-radius:16px!important;}
  .modal-header {padding-right:34px;}
}

/* AI knowledge-base entry on landing page */
.ai-knowledge-entry{border:1px solid var(--card-border);border-radius:16px;padding:20px;margin:24px 0;background:var(--soft-bg);color:var(--card-text)}
.ai-knowledge-entry strong{display:block;font-size:var(--fs-lg);margin-bottom:6px}
.ai-knowledge-entry p{margin:0 0 12px;line-height:1.55}
.ai-knowledge-entry a{display:inline-block;margin:4px 16px 4px 0;color:inherit;text-decoration:underline;text-underline-offset:3px;font-weight:600}


/* Reserve initial catalog space until the first JavaScript render completes.
   Keeps the footer outside the first viewport and prevents large CLS spikes.
   data-ready is set synchronously by each renderer; empty filter results
   then use normal compact layout without an artificial blank region. */
#calendarGrid:not([data-ready]),
#resourcesGrid:not([data-ready]),
#dictionaryGrid:not([data-ready]) {
  min-height: max(75vh, 650px);
}


/* Five stable, semantic navigation groups; original nine routes remain direct links. */
.site-nav-wrap > .eng-tabs {justify-content:flex-start;align-items:stretch;gap:10px;flex-wrap:wrap;overflow:visible;}
.site-nav-wrap > .eng-tabs .nav-cluster {
  display:flex;flex-wrap:wrap;align-items:center;align-content:flex-start;gap:6px;
  min-width:0;padding:8px;border:1px solid var(--card-border);
  border-radius:14px;background:var(--soft-bg);
}
.site-nav-wrap > .eng-tabs .nav-cluster-title {
  display:block;flex-basis:100%;color:var(--card-muted);font:700 11px/1.4 var(--font);
  letter-spacing:.065em;text-transform:uppercase;padding:0 5px 2px;
}
.site-nav-wrap > .eng-tabs .nav-cluster .eng-tab {
  min-height:44px;padding:9px 11px;white-space:normal;
}
@media(max-width:860px){
  .site-nav-wrap > .eng-tabs .nav-cluster {display:flex;flex-direction:column;align-items:stretch;width:100%;padding:9px;}
  .site-nav-wrap > .eng-tabs .nav-cluster-title {flex-basis:auto;padding:3px 4px;}
  .site-nav-wrap > .eng-tabs .nav-cluster .eng-tab {width:100%;min-height:44px;}
}
@media(max-width:390px){.site-nav-wrap > .eng-tabs .nav-cluster {max-width:100%;}}

/* Homepage task routes: monochrome, readable and stable at mobile widths. */
.learning-paths {margin:28px 0 30px;}
.learning-path-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.learning-path-card {display:flex;flex-direction:column;min-width:0;padding:20px;border:1px solid var(--card-border);border-radius:16px;background:var(--card-bg);color:var(--card-text);}
.learning-path-card h3 {font:700 clamp(17px,2vw,21px)/1.3 var(--font);margin:9px 0 8px;overflow-wrap:anywhere;}
.learning-path-card p {font:400 var(--fs-sm)/1.6 var(--font);color:var(--card-muted);margin:0 0 18px;}
.learning-path-number {font:700 11px/1.35 var(--font);letter-spacing:.075em;color:var(--card-muted);}
.learning-path-links {display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:auto;}
.learning-path-links a,.learning-path-links a:link,.learning-path-links a:visited,
.technology-links a,.technology-links a:link,.technology-links a:visited {
 display:inline-flex;align-items:center;min-height:44px;padding:8px 11px;border:1px solid var(--card-border);
 border-radius:10px;background:var(--soft-bg);color:var(--card-text)!important;
 font:600 var(--fs-sm)/1.35 var(--font);text-decoration:none;overflow-wrap:anywhere;
}
.learning-path-links a:hover,.technology-links a:hover {border-color:var(--text-primary);text-decoration:underline;}
.learning-path-links a:focus-visible,.technology-links a:focus-visible {outline:3px solid var(--text-primary);outline-offset:2px;}
.technology-links {display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;}
@media(max-width:950px){.learning-path-grid{grid-template-columns:minmax(0,1fr);}}

/* Editorial field guides reuse neutral card styling without affecting catalogs. */
.field-guide {margin:30px 0 14px;padding:clamp(16px,3vw,26px);border:1px solid var(--card-border);border-radius:16px;background:var(--soft-bg);color:var(--card-text);}
.field-guide h2 {margin:0 0 12px;font:700 clamp(19px,2.3vw,25px)/1.25 var(--font);}
.field-guide p,.field-guide li {font:400 var(--fs-sm)/1.65 var(--font);overflow-wrap:anywhere;}
.field-guide ol {padding-left:22px;margin:12px 0;}
.field-guide li + li {margin-top:8px;}
.field-guide code {white-space:normal;overflow-wrap:anywhere;padding:2px 5px;border:1px solid var(--card-border);border-radius:5px;background:var(--card-bg);color:var(--card-text);}
.field-guide a,.field-guide a:link,.field-guide a:visited {color:var(--text-primary)!important;text-decoration:underline;text-underline-offset:3px;}
.field-guide a:focus-visible {outline:3px solid var(--text-primary);outline-offset:3px;}
.field-guide-note {border-top:1px solid var(--card-border);padding-top:12px;margin-top:14px;color:var(--card-muted);}

/* Combined processes/materials search: two catalog routes, one search field. */
.technology-hub {margin:20px 0 26px;padding:clamp(15px,2.5vw,22px);border:1px solid var(--card-border);border-radius:16px;background:var(--soft-bg);color:var(--card-text);}
.technology-hub h2 {font:700 clamp(18px,2.2vw,24px)/1.25 var(--font);margin:0 0 8px;}
.technology-hub p {font:400 var(--fs-sm)/1.55 var(--font);margin:0 0 12px;color:var(--card-muted);}
.technology-hub label {display:block;font:600 var(--fs-sm)/1.45 var(--font);margin:0 0 7px;}
.technology-hub input {width:100%;min-width:0;max-width:100%;min-height:48px;box-sizing:border-box;padding:11px 14px;border:1px solid var(--control-border);border-radius:10px;background:var(--card-bg);color:var(--card-text);font:inherit;}
.technology-hub #technologySearchStatus {margin:9px 0;color:var(--card-muted);}
.technology-search-results[hidden] {display:none;}
.technology-search-results {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:12px;margin:12px 0;}
.technology-search-group {min-width:0;padding:11px;border:1px solid var(--card-border);border-radius:12px;background:var(--card-bg);}
.technology-search-group h3 {font:700 var(--fs-sm)/1.5 var(--font);margin:0 0 8px;}
.technology-search-links {display:flex;flex-wrap:wrap;gap:6px;}
.technology-search-result,.technology-search-result:link,.technology-search-result:visited,
.technology-hub a,.technology-hub a:link,.technology-hub a:visited {color:var(--card-text)!important;}
.technology-search-result {display:inline-flex;min-height:44px;align-items:center;border:1px solid var(--card-border);border-radius:10px;padding:8px 11px;background:var(--soft-bg);text-decoration:none;overflow-wrap:anywhere;}
.technology-search-result:hover {border-color:var(--text-primary);text-decoration:underline;}
.technology-hub .technology-hub-shortcuts {margin:12px 0 0;}
.technology-hub :is(a,input):focus-visible {outline:3px solid var(--text-primary);outline-offset:3px;}
/* Keep the footer outside the first paint until catalog render finishes. */
#materialGrid:not([data-ready]),#processGrid:not([data-ready]) {min-height:max(65vh,520px);}

.ai-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:15px;margin:22px 0}.ai-card,.ai-intro{border:1px solid var(--card-border,#777);border-radius:14px;padding:19px;margin:12px 0;background:var(--card-bg,transparent);color:var(--card-text,inherit)}.ai-card h2{font-size:19px;margin:0 0 15px}.ai-card a{display:inline-flex;align-items:center;min-height:44px;border:1px solid currentColor;border-radius:9px;padding:9px 13px;text-decoration:none;color:inherit!important}.ai-card a:hover{text-decoration:underline}.ai-intro p{line-height:1.65}.ai-intro a{color:inherit!important;text-decoration:underline}.ai-card a:focus-visible{outline:3px solid currentColor;outline-offset:3px}


/* Resources directory: searchable, alphabetical and accessible on mobile. */
.resource-controls{padding:clamp(14px,2.5vw,22px);margin:20px 0 18px;border:1px solid var(--card-border);border-radius:16px;background:var(--soft-bg);color:var(--card-text);}
.resource-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(160px,220px) auto;align-items:end;gap:12px;}
.resource-toolbar label,.resource-control-label,.resource-filter-label{display:block;font-size:13px;font-weight:700;margin:0 0 7px;color:var(--card-text);}
.resource-search-wrap,.resource-sort-wrap{min-width:0;}
.resource-toolbar input,.resource-toolbar select{box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:46px;padding:10px 12px;border-radius:10px;border:1px solid var(--control-border,var(--card-border));background:var(--card-bg);color:var(--card-text);font:inherit;}
.resource-view-buttons{display:flex;align-items:stretch;gap:5px;}
.resource-view-buttons button{min-height:46px;padding:10px 13px;border:1px solid var(--card-border);background:var(--card-bg);color:var(--card-text);border-radius:10px;font:600 13px/1.2 inherit;cursor:pointer;}
.resource-view-buttons button[aria-pressed="true"]{background:var(--text-primary);color:var(--page-bg,#fff);border-color:var(--text-primary);}
.resource-filter-label{margin:16px 0 8px;}
#resourcesFilter{display:flex!important;align-items:stretch;flex-wrap:wrap;gap:7px;margin:0;}
#resourcesFilter .resource-chip{display:inline-flex;align-items:center;gap:7px;min-height:44px;border-radius:10px;max-width:100%;padding:8px 12px;white-space:normal;text-align:left;}
.resource-chip-count{font-size:11px;border:1px solid currentColor;padding:2px 6px;border-radius:99px;opacity:.7;}
.resource-status-row{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:10px;}
.resource-status-row .filter-status{margin:0;color:var(--card-muted);font-size:13px;}
#resourceReset[hidden]{display:none!important;}
#resourceReset{min-height:40px;}
.resources-directory{display:block!important;min-width:0;}
.resource-group{margin:22px 0 32px;min-width:0;}
.resource-group-header{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--card-border);padding:0 0 10px;margin-bottom:12px;}
.resource-group-header h2{font-size:clamp(18px,2.1vw,23px);line-height:1.3;margin:0;}
.resource-group-header span{border:1px solid var(--card-border);border-radius:99px;padding:4px 10px;font-size:12px;}
.resource-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,275px),1fr));gap:13px;}
.resource-card{display:flex!important;flex-direction:column;min-width:0;height:100%;box-sizing:border-box;text-decoration:none;}
.resource-card .eng-title{line-height:1.3;}
.resource-card .eng-desc{flex:1;overflow-wrap:anywhere;}
.resource-card-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:12px;}
.resource-card .eng-resource-link{margin:0;min-height:36px;display:inline-flex;align-items:center;}
.resource-host{font-size:12px;color:var(--card-muted);overflow-wrap:anywhere;}
.resource-list-view .resource-items{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;}
.resource-list-view .resource-card{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,2.4fr) auto;grid-template-areas:"type title bottom" "type desc bottom";gap:4px 16px;align-items:center;padding:14px 16px;}
.resource-list-view .resource-card .resource-type{grid-area:type;align-self:center;}
.resource-list-view .resource-card .eng-title{grid-area:title;}
.resource-list-view .resource-card .eng-desc{grid-area:desc;margin:0;}
.resource-list-view .resource-card-bottom{grid-area:bottom;padding:0;align-self:center;}
.resource-controls :is(input,select,button):focus-visible,.resources-directory a:focus-visible{outline:3px solid var(--text-primary);outline-offset:3px;}
@media(max-width:800px){.resource-toolbar{grid-template-columns:minmax(0,1fr) minmax(145px,.65fr)}.resource-view-wrap{grid-column:1/-1}.resource-list-view .resource-card{display:flex!important;gap:6px;padding:15px}.resource-list-view .resource-card-bottom{align-self:stretch;margin-top:4px;}}
@media(max-width:560px){.resource-toolbar{grid-template-columns:minmax(0,1fr)}.resource-view-wrap{grid-column:auto}.resource-items{grid-template-columns:minmax(0,1fr)}.resource-controls{padding:14px}.resource-group{margin:18px 0 28px;}}


/* Resource controls redesign: one full-width search, left-aligned sort and display. */
.resource-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:14px;min-width:0;}
.resource-search-wrap{width:100%;max-width:100%;min-width:0;}
.resource-toolbar .resource-search{width:100%;max-width:100%;display:block;flex:none;min-width:0;}
.resource-secondary-controls{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:flex-end;gap:14px;min-width:0;}
.resource-secondary-controls .resource-sort-wrap{flex:0 1 260px;min-width:220px;}
.resource-secondary-controls .resource-view-wrap{flex:0 0 auto;min-width:0;}
.resource-view-buttons{width:max-content;max-width:100%;display:flex;}
.resource-view-buttons button{font-family:var(--font);font-weight:600;min-width:84px;white-space:nowrap;}
.resource-view-buttons button[aria-pressed="true"]{background:var(--btn-bg);color:var(--btn-text);border-color:var(--btn-bg);opacity:1;}
.resource-view-buttons button[aria-pressed="false"]{background:var(--card-bg);color:var(--card-text);border-color:var(--card-border);opacity:1;}
.resource-topic{margin:17px 0 25px;}
.resource-topic:first-child{margin-top:4px;}
.resource-topic-header{display:flex;gap:9px;align-items:center;padding:0 0 10px;margin-bottom:12px;border-bottom:1px dashed var(--card-border);}
.resource-topic-header h3{margin:0;font:600 clamp(15px,2vw,18px)/1.35 var(--font);color:var(--card-text);}
.resource-topic-header span{font-size:12px;color:var(--card-muted);border:1px solid var(--card-border);border-radius:99px;padding:3px 9px;}
.resource-list-view .resource-topic .resource-items{grid-template-columns:minmax(0,1fr);}
@media (max-width:800px){
 .resource-toolbar{display:flex;flex-direction:column;}
 .resource-secondary-controls .resource-sort-wrap{min-width:180px;}
 .resource-secondary-controls .resource-view-wrap{grid-column:auto;}
}
@media (max-width:560px){
 .resource-secondary-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;}
 .resource-secondary-controls .resource-sort-wrap{width:100%;min-width:0;}
 .resource-secondary-controls .resource-view-wrap{grid-column:auto;}
 .resource-view-buttons{width:100%;}
 .resource-view-buttons button{flex:1 1 0;}
}

.resource-more{display:block;min-height:46px;min-width:190px;margin:16px auto 28px;padding:10px 18px;border:1px solid var(--card-border);border-radius:10px;background:var(--card-bg);color:var(--card-text);font:600 14px/1.3 var(--font);cursor:pointer;}
.resource-more[hidden]{display:none!important;}
.resource-more:focus-visible{outline:3px solid var(--text-primary);outline-offset:3px;}

/* Independent metrology workshop shortcut — match all site themes. */
.measurement-shortcut{margin:16px 0 22px;padding:15px 18px;line-height:1.65;border:1px solid var(--card-border);border-radius:14px;background:var(--soft-bg);color:var(--card-text);font-size:14px;}
.measurement-shortcut a,.measurement-shortcut a:link,.measurement-shortcut a:visited{color:inherit!important;text-decoration:underline;font-weight:700;text-underline-offset:3px;}
.measurement-shortcut a:focus-visible{outline:3px solid var(--text-primary);outline-offset:3px;}

/* Ordered process stages: readable on desktop and narrow screens. */
.site-page .atlas-card .process-step-list{padding-left:23px;margin:8px 0 12px;list-style:decimal;color:var(--card-text);}
.site-page .atlas-card .process-step-list li{padding-left:4px;margin:0 0 7px;font:400 var(--fs-sm)/1.6 var(--font);overflow-wrap:anywhere;}
.site-page .atlas-card .process-step-list li::marker{font-weight:700;}

/* Process atlas controls and stage cards. Shared neutral tokens support both themes. */
.process-controls{margin:18px 0 20px;padding:clamp(14px,2.5vw,22px);border:1px solid var(--card-border);border-radius:16px;background:var(--soft-bg);color:var(--card-text);}
.process-toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end;}
.process-control{min-width:0;}
.process-control label{display:block;margin:0 0 7px;font:700 var(--fs-sm)/1.45 var(--font);}
.site-page .process-control .atlas-search{display:block;width:100%;margin:0;}
.process-search-help{margin:14px 0 0;font:400 var(--fs-sm)/1.6 var(--font);color:var(--card-muted);overflow-wrap:anywhere;}
.process-card-meta{display:flex;width:100%;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;color:var(--card-muted);font:600 12px/1.4 var(--font);}
.site-page .atlas-card .process-card-meta a{margin:0;padding:6px 10px;min-height:36px;font-size:12px;}
.site-page .atlas-card .process-sources{margin:0;padding-left:21px;}
.site-page .atlas-card .process-sources li{margin:0 0 5px;overflow-wrap:anywhere;}
.site-page .atlas-card:target{border-color:var(--text-primary);box-shadow:0 0 0 1px var(--text-primary);}
.site-page .atlas-card:focus{outline:3px solid var(--text-primary);outline-offset:3px;}
@media(max-width:1000px){.process-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){.process-toolbar{grid-template-columns:minmax(0,1fr);}.process-controls{padding:14px;}}

/* Extended process atlas: accessible progressive list and expandable source details. */
.site-page .process-show-more{display:block;min-height:48px;margin:16px auto 28px;padding:11px 22px;border:1px solid var(--card-border);border-radius:var(--ui-radius);background:var(--card-bg);color:var(--card-text);font:600 var(--fs-sm)/1.4 var(--font);cursor:pointer;}
.site-page .process-show-more:hover{border-color:var(--text-primary);}
.site-page .process-show-more[hidden]{display:none!important;}
.site-page .process-show-more:focus-visible,.site-page .process-references summary:focus-visible{outline:3px solid var(--text-primary);outline-offset:3px;}
.site-page .process-references{margin:14px 0 8px;width:100%;border-top:1px solid var(--card-border);padding-top:10px;}
.site-page .process-references summary{cursor:pointer;font:700 var(--fs-sm)/1.45 var(--font);min-height:40px;padding:8px 0;}
.site-page .atlas-card .process-parent{margin:0 0 7px;color:var(--card-muted);font:400 var(--fs-sm)/1.45 var(--font);}
.site-page .atlas-card .process-parent a{margin:0 0 0 4px;min-height:34px;padding:6px 10px;}

/* Compact bidirectional atlas links in materials and profession overlays. */
.site-page .material-process-links{font:400 var(--fs-sm)/1.6 var(--font);max-width:100%;overflow-wrap:anywhere;}
.site-page .material-related-more{margin:10px 0 4px;width:100%;}
.site-page .material-related-more summary,.profession-modal .related-more summary,.modal-content .related-more summary{cursor:pointer;min-height:42px;padding:9px 0;font-weight:700;color:var(--card-text);}
.site-page .material-related-more summary:focus-visible,.profession-modal .related-more summary:focus-visible,.modal-content .related-more summary:focus-visible{outline:3px solid var(--text-primary);outline-offset:2px;}
.material-related-links{margin:3px 0 12px;}
.profession-modal .related-more,.modal-content .related-more{padding:3px 0 10px;}

/* Final modal link color guard for all theme states.
   High-specificity learning/technology links were using --card-text (#111)
   instead of the required --text-primary (#000) in the light theme. */
.modal-content a,
.modal-content a:link,
.modal-content a:visited,
.modal-content a:active,
.modal-content a:hover,
.modal-content .learning-path-links a,
.modal-content .technology-links a,
.modal-content .technology-hub a {
  color:var(--text-primary)!important;
  text-decoration-color:currentColor!important;
}
/* Editorial footer links must retain the monochrome palette in both themes. */
footer a:not(.footer-btn):link,footer a:not(.footer-btn):visited{color:inherit}

/* AI source library — reuses existing catalog controls and theme tokens. */


/* Compact AI library, accessible mobile disclosures, and single-row category scroller. */
.resource-library-topic{min-width:0;border:1px solid var(--card-border);border-radius:12px;padding:0 12px 12px;}
.resource-library-topic .resource-topic-header{cursor:pointer;min-height:48px;margin:0;gap:10px;padding:10px 2px;list-style:none;}
.resource-library-topic .resource-topic-header::-webkit-details-marker{display:none;}
.resource-library-topic .resource-topic-header strong{font-size:15px;font-weight:650;flex:1;min-width:0;}
.resource-library-topic .resource-topic-header::after{content:'+';font-size:20px;line-height:1;order:2;}
.resource-library-topic[open] .resource-topic-header::after{content:'−';}
.resource-library-topic .resource-items{padding-top:10px;}
.resource-library-topic .resource-topic-header:focus-visible{outline:3px solid var(--text-primary);outline-offset:3px;}
.resource-mobile-hint{display:none;}
@media(max-width:700px){
 .resource-controls{padding:12px;margin:12px 0;}
 .resource-mobile-hint{display:inline;font-size:12px;color:var(--card-muted);font-weight:400;}
 #resourcesFilter{display:flex!important;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;padding-bottom:8px;gap:6px;min-width:0;}
 #resourcesFilter .resource-chip{white-space:nowrap;flex:0 0 auto;scroll-snap-align:start;min-height:44px;max-width:none;}
 .resource-secondary-controls{gap:8px;}
 .resource-library-topic{margin:8px 0;padding:0 10px 9px;}
 .resource-library-topic .resource-card{padding:12px;}
 .resource-library-topic .resource-card .eng-desc{font-size:13px;line-height:1.45;}
}

/* Catalog introduction has one readable column; downloadable user documents remain alongside the code library. */
.resource-ai-library{box-sizing:border-box;display:block;max-width:100%;min-width:0;padding:clamp(16px,2.5vw,24px);margin:20px 0;border:1px solid var(--card-border);border-radius:16px;background:var(--soft-bg);color:var(--card-text)}
.resource-ai-library h2{max-width:42ch;margin:0 0 10px;font-size:clamp(20px,2.4vw,26px);line-height:1.3;overflow-wrap:break-word}
.resource-ai-library p{max-width:76ch;margin:0 0 12px;line-height:1.55}
.resource-ai-library-open{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-underline-offset:3px}
.resource-ai-library-open:focus-visible{outline:3px solid var(--text-primary);outline-offset:3px}

/* Two downloadable reader documents in the existing AI library. */
.resource-ai-documents{margin:14px 0;padding:14px;border:1px solid var(--card-border);border-radius:12px;min-width:0;background:var(--card-bg,var(--soft-bg))}
.resource-ai-documents h3{font-size:1.08rem;margin:0 0 8px;line-height:1.4}
.resource-ai-documents ul{margin:0 0 10px;padding-left:20px}
.resource-ai-documents li{margin:0 0 10px;overflow-wrap:anywhere;line-height:1.5}
.resource-ai-documents li span{display:block;font-size:.87rem;opacity:.78}
.resource-ai-documents a{color:inherit;text-underline-offset:3px}
.resource-ai-documents a:focus-visible{outline:3px solid var(--text-primary);outline-offset:3px}
.resource-ai-documents .resource-ai-document-note{font-size:.82rem;line-height:1.45;margin:8px 0 0;opacity:.78}
