.al-page { --sg-bg:#20272d; --sg-muted:#bbc5cc; --sg-ink:#f0f3f3; }
.al-page #main-nav,.al-page .sg-index { background:#20272df5; }
.al-page .sg-hero h1 { font-size:clamp(72px,8.4vw,128px); }
.al-page .sg-cites { color:#b5cddd; }
.al-page .sg-grade-id h3 { font-size:clamp(40px,4.5vw,67px); }
.al-page .sg-family-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
.al-controls { border:1px solid #586975; padding:25px; background:#1b232b; }
.al-selects { display:grid; grid-template-columns:1fr 1fr auto; gap:20px; align-items:end; }
.al-selects label { display:block; color:#c4d0d8; font-size:12px; line-height:1.5; }
.al-selects select { appearance:auto; display:block; width:100%; margin-top:9px; padding:13px 35px 13px 13px; border:1px solid #687f8e; border-radius:0; background:#263641; color:#fff; font:16px Inter,Arial,sans-serif; cursor:pointer; }
.al-selects option { color:#fff; background:#263641; }
.al-controls button { padding:12px 16px; border:1px solid #6a7e8b; border-radius:0; background:transparent; color:#dce5eb; font:12px Inter,Arial,sans-serif; cursor:pointer; min-height:44px; }
.al-controls button:hover,.al-controls button[aria-pressed=true] { background:#bddcef; color:#17242e; border-color:#bddcef; }
.al-controls button:disabled { opacity:.45; cursor:default; background:transparent; color:#dce5eb; border-color:#6a7e8b; }
.al-presets { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:20px; }
.al-presets>span { color:#aabac5; font-size:11px; margin-right:5px; }
.al-view { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:36px; align-items:center; padding:25px 0 30px; }
.al-plot { min-width:0; margin:0; }
.al-plot svg { display:block; width:100%; height:auto; overflow:visible; }
.al-radar-grid { fill:none; stroke:#586a79; stroke-width:1; }
.al-radar-spoke { stroke:#536573; stroke-width:1; }
.al-radar-label { fill:#e7eef3; font:20px Inter,Arial,sans-serif; }
.al-radar-tick { fill:#adbdc9; font:10px 'Share Tech Mono',monospace; }
.al-trace polygon { stroke-width:2.5; vector-effect:non-scaling-stroke; }
.al-trace-0 polygon { fill:#85cef522; stroke:#85cef5; }
.al-trace-0 circle { fill:#b8e6ff; stroke:#152b38; stroke-width:1; }
.al-trace-1 polygon { fill:#f3b98a0d; stroke:#f3b98a; stroke-dasharray:7 5; }
.al-trace-1 rect { fill:#f3b98a; stroke:#382a20; stroke-width:1; }
.al-legend { display:flex; flex-wrap:wrap; gap:12px 24px; justify-content:center; font-size:13px; color:#dde8ee; }
.al-legend>span { display:flex; align-items:center; gap:9px; }
.al-legend i { width:26px; border-top:3px solid #85cef5; }
.al-legend .al-legend-1 i { border-top:3px dashed #f3b98a; }
.al-chart-caption { max-width:490px; margin:16px auto 0; font-size:12px; color:#b7c6d1; line-height:1.7; text-align:center; }
.al-summaries { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-self:stretch; padding-top:27px; }
.al-summary { padding:18px 0 0; border-top:2px solid #85cef5; min-width:0; }
.al-summary-1 { border-color:#f3b98a; }
.al-summary-label { color:#afc1ce; font:10px/1.5 'Share Tech Mono',monospace; text-transform:uppercase; margin:0 0 18px; }
.al-summary h3 { font-size:clamp(21px,2vw,29px); letter-spacing:-.04em; margin:0 0 22px; font-weight:500; white-space:nowrap; }
.al-summary-yield { color:#b7c6d1; font-size:12px; }
.al-summary-yield strong { color:#e5edf2; font-size:30px; font-weight:400; }
.al-summary-yield span { display:block; margin-top:5px; font-size:10px; }
.al-summary dl { margin:25px 0; }
.al-summary dt { font-size:12px; color:#d5e7f1; margin-top:24px; }
.al-summary dd { margin:9px 0 0; font-size:13px; line-height:1.7; color:#bbc6ce; }
.al-summary a { font-size:11px; text-underline-offset:4px; }
.al-summary small { display:block; margin-top:9px; color:#9fb2c0; font-size:10px; line-height:1.6; }
.al-single { grid-template-columns:1fr; }
.al-method { border:1px solid #526570; padding:0 24px; margin-top:25px; }
.al-method summary { padding:22px 0; color:#dce8ee; font-size:14px; cursor:pointer; }
.al-method p { font-size:14px; color:#bccad3; line-height:1.8; max-width:1000px; margin:0 0 22px; }
.al-method ul { padding-left:22px; color:#bccad3; font-size:13px; line-height:1.85; }
.al-method strong { color:#eef4f7; font-weight:500; }
.al-page .al-raw-table table { min-width:1020px; }
.al-page .al-raw-table th,.al-page .al-raw-table td { padding:15px 16px; font-size:12px; }
.al-page .al-raw-table th { width:auto; min-width:0; }
.al-page .al-raw-table tbody th { font-size:14px; }
.al-raw-table td small { display:block; font-size:10px; max-width:210px; margin-top:7px; }
.al-method .al-raw-table caption { background:transparent; }
.al-status { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.al-page .sg-family>strong { font-size:25px; }
.al-page .sg-family h3 { min-height:52px; }
@media(max-width:1100px) {
  .al-view { grid-template-columns:minmax(0,1fr); gap:0; }
  .al-plot { max-width:680px; width:100%; margin:auto; }
  .al-summaries { padding-top:30px; gap:30px; }
  .al-summary h3 { font-size:29px; }
  .al-summary dd { font-size:15px; }
  .al-page .sg-family-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:700px) {
  .al-page .sg-hero h1 { font-size:clamp(58px,17vw,105px); }
  .al-controls { padding:18px; }
  .al-selects { grid-template-columns:1fr; gap:16px; }
  .al-selects button { justify-self:start; }
  .al-presets { align-items:stretch; gap:8px; }
  .al-presets>span { width:100%; margin-bottom:4px; }
  .al-controls button { font-size:11px; }
  .al-radar-label { font-size:22px; }
  .al-radar-tick { font-size:13px; }
  .al-summaries { gap:18px; }
  .al-summary h3 { font-size:21px; }
  .al-summary dd { font-size:13px; }
  .al-summary-yield strong { font-size:26px; }
  .al-method { padding:0 17px; }
  .al-method p { font-size:13px; }
  .al-page .sg-family-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media print {
  .al-controls { display:none !important; }
  .al-view { grid-template-columns:1fr; }
  .al-plot { max-width:430px; }
  .al-radar-label,.al-radar-tick { fill:#222; }
  .al-radar-grid,.al-radar-spoke { stroke:#888; }
  .al-trace-0 polygon { stroke:#166488; fill:#16648815; }
  .al-trace-1 polygon { stroke:#96520c; fill:none; }
  .al-summaries { break-inside:avoid; }
}
