.case-compare{margin:24px auto;padding:20px;border:1px solid #cbded5;border-radius:16px;background:#fff;color:#173b36;max-width:1120px;box-sizing:border-box}
.case-compare[hidden]{display:none}
.case-compare h2,.case-compare h3,.case-compare h4{margin:0 0 12px;line-height:1.35;text-wrap:balance}
.case-compare p{margin:8px 0;line-height:1.55;text-wrap:pretty}
.case-compare-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;margin-top:20px}
.case-compare-column{min-width:0;padding:16px;border:1px solid #cbded5;border-radius:12px;overflow-wrap:anywhere}
.case-compare-layer{padding-top:16px;margin-top:16px;border-top:1px solid #cbded5}
.case-compare button,.case-compare-add{min-height:44px;min-width:44px;padding:10px 16px;border:1px solid #54786a;border-radius:8px;background:#fff;color:#173b36;font:inherit;line-height:1.4;cursor:pointer;white-space:normal}
.case-compare-add{margin:12px 0}
.case-compare button:focus-visible,.case-compare-add:focus-visible{outline:3px solid #326b54;outline-offset:3px}
.case-compare-add:disabled{opacity:.55;cursor:default}
@media(max-width:390px){.case-compare{padding:12px}.case-compare-column{padding:12px}}
.case-compare-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:12px 0;color:#173b36}
.case-compare-actions p{flex-basis:100%;margin:0;line-height:1.55;text-wrap:pretty}
.case-compare-actions a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;padding:8px;color:#173b36;box-sizing:border-box}
.case-compare-actions [hidden]{display:none}
.case-compare-scroll{overflow-x:auto;max-width:100%;padding:4px;box-sizing:border-box}
.case-compare-grid{grid-template-columns:repeat(var(--compare-columns),minmax(260px,1fr));align-items:start}
.case-compare-selection{grid-template-columns:minmax(0,1fr)}
.case-compare-identifier{font-family:monospace;overflow-wrap:anywhere}
.case-compare-scroll:focus-visible,.case-compare-actions a:focus-visible{outline:3px solid #326b54;outline-offset:2px}
/* Shared content-sized tracks keep the same source layer aligned, including missing data. */
.case-compare-grid{align-items:stretch;row-gap:0}
.case-compare-column{display:contents}
.case-compare-column-header,.case-compare-layer{grid-column:var(--compare-column);min-width:0;padding:16px;border:1px solid #cbded5;overflow-wrap:anywhere}
.case-compare-column-header{border-radius:12px 12px 0 0}
.case-compare-layer{margin:0;border-top:0}
.case-compare-layer:last-child{border-radius:0 0 12px 12px}
.case-compare-selection .case-compare-column-header{border-radius:12px}
@supports(grid-template-rows:subgrid){
 .case-compare-column{display:grid;grid-column:var(--compare-column);grid-row:1 / span var(--compare-rows);grid-template-rows:subgrid;padding:16px}
 .case-compare-column-header,.case-compare-layer{grid-column:1;padding:16px 0;border:0;border-radius:0}
 .case-compare-column-header{padding-top:0}
 .case-compare-layer{border-top:1px solid #cbded5}
}
@media(max-width:390px){.case-compare-column-header,.case-compare-layer{padding:12px}@supports(grid-template-rows:subgrid){.case-compare-column{padding:12px}.case-compare-column-header,.case-compare-layer{padding:16px 0}.case-compare-column-header{padding-top:0}}}
