.cam-tool{--cam-ink:#20354d;--cam-accent:#ae2345;--cam-border:#dce2e8;color:var(--cam-ink);margin:2rem 0;font-family:inherit;line-height:1.6}.cam-tool *{box-sizing:border-box}.cam-tool h2{font-family:inherit;font-weight:700;font-size:clamp(1.5rem,3vw,2rem);line-height:1.2;margin:0 0 .75rem;color:var(--cam-ink)}.cam-intro{margin-bottom:1.5rem}.cam-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px;padding:24px;background:#f6f8fa;border:1px solid var(--cam-border);border-radius:8px}.cam-filters label{display:flex;flex-direction:column;gap:6px;font-size:.875rem;font-weight:600;min-width:0}.cam-filters input,.cam-filters select{width:100%;min-height:46px;border:1px solid #8391a0;background:#fff;color:var(--cam-ink);padding:10px;border-radius:4px;font:inherit;max-width:100%}.cam-filters button{align-self:end;min-height:46px;border:0;background:var(--cam-ink);color:#fff;border-radius:4px;padding:10px 20px;font-family:inherit;font-weight:600;font-size:1rem;cursor:pointer}.cam-filters>a{align-self:center;text-decoration:underline;color:var(--cam-accent)}.cam-count{font-weight:600;margin:24px 0 12px}.cam-scroll{overflow-x:auto;border:1px solid var(--cam-border);border-radius:6px}.cam-tool table{border-collapse:collapse;width:100%;min-width:600px;margin:0;font-size:.9rem}.cam-tool caption{text-align:left;padding:14px;background:#f6f8fa;font-weight:600}.cam-tool td,.cam-tool th{text-align:left;padding:18px 16px;border:0;border-bottom:1px solid var(--cam-border);vertical-align:top}.cam-tool thead th{background:var(--cam-ink);color:#fff;font-weight:600}.cam-tool tbody th{font-weight:600;width:58%}.cam-tool tbody tr:last-child>*{border-bottom:0}.cam-tool tbody tr:nth-child(even){background:#fafbfc}.cam-tool th span{display:block;font-weight:400;font-size:.85rem;margin-top:4px}.cam-tool .cam-score{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--cam-accent)}.cam-tool summary{cursor:pointer;font-weight:500;text-decoration:underline;text-underline-offset:3px;padding:8px 0;min-height:40px}.cam-tool details p{font-size:.875rem;font-weight:400;max-width:75ch}.cam-pages{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin:20px 0}.cam-pages a{color:var(--cam-ink);text-decoration:underline;padding:10px 0;min-height:44px}.cam-method{border-top:1px solid var(--cam-border);margin-top:24px;padding-top:8px}.cam-tool a:focus-visible,.cam-tool button:focus-visible,.cam-tool input:focus-visible,.cam-tool select:focus-visible,.cam-tool summary:focus-visible,.cam-scroll:focus-visible{outline:3px solid #ae2345;outline-offset:3px}@media(max-width:480px){.cam-filters{padding:16px}.cam-tool th,.cam-tool td{padding:14px 12px}}

.cam-school-details{margin-top:8px;font-weight:400}.cam-school-panel{padding:16px;margin-top:6px;border:1px solid var(--cam-border);border-radius:6px;background:#fff}.cam-tool .cam-school-meta,.cam-tool .cam-school-grades,.cam-tool .cam-school-averages{display:grid;gap:10px;margin:0;padding:0}.cam-tool .cam-school-meta{grid-template-columns:repeat(auto-fit,minmax(115px,1fr));padding-bottom:16px;border-bottom:1px solid var(--cam-border)}.cam-tool .cam-school-grades{grid-template-columns:repeat(auto-fit,minmax(95px,1fr))}.cam-tool .cam-school-meta dt,.cam-tool .cam-school-grades dt,.cam-tool .cam-school-averages dt{font-size:12px;line-height:1.5;font-weight:400;color:#526275;margin:0 0 5px}.cam-tool .cam-school-meta dd,.cam-tool .cam-school-grades dd,.cam-tool .cam-school-averages dd{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;margin:0;color:var(--cam-ink)}.cam-tool .cam-school-grades>div{background:#f6f8fa;padding:12px;border-radius:4px}.cam-tool .cam-section-title{font-size:14px;line-height:1.4;margin:18px 0 12px;color:var(--cam-ink);font-weight:600}.cam-tool .cam-school-averages{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px;gap:12px}.cam-tool .cam-school-averages>div{padding:12px;border:1px solid var(--cam-border);border-radius:4px}.cam-tool .cam-school-averages .cam-primary-average{background:#fff6f8;border-color:#f2d8df}.cam-tool .cam-primary-average dd{color:var(--cam-accent)}.cam-tool .cam-school-note{font-size:12px;font-weight:400;line-height:1.6;margin:16px 0 0;color:#526275}.cam-tool:has(.cam-school-details) tbody th{width:64%}
