/* Layout only. Reader typography, controls and separators belong to design-system.css. */
.compare-page{margin:0}
.compare-wrap{box-sizing:border-box;width:100%;max-width:1220px;margin:0 auto;padding:24px 24px 64px}
.compare-root,.compare-root *{box-sizing:border-box}
.compare-root{min-width:0}
.compare-root [hidden]{display:none!important}
.compare-root :is(button,input,select){min-height:44px}
.compare-nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;margin-bottom:24px}
.compare-nav a{display:inline-flex;align-items:center;min-height:44px}
.compare-nav .theme-switch{flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;margin-left:auto}
.compare-head{margin:0 0 24px}
.compare-head h2{margin:0 0 12px}
.compare-head p{margin:0}
.compare-copy{max-width:820px;white-space:pre-line;overflow-wrap:anywhere}
.compare-find{display:grid;gap:8px;max-width:820px;margin:0 0 12px}
.compare-search-row{display:flex;align-items:center;gap:10px;min-width:0}
.compare-input{flex:1 1 0;min-width:0;width:100%;padding:10px 12px}
.compare-search-row .btn{flex:none}
.compare-search-results{max-width:820px;margin:0 0 16px;overflow-wrap:anywhere}
.compare-search-results ul{list-style:none;padding:0;margin:0}
.compare-search-results li{min-width:0;padding:8px 0}
.compare-search-results button{max-width:100%;min-height:44px;white-space:normal;text-align:left;overflow-wrap:anywhere}
.compare-selected{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;min-width:0}
.compare-selected:empty{display:none}
.compare-selected-chip{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:100%;min-height:44px}
.compare-selected-chip>:not(button){min-width:0;overflow-wrap:anywhere}
.compare-remove{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:44px;min-height:44px}
.compare-note{max-width:820px;margin:10px 0;overflow-wrap:anywhere}
.compare-note:empty{display:none}
.compare-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;margin:16px 0 24px}
.compare-actions .btn{min-height:44px}
.compare-mobile-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}
.compare-select-field{display:grid;gap:8px;min-width:0}
.compare-select{min-width:0;width:100%;max-width:100%;min-height:44px;padding:10px 28px 10px 10px;text-overflow:ellipsis}
#compare-content{min-width:0;max-width:100%}
.compare-empty{max-width:820px;margin:24px 0;overflow-wrap:anywhere}
.compare-table-wrap{width:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;margin:20px 0}
.compare-table{width:100%;table-layout:fixed;border-collapse:collapse}
.compare-table caption{text-align:left;margin:0 0 12px}
.compare-table :is(th,td){min-width:0;vertical-align:top;overflow-wrap:anywhere;white-space:normal;text-align:left}
.compare-table tr>:first-child{width:26%}
.compare-table :is(th,td).num{text-align:right;white-space:normal}
.compare-company-head{display:block;min-width:0;overflow-wrap:anywhere}
.compare-company-head a{display:inline-flex;align-items:center;min-height:44px;max-width:100%}
.compare-company-meta,.compare-cell-note,.compare-row-meta{display:block;margin-top:6px;white-space:pre-line;overflow-wrap:anywhere}
.compare-cell-value{display:block;min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;white-space:pre-line;overflow-wrap:anywhere}
.compare-table .num .compare-cell-value{white-space:nowrap;overflow-wrap:normal}
.compare-cell-value .compare-number{display:inline-block;max-width:100%;overflow-x:auto;white-space:nowrap;vertical-align:top}
@media(max-width:640px){
 .compare-wrap{padding:16px 16px 44px}
 .compare-nav{gap:4px 16px;margin-bottom:20px}
 .compare-head{margin-bottom:20px}
 .compare-actions{margin-bottom:20px}
 /* JS renders the metric plus exactly two company columns; never cardify rows. */
 .compare-table tr>:first-child{width:31%}
 .compare-table tr>:not(:first-child){width:34.5%}
 .compare-company-head a{display:flex}
}
@media(max-width:360px){
 .compare-nav{gap:4px 12px}
 .compare-mobile-controls{gap:8px}
}
