/* Article-local components use the existing TuneX365 theme tokens. */
.article-content h2{scroll-margin-top:100px}
.session-note{border-left:3px solid var(--ink);padding:18px 22px;background:var(--soft);margin:28px 0;font-size:.94em;color:var(--muted)}
.session-note strong{color:var(--ink)}
.session-table{overflow-x:auto;margin:28px 0;max-width:100%;border:1px solid var(--line)}
.session-table table{border-collapse:collapse;width:100%;min-width:650px;font-size:14px;line-height:1.65}
.session-table th,.session-table td{padding:14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.session-table th{font-weight:600;color:var(--ink);background:var(--soft)}
.session-table tbody tr:last-child td,.session-table tbody tr:last-child th{border-bottom:0}
.session-diagram{margin:32px 0}
.diagram-scroll{overflow-x:auto;border:1px solid var(--line);background:var(--paper);padding:10px;max-width:100%}
.diagram-scroll svg{display:block;width:100%;min-width:660px;height:auto;color:var(--ink)}
.session-diagram figcaption{margin-top:12px;font-size:13px;line-height:1.65;color:var(--muted)}
.session-table:focus-visible,.diagram-scroll:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.article-content .rules{padding-left:24px}.article-content .rules li{padding-left:6px;margin-bottom:16px}
.section-step{font-weight:400;color:var(--muted)}
.article-content .refs{border-top:1px solid var(--line);margin-top:40px;padding-top:8px;font-size:14px}
.article-content .refs li{margin-bottom:10px}
@media(max-width:760px){.session-note{padding:16px 18px}.diagram-scroll{padding:6px}.session-table table{font-size:13px}.session-table th,.session-table td{padding:12px}}
@media print{.diagram-scroll{overflow:visible;padding:0;border:0}.diagram-scroll svg{min-width:0}.session-table{overflow:visible}.session-table table{min-width:0;font-size:10px}.session-table th,.session-table td{padding:6px}.session-diagram{break-inside:avoid}}
