.comparison-page{max-width:1280px;min-width:0;font-family:var(--sans);color:var(--ink)}
.comparison-header .page-heading{max-width:960px;margin:0;padding:20px 0 8px}
.comparison-header h1{font-size:clamp(2rem,4vw,3rem);margin-bottom:12px}
.comparison-header .eyebrow{margin-bottom:8px}
.comparison-header .standfirst{font-size:1rem;line-height:1.6;max-width:80ch;margin-bottom:8px}
.comparison-add{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-block:12px}
.comparison-add label{display:grid;gap:4px;flex:1 1 260px;font-size:.875rem;font-weight:600;min-width:0}
.comparison-add input{width:100%;min-height:44px;box-sizing:border-box;padding:8px 12px;font:1rem/1.5 var(--sans);border:1px solid var(--line);background:var(--paper);color:var(--ink)}
.comparison-page button,.comparison-model-button,.comparison-tray button{min-height:44px;padding:8px 12px;font:600 .875rem/1.5 var(--sans);border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;overflow-wrap:anywhere}
.comparison-model-button{display:block;margin:8px 0}
.comparison-model-button[aria-pressed=true]{border-color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.comparison-page .comparison-scope{padding:12px 0;margin:12px 0;border:0;border-block:1px solid var(--line);background:transparent}
.comparison-scope h2{font:600 .875rem/1.5 var(--sans);margin:0 0 4px}
.comparison-scope p{font-size:.875rem;line-height:1.6;margin:0 0 4px;max-width:110ch}
.comparison-status{font:.875rem/1.6 var(--sans);min-height:24px;margin:8px 0}
.comparison-actions{display:flex;gap:8px 12px;align-items:center;flex-wrap:wrap;margin-block:12px}
.comparison-actions label,.comparison-columns label{display:flex;gap:8px;align-items:center;min-height:44px;font-size:.875rem}
.comparison-columns{border:0;border-bottom:1px solid var(--line);margin:0 0 12px;padding:4px 0 8px;min-width:0}
.comparison-columns legend{font-size:.875rem;font-weight:600}
.comparison-columns>div{display:flex;flex-wrap:wrap;gap:4px 24px}
.comparison-page input[type=checkbox]{width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:0;accent-color:var(--accent)}
.comparison-scroll-hint{font:.875rem/1.6 var(--sans);color:var(--muted);margin-bottom:8px}
.comparison-table-wrap{max-width:100%;overflow:auto;overscroll-behavior-inline:contain;border:1px solid var(--line);scroll-padding-inline-start:10rem}
.comparison-table-wrap table{border-collapse:separate;border-spacing:0;width:100%;min-width:420px;table-layout:fixed;font:.875rem/1.6 var(--sans);font-variant-numeric:tabular-nums}
.comparison-table-wrap th,.comparison-table-wrap td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere;min-width:0}
.comparison-table-wrap th{text-transform:none;letter-spacing:normal;font-size:inherit}
.comparison-table-wrap th:first-child{width:10rem;position:sticky;left:0;background:var(--paper);z-index:1;box-shadow:1px 0 var(--line)}
.comparison-table-wrap thead th{background:var(--paper)}
.comparison-table-wrap thead a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.comparison-table-wrap select{display:block;width:100%;max-width:100%;min-height:44px;font:.875rem/1.5 var(--sans);margin:8px 0;padding:6px;background:var(--paper);color:var(--ink);border:1px solid var(--line)}
.comparison-table-wrap caption{text-align:left;padding:12px;font-weight:600}
.comparison-sources{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:24px;margin-block:24px}
.comparison-source{border-top:1px solid var(--line);padding:16px 0;overflow-wrap:anywhere}
.comparison-source h2{font:600 1rem/1.5 var(--sans);margin:0 0 8px}
.comparison-source p,.comparison-source>a{font-size:.875rem;line-height:1.65;margin-bottom:8px}
.comparison-source a{text-decoration:underline;text-underline-offset:3px}
.comparison-tray{position:fixed;inset:auto 0 0;border-top:1px solid var(--ink);background:var(--paper);color:var(--ink);padding:8px max(16px,calc((100vw - 1280px)/2)) max(8px,env(safe-area-inset-bottom));z-index:5;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:4px 16px;align-items:center;font:.875rem/1.5 var(--sans)}
.comparison-tray[hidden],.comparison-tray [hidden]{display:none}
.comparison-tray ul{display:flex;gap:8px 16px;overflow-x:auto;overscroll-behavior-inline:contain;padding:4px;margin:0;list-style:none;min-width:0}
.comparison-tray li{display:flex;gap:8px;align-items:center;flex:0 0 auto;max-width:24rem;overflow-wrap:anywhere}
.comparison-tray li button{flex-shrink:0}
.comparison-tray>a{min-height:44px;display:inline-flex;align-items:center;font-weight:600;text-decoration:underline;text-underline-offset:4px}
.comparison-tray p{margin:0;grid-column:1/-1;font-size:.875rem;overflow-wrap:anywhere}
.comparison-tray-space{height:var(--comparison-tray-height,0px)}
html:has(.comparison-tray:not([hidden])){scroll-padding-bottom:calc(var(--comparison-tray-height,0px) + 16px)}
body:has(.comparison-tray:not([hidden])) :is(a,button,input,select,textarea,[tabindex]){scroll-margin-bottom:calc(var(--comparison-tray-height,0px) + 16px)}
.comparison-tray :focus-visible,.comparison-tray:focus-visible,.comparison-model-button:focus-visible,.comparison-page :focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:900px){.comparison-tray{grid-template-columns:minmax(0,1fr) auto auto;gap:4px 12px}.comparison-tray ul{grid-row:2;grid-column:1/-1}}
@media(max-width:600px){.comparison-header .page-heading{padding-top:16px}.comparison-table-wrap th:first-child{width:7rem}.comparison-table-wrap{scroll-padding-inline-start:7rem}.comparison-add button{width:100%}.comparison-tray{grid-template-columns:minmax(0,1fr) auto;padding-inline:12px}.comparison-tray>a{grid-column:1;grid-row:1}.comparison-tray>button{grid-column:2;grid-row:1}.comparison-tray>strong{grid-column:1/-1;font-size:.75rem}.comparison-tray ul{grid-row:3}.comparison-tray li{max-width:18rem}}
/* At high zoom/short viewport heights, leave the tray in flow for reading space. */
@media(max-height:440px){.comparison-tray{position:static;margin-top:16px}.comparison-tray-space{display:none}html:has(.comparison-tray:not([hidden])){scroll-padding-bottom:16px}body:has(.comparison-tray:not([hidden])) :is(a,button,input,select,textarea,[tabindex]){scroll-margin-bottom:16px}}
@media print{.comparison-add,.comparison-actions,.comparison-columns,.comparison-tray,.comparison-tray-space,.comparison-scroll-hint,.comparison-status,.comparison-table-wrap select,.comparison-table-wrap button{display:none!important}.comparison-page{max-width:none}.comparison-table-wrap{overflow:visible;border:0}.comparison-table-wrap table{min-width:0!important;font-size:9pt}.comparison-table-wrap th:first-child{position:static;width:22%}.comparison-table-wrap th,.comparison-table-wrap td{padding:5px}.comparison-source{break-inside:avoid}.comparison-source a:after{content:' (' attr(href) ')';font-size:8pt}.comparison-table-wrap caption{padding:5px}.comparison-table-wrap tr{break-inside:avoid}}
