.stem-guide h1 { font-size: clamp(2.1rem,4.5vw,3.6rem); line-height: 1.08; letter-spacing: -.04em; }
.stem-guide .article-answer { max-width: 66ch; }
.stem-guide .skip-article { position: absolute; left: 16px; top: -100px; z-index: 10; background: var(--accent); color: #10231d; padding: 12px 16px; border-radius: 8px; }
.stem-guide .skip-article:focus { top: 12px; }
.stem-guide :is(a,summary,[tabindex]):focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
.stem-checks { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin: 1.5rem 0; }
.stem-checks section { padding: 22px; background: var(--panel); border: 1px solid var(--line); border-radius: 14px; }
.stem-checks .card-label { color: var(--accent); font-size: .75rem; letter-spacing: .1em; margin: 0 0 .8rem; }
.stem-checks h3 { font-size: 1.12rem; margin-top: 0; }
.stem-checks p:last-child { font-size: .94rem; margin-bottom: 0; }
.stem-figure { margin: 1.6rem 0; }
.stem-diagram-scroll { max-width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: 14px; scrollbar-color: var(--accent) var(--panel); }
.stem-figure img { display: block; width: 100%; min-width: 720px; height: auto; }
.stem-guide :is(figcaption,.table-hint) { color: var(--muted); font-size: .86rem; line-height: 1.6; }
.stem-guide .result-table-wrap { max-width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: 14px; scrollbar-color: var(--accent) var(--panel); }
.stem-guide table { width: 100%; min-width: 710px; border-collapse: collapse; font-size: .87rem; font-variant-numeric: tabular-nums; }
.stem-guide caption { text-align: left; padding: 16px; color: var(--muted); font-size: .78rem; }
.stem-guide :is(th,td) { padding: 14px 15px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.stem-guide thead { background: var(--panel); }
.stem-guide th small { color: var(--muted); font-weight: 400; }
.stem-guide tbody tr:first-child { background: rgba(110,242,194,.045); }
.stem-guide :is(tbody th,thead th:first-child) { position: sticky; left: 0; background: #102029; z-index: 1; }
.stem-findings li { margin-bottom: .8rem; }
.stem-fingerprint { padding: 16px; border: 1px solid var(--line); border-radius: 12px; margin: 1rem 0; }
.stem-guide summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; color: var(--ink); }
.stem-fingerprint code { display: block; overflow-wrap: anywhere; font-size: .8rem; }
.stem-guide .file-links a { min-height: 44px; display: inline-flex; align-items: center; }
@media(max-width:680px) { .stem-checks { grid-template-columns: 1fr; } .stem-checks section { padding: 18px; } }
@media(prefers-reduced-motion:reduce) { .stem-guide *, .stem-guide *::before, .stem-guide *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
