.toc{max-height:calc(100vh - 118px);max-height:calc(100dvh - 118px);overflow-y:auto;scrollbar-width:thin;padding-inline:8px;margin-inline:-8px}.toc-group{margin:20px 0 5px!important;font:11px/1.5 var(--font-mono)!important;letter-spacing:.025em;color:var(--muted)!important}.mobile-toc{display:none;padding:16px 20px;margin-bottom:26px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.mobile-toc summary{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:16px;font-weight:500;list-style:none}.mobile-toc summary::-webkit-details-marker{display:none}.mobile-toc[open] summary .icon{transform:rotate(180deg)}.mobile-toc nav{display:grid;gap:4px;padding-top:16px}.mobile-toc nav a{display:flex;gap:12px;padding:8px 0;font-size:16px;line-height:1.5;color:var(--ink-2)}.mobile-toc nav a span{font:14px/1.7 var(--font-mono);color:var(--muted)}.mobile-toc nav a.active{color:var(--link)}.comparison-entry{margin-top:30px}.selection-group{margin-top:62px;padding-top:36px;border-top:1px solid var(--border);min-width:0}.group-heading h2{max-width:660px}.group-heading>p:last-child{margin-bottom:28px}.service-section{margin-top:36px;scroll-margin-top:110px}.service-section h3{margin:10px 0 18px;font-size:26px;line-height:1.35;letter-spacing:-.025em;color:var(--ink)}.service-section .section-kicker{margin-bottom:10px}.service-section+.service-section{margin-top:42px}.selection-map{margin:26px 0 34px;border:1px solid var(--border);border-radius:14px;background:var(--surface);overflow:hidden}.selection-map h3{margin:0;padding:22px 22px 10px;font-size:21px;line-height:1.4;color:var(--ink)}.matrix-scroll{max-width:100%;overflow-x:auto;scrollbar-width:thin}.matrix-scroll table{width:100%;min-width:600px;border-collapse:collapse;font-size:15px;line-height:1.65}.matrix-scroll caption{padding:0 22px 17px;text-align:left;font-size:14px;line-height:1.6;color:var(--muted)}.matrix-scroll th,.matrix-scroll td{padding:16px 18px;border-top:1px solid var(--border);vertical-align:top;text-align:left}.matrix-scroll thead th{background:var(--blue-soft);color:var(--ink);font-weight:600}.matrix-scroll th:first-child{width:29%}.matrix-scroll tbody th{font-weight:500;color:var(--ink)}.matrix-scroll td{width:35.5%;color:var(--ink-2)}.matrix-scroll tbody td:last-child{background:var(--panel)}.selection-map figcaption{margin:0;padding:16px 22px;border-top:1px solid var(--border);font-size:14px;line-height:1.6;color:var(--muted)}.example-output{margin:20px 0 24px;padding:22px 25px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:12px;background:var(--surface)}.example-output p{margin:0;font-size:17px;line-height:1.8}.editorial-list{margin:18px 0 24px;padding-left:24px;color:var(--ink-2)}.editorial-list li{margin:10px 0;font-size:17px;line-height:1.75}.group-transition{margin-top:26px;padding-top:22px;border-top:1px solid var(--border);color:var(--ink-2)}.acceptance-notes{margin:28px 0}.acceptance-notes h3{margin:0 0 15px;font-size:21px;line-height:1.4}.acceptance-notes dl{margin:0}.acceptance-notes dl>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;padding:14px 0;border-top:1px solid var(--border)}.acceptance-notes dt{font-size:16px;font-weight:600;line-height:1.7;color:var(--ink)}.acceptance-notes dd{margin:0;font-size:16px;line-height:1.75;color:var(--ink-2)}.source-list{list-style:none;padding:0;margin:26px 0}.source-list li{padding:15px 0;border-bottom:1px solid var(--border);margin:0}.source-list a{color:var(--link);text-decoration:underline;text-underline-offset:3px;font-weight:500}.source-list span{display:block;font-size:15px;color:var(--muted);line-height:1.6;margin-top:3px}.code-foot{flex-wrap:wrap;gap:6px}.code-foot>span:first-child{max-width:100%}@media (max-width:1020px){.mobile-toc{display:block}}@media (max-width:760px){.selection-group{margin-top:48px;padding-top:28px}.service-section h3{font-size:24px}.source-list span{font-size:14px}.source-list a{overflow-wrap:anywhere}.example-output{padding:18px 20px}}@media (max-width:600px){.selection-map h3{padding:18px 18px 10px}.selection-map figcaption{padding:14px 18px}.matrix-scroll caption{padding-inline:18px}.service-section{margin-top:30px}}@media (max-width:480px){.acceptance-notes dl>div{grid-template-columns:1fr;gap:4px}.service-section h3{font-size:22px}}