body.modal-open{overflow:hidden}.btn{border:0;font:inherit;cursor:pointer}.racer-grid{margin-top:28px}.roster-group+.roster-group{margin-top:42px}.roster-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:16px}.roster-heading h3{font-size:clamp(24px,3vw,32px);line-height:1}.roster-heading p{max-width:560px;margin:0;color:var(--gray);font-size:14px}.roster-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.roster-card{display:flex;align-items:stretch;min-height:108px;border:1px solid var(--line);background:#fff;overflow:hidden}.roster-card-build{background:var(--bg-2)}.roster-media{display:flex;flex:0 0 112px;min-height:106px;overflow:hidden;background:#111}.roster-media img{display:block;width:100%;height:100%;object-fit:cover}.roster-avatar{display:grid;place-items:center;width:100%;min-height:106px;background:#111;color:#fff;font-size:15px;font-weight:800;letter-spacing:.04em}.roster-card-build .roster-avatar{background:var(--red)}.roster-copy{align-self:center;min-width:0;padding:14px;flex:1}.roster-copy h4{font-size:19px;line-height:1.1}.roster-copy p{margin:5px 0 0;color:var(--gray);font-size:12px;font-weight:600}.roster-build-btn{margin-top:10px;padding:8px 11px;font-size:12px;line-height:1.1;white-space:nowrap}.build-modal{display:none;position:fixed;inset:0;z-index:1100;background:rgba(0,0,0,.78);padding:28px;overflow:auto}.build-modal.open{display:block}.build-modal-panel{background:#fff;max-width:900px;margin:0 auto;position:relative;box-shadow:0 18px 60px rgba(0,0,0,.4)}.build-modal-close{position:absolute;z-index:2;top:10px;right:12px;border:0;background:rgba(0,0,0,.7);color:#fff;width:42px;height:42px;font-size:30px;line-height:1;cursor:pointer}.build-hero{display:grid;grid-template-columns:1.15fr 1fr;background:#111;color:#fff}.build-hero>img{width:100%;height:100%;min-height:280px;object-fit:cover}.build-hero-copy{padding:35px;align-self:center}.build-hero-copy h2{font-size:clamp(28px,5vw,42px);line-height:1.05}.build-hero-copy p{color:#ccc}.build-hero .racer-meta span{background:#222;border-color:#444}.build-photo-credit{font-size:13px;color:#ccc;margin-top:14px}.build-log-link{margin-top:8px}.build-log-link a{color:var(--red);font-size:14px;font-weight:800;text-decoration:underline;text-underline-offset:3px}.build-note{padding:18px 28px;background:#fdf1f2;border-bottom:1px solid #efd4d9;font-weight:600}.build-sections{padding:12px 28px 32px}.build-section{border-bottom:1px solid var(--line)}.build-section summary{cursor:pointer;font-size:21px;font-weight:800;padding:20px 0;list-style:none}.build-section summary::-webkit-details-marker{display:none}.build-section summary::after{content:'+';float:right;color:var(--red)}.build-section[open] summary::after{content:'−'}.build-part{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-top:1px solid var(--line)}.build-detail{font-size:14px;color:var(--gray);margin-top:2px}.build-buy-link{display:inline-block;font-size:13px;font-weight:700;margin-top:6px}.build-badges{display:flex;justify-content:flex-end;align-items:flex-start;gap:5px;flex-wrap:wrap}.build-badge{font-size:10px;font-weight:800;letter-spacing:.05em;border:1px solid #bbb;padding:3px 6px;white-space:nowrap}.build-badge:first-child{border-color:var(--red);color:var(--red)}.build-diff-launch{margin-top:30px;text-align:center}.diff-launch-btn{min-width:210px}.diff-modal-panel{max-width:1180px}.diff-modal-content{padding:34px}.diff-modal-content h2{font-size:36px;line-height:1.05}.diff-modal-content>p{color:var(--gray)}.diff-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:14px;margin:22px 0}.diff-controls label{font-weight:700;font-size:13px}.diff-controls select{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #bbb;background:#fff;font:inherit}.diff-vs{font-weight:800;padding-bottom:10px}.diff-toggles{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:-4px 0 20px}.diff-status-toggle{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:13px;font-weight:700;cursor:pointer}.diff-status-toggle input{width:16px;height:16px;accent-color:var(--red)}.diff-results{margin-top:4px}.diff-table-wrap{overflow-x:auto;border:1px solid var(--line)}.diff-table-portrait{display:none}.diff-table{width:100%;min-width:760px;border-collapse:collapse;table-layout:fixed;background:#fff}.diff-table th,.diff-table td{padding:16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.diff-table th:last-child,.diff-table td:last-child{border-right:0}.diff-table tbody tr:last-child th,.diff-table tbody tr:last-child td{border-bottom:0}.diff-table thead th{background:#111;color:#fff;font-size:16px}.diff-table thead th:first-child{width:24%}.diff-table thead small{display:block;margin-top:3px;color:#bbb;font-size:11px;font-weight:600}.diff-table tbody th{background:var(--bg-2)}.diff-table tbody th span{display:block;font-size:10px;text-transform:uppercase;color:var(--gray);letter-spacing:.06em;margin-bottom:4px}.diff-table tbody th strong{text-transform:capitalize}.diff-part{font-size:14px;line-height:1.45}.diff-status{display:inline-block;margin-top:8px;font-size:10px;font-weight:800;border:1px solid var(--red);color:var(--red);padding:2px 5px}.diff-none{color:#999}.diff-table tr.diff-match th,.diff-table tr.diff-match td,.diff-table th.diff-match,.diff-table td.diff-match{background:#f3f3f3;color:#888}.diff-table tr.diff-match .diff-part,.diff-table td.diff-match .diff-part{color:#888}.diff-table tr.diff-match .diff-status,.diff-table td.diff-match .diff-status{border-color:#aaa;color:#888}.diff-empty{padding:24px;border:1px solid var(--line);color:var(--gray)}@media(max-width:700px){.roster-heading{display:block}.roster-heading p{margin-top:7px}.roster-list{grid-template-columns:1fr 1fr}.roster-card{min-height:0;flex-direction:column}.roster-media{width:100%;flex:0 0 96px;min-height:96px}.roster-avatar{min-height:96px}.roster-copy{align-self:stretch;padding:12px 13px 14px}.diff-controls{grid-template-columns:1fr}.diff-vs{padding:0}.diff-modal-content{padding:24px 18px}.diff-modal-content h2{font-size:30px}.diff-table-wrap{margin-left:-18px;margin-right:-18px;border-left:0;border-right:0}.build-modal{padding:0}.build-modal-panel{min-height:100vh}.build-hero{grid-template-columns:1fr}.build-hero>img{min-height:210px;max-height:280px}.build-hero-copy{padding:24px}.build-sections{padding:8px 20px 28px}.build-part{flex-direction:column;gap:8px}.build-badges{justify-content:flex-start}}

@media (max-width:700px) and (orientation:portrait){.diff-table-wide{display:none}.diff-table-portrait{display:block}.diff-table-transposed{width:max-content;min-width:100%;table-layout:auto}.diff-table-transposed th,.diff-table-transposed td{width:220px;min-width:220px}.diff-table-transposed thead th{background:#111}.diff-table-transposed thead th span{display:block;font-size:10px;text-transform:uppercase;color:#bbb;letter-spacing:.06em;margin-bottom:4px}.diff-table-transposed thead th strong{text-transform:capitalize}.diff-table-transposed th:first-child,.diff-table-transposed tbody th{position:sticky;left:0;z-index:1;width:132px;min-width:132px}.diff-table-transposed thead th:first-child{z-index:2}.diff-table-transposed tbody th{background:var(--bg-2)}.diff-table-transposed tbody th small{display:block;margin-top:4px;color:var(--gray);font-size:10px;font-weight:600}}

.build-gallery{padding:28px;border-bottom:1px solid var(--line)}.build-gallery h3{font-size:25px;margin-bottom:18px}.build-gallery-grid{columns:2;column-gap:16px}.build-gallery-card{break-inside:avoid;margin:0 0 16px;background:var(--bg-2);border:1px solid var(--line)}.build-gallery-card img{display:block;width:100%;height:auto}.build-gallery-card figcaption{padding:11px 12px}.build-gallery-card figcaption strong{display:block;font-size:14px;line-height:1.3}.build-gallery-card figcaption span{display:block;margin-top:5px;color:var(--gray);font-size:11px}.build-gallery-card figcaption a{font-weight:700}@media(max-width:700px){.build-gallery{padding:24px 20px}.build-gallery-grid{columns:1}}

@media(max-width:430px){.roster-list{grid-template-columns:1fr}.roster-card{min-height:104px;flex-direction:row}.roster-media{width:auto;flex:0 0 112px;min-height:102px}.roster-avatar{min-height:102px}.roster-copy{align-self:center;padding:12px}}
/* Car stories are separate from full, comparable build sheets. */
.roster-actions{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-top:10px}
.roster-story-btn{background:#fff;color:var(--red);border:1px solid var(--red);padding:7px 10px;font-size:12px;line-height:1.3;text-align:left}
.roster-story-btn:hover{background:#fff2f3}
.roster-story-btn:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.roster-build-pending{background:#eee;color:#666;border:1px solid #ccc;padding:7px 10px;font-size:11px;line-height:1.4;text-align:left;white-space:normal;max-width:100%;cursor:default;opacity:1}
.roster-card[id]{scroll-margin-top:100px}
.car-story-mode .build-modal-panel{max-width:680px}
.car-story{padding:36px 28px}
.car-story h2{font-size:32px;line-height:1.1;padding-right:40px;margin-top:8px}
.car-story-model{color:var(--gray);margin-top:8px;font-weight:600}
.car-story-text{font-size:16px;line-height:1.65;margin:20px 0}
.car-story-source{display:block;font-size:13px;font-weight:700;margin:0 0 18px;text-decoration:underline}
.car-story-photos{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px}
.car-story-photos figure{margin:0;min-width:0}
.car-story-photos img{display:block;width:100%;height:auto}
.car-story-photos figcaption{font-size:12px;line-height:1.5;color:var(--gray);padding-top:8px}
.car-story-photos figcaption span{display:block}
@media(max-width:700px){.car-story{padding:30px 20px}.car-story-photos{grid-template-columns:1fr}}
