.requirements-page{padding-block:64px;max-width:1320px}
.requirements-page [hidden]{display:none!important}
.requirements-intro{max-width:960px;margin-bottom:48px}
.requirements-intro h1{font-size:clamp(38px,5vw,68px)}
.requirements-page p,.requirements-page li,.requirements-page label,.requirements-page summary{font-size:18px}
.requirements-page h2{font-size:clamp(28px,3vw,40px)}
.requirements-page h3{font-size:22px;line-height:1.3;margin-top:28px;margin-bottom:14px}
.requirements-controls,.requirements-comparison,.requirements-directory{margin-top:36px;padding-top:36px;border-top:1px solid var(--rule)}
.requirements-filters{display:grid;grid-template-columns:2fr 1fr;gap:24px}
.requirements-filters label,.requirements-copy-fallback label{display:grid;gap:8px;color:var(--text)}
.requirements-filters input,.requirements-filters select,.requirements-copy-fallback textarea{width:100%;min-height:52px;border:1px solid var(--control-border);border-radius:4px;background:var(--input-surface);color:var(--text);padding:12px}
.requirements-picker{padding:0;border:0;margin:20px 0}
.requirements-picker legend{margin-bottom:12px;font-weight:650}
.requirements-picker>div{max-height:360px;overflow:auto;border:1px solid var(--control-border);border-radius:6px;padding:8px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.requirements-picker label{display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 10px;border-radius:4px;cursor:pointer;background:var(--surface-raised)}
.requirements-picker label:has(input:checked){background:var(--selection-fill);box-shadow:inset 0 0 0 1px var(--mint)}
.requirements-picker input{width:22px;height:22px;flex:0 0 22px;accent-color:var(--mint)}
.requirements-picker small{margin-left:auto;font-size:13px;color:var(--muted)}
.requirements-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 28px}
.requirements-page button{min-height:52px;font-size:18px;transition:none}
.requirements-page button:disabled{opacity:.5;cursor:default}
[data-requirements-selected]{display:block;min-width:0}
.requirements-table-scroll{overflow-x:auto;max-width:100%;margin:24px 0;border:1px solid var(--rule);border-radius:6px}
.requirements-table{border-collapse:collapse;min-width:900px;width:100%;font-size:18px;line-height:1.5}
.requirements-table caption{text-align:left;padding:16px;background:var(--surface-material);font-weight:650}
.requirements-table th,.requirements-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--rule);padding:16px;overflow-wrap:anywhere}
.requirements-table thead th{font-size:16px;color:var(--muted);background:var(--surface-raised)}
.requirements-table th[scope=row]{min-width:140px}.requirements-table td:nth-child(4){min-width:270px}.requirements-table td:last-child{min-width:130px}
.requirements-card{padding:0 20px;border:1px solid var(--rule);border-radius:6px;background:var(--surface-raised);margin-top:12px}
.requirements-card-content{padding:12px 0 24px;max-width:1000px}
.requirements-card>h3:first-child{font-size:30px;margin-top:0}
.requirements-card summary,.requirements-area summary{cursor:pointer;min-height:52px;padding-block:12px;color:var(--reference);font-weight:650}
.requirements-card summary:focus-visible,.requirements-area summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.requirements-source-list{padding-left:24px}
.requirements-source-list li{margin-block:20px;overflow-wrap:anywhere}
.requirements-source-meta,.requirements-source-url{display:block;color:var(--muted);font-size:16px;line-height:1.6;margin-top:4px;overflow-wrap:anywhere}
.requirements-source-url{font-family:monospace;font-size:14px}
.requirements-area{border-bottom:1px solid var(--rule)}
.requirements-area summary span{font-size:14px;color:var(--muted);margin-left:14px;font-weight:400}
.requirements-area-body{padding:12px 0 24px;max-width:900px}
.requirements-scope{padding-left:18px;border-left:3px solid var(--gold)}
.requirements-next{margin-top:40px;padding:28px;background:var(--surface-material);border:1px solid var(--rule)}
.requirements-code-basis{margin-top:48px;padding-top:32px;border-top:1px solid var(--rule);max-width:960px}
.requirements-directory>summary,.requirements-shared-sources>summary{cursor:pointer;min-height:52px;padding-block:12px;font-weight:650;color:var(--reference)}
.requirements-directory>summary:focus-visible,.requirements-shared-sources>summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
@media(max-width:900px){.requirements-picker>div{grid-template-columns:repeat(2,minmax(0,1fr))}[data-requirements-selected]{grid-template-columns:1fr}}
@media(max-width:600px){.requirements-page{padding-block:36px}.requirements-filters{grid-template-columns:1fr;gap:16px}.requirements-picker>div{grid-template-columns:1fr}.requirements-card{padding:0 16px}.requirements-actions>*{width:100%}.requirements-area summary span{display:block;margin-left:0}.requirements-source-url{font-size:13px}}
@media print{
  @page{margin:12mm}
  html:has([data-requirements]),body:has([data-requirements]){background:#fff!important;color-scheme:light;margin:0}
  body:has([data-requirements]){background:#fff;color:#111;font:11pt/1.5 Arial,sans-serif}
  .requirements-page *{color:#111!important;text-shadow:none!important}
  body:has([data-requirements]) .breadcrumbs{display:none!important}
  body:has([data-requirements]) .site-header,body:has([data-requirements]) .masthead-line,body:has([data-requirements]) footer,body:has([data-requirements]) .skip{display:none!important}
  .requirements-page{width:100%;max-width:none;padding:0;color:#111}
  .requirements-controls,.requirements-actions,.requirements-next,.requirements-copy-fallback,[data-requirements-copy-status],.requirements-enhanced .requirements-directory{display:none!important}
  .requirements-intro{margin-bottom:20px}.requirements-intro h1{font-size:26pt}.requirements-page h2{font-size:19pt}.requirements-page h3{font-size:14pt}
  .requirements-page p,.requirements-page li,.requirements-page summary{font-size:11pt}
  .requirements-page a,.requirements-page .requirements-source-meta,.requirements-page .requirements-source-url{color:#111}
  [data-requirements-selected]{display:block}.requirements-card{background:#fff;border-color:#888;padding:16px;margin-bottom:20px;break-inside:auto}
  .requirements-card:not([open])>:not(summary){display:block!important}.requirements-card>summary{display:block;color:#111}
  .requirements-table-scroll{overflow:visible;border:0}.requirements-table{min-width:0;font-size:9pt}.requirements-table th,.requirements-table td{padding:6px;color:#111;background:#fff!important;min-width:0!important}.requirements-table caption{color:#111;background:#fff}
  .requirements-table{table-layout:fixed;width:100%}.requirements-table th,.requirements-table td{overflow-wrap:normal;word-break:normal}
  .requirements-table thead th{font-size:9pt}
  .requirements-table th:nth-child(1){width:15%}.requirements-table th:nth-child(2){width:21%}.requirements-table th:nth-child(3){width:22%}.requirements-table th:nth-child(4){width:42%}
  .requirements-table th:last-child,.requirements-table td:last-child{display:none}
  .requirements-card>summary{font-size:16pt}.requirements-shared-sources>summary{color:#111;font-size:16pt}
  .requirements-card-content>.requirements-source-list,.requirements-local-source-heading{display:none!important}
  .requirements-source-url{font-size:9pt}.requirements-source-list li{break-inside:avoid}.requirements-comparison{border-color:#888}
}
