:root { --ink:#151515; --red:#e7472f; --paper:#f4f1eb; --line:#d8d3c9; --cream:#fffdf8; } *{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif} .topbar{height:78px;padding:0 clamp(22px,5vw,76px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:var(--cream);position:sticky;top:0;z-index:5}.brand{color:var(--ink);font:800 23px/1 Manrope;text-decoration:none;letter-spacing:-1.5px}.brand span{color:var(--red)}nav{display:flex;gap:30px}nav a{color:#777;text-decoration:none;font-size:14px;font-weight:700}nav a.active,nav a:hover{color:var(--ink)}.button{font:700 13px Manrope;padding:13px 18px;border:0;cursor:pointer;transition:transform .18s,background .18s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:white}.collection-section,.print-section{padding:clamp(58px,9vw,120px) clamp(22px,8vw,128px)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px}.eyebrow{font:500 11px 'DM Mono',monospace;letter-spacing:.08em;margin:0 0 12px;color:#716e68}.section-heading h1,.section-heading h2,.print-section h2,dialog h2{font-size:clamp(38px,5.2vw,76px);line-height:.95;letter-spacing:-.075em;margin:0}.collection-count{display:flex;flex-direction:column;border-left:1px solid var(--ink);padding-left:14px;min-width:130px}.collection-count strong{font-size:30px;letter-spacing:-.08em}.collection-count span{font-size:12px;color:#716e68}.toolbar{margin:62px 0 28px;display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding-bottom:16px}.search{display:flex;gap:9px;align-items:center;color:#777}.search span{font-size:27px;line-height:0}.search input,select{border:0;background:transparent;font:500 14px Manrope;outline:0}.search input{width:240px}.car-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.car{background:var(--cream);position:relative;animation:appear .4s both}.car-image{height:240px;background:#ded9d0;overflow:hidden;position:relative}.car-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.car:hover img{transform:scale(1.04)}.number{position:absolute;top:12px;left:13px;background:var(--red);color:white;border-radius:50%;height:30px;width:30px;display:grid;place-items:center;font:11px 'DM Mono'}.car-info{padding:16px 18px 19px;display:flex;justify-content:space-between;align-items:baseline}.car-info h3{font-size:16px;letter-spacing:-.04em;margin:0}.car-info p{font:12px 'DM Mono';margin:0;color:#6f6b63}.delete{position:absolute;top:11px;right:12px;border:0;background:#fff;color:#777;width:28px;height:28px;font-size:20px;cursor:pointer;opacity:0;transition:opacity .2s}.car:hover .delete{opacity:1}.empty-state{background:none;border:1px dashed #999;width:100%;padding:50px;font:600 16px Manrope;cursor:pointer}.race-section{background:var(--ink);color:var(--cream);padding:clamp(58px,9vw,120px) clamp(22px,8vw,128px)}.inverse .eyebrow{color:#aaa}.race-empty{margin-top:55px;border-top:1px solid #4b4b4b;padding:28px 0;color:#bdbdbd;font-size:15px}.button-light{background:var(--cream);color:var(--ink)}.groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:54px}.group{border-top:2px solid var(--red);padding-top:13px}.group h3{font-size:13px;margin:0 0 14px}.race-row{display:grid;grid-template-columns:1fr 75px;align-items:center;border-top:1px solid #383838;padding:11px 0;font-size:14px}.race-row input{width:58px;justify-self:end;background:#292929;border:1px solid #454545;color:#fff;padding:7px;font:13px 'DM Mono';outline-color:var(--red)}.ranking{border-top:1px solid #686868;margin-top:56px;padding-top:25px;max-width:560px}.ranking ol{padding:0;list-style:none;counter-reset:rank}.ranking li{counter-increment:rank;display:flex;justify-content:space-between;border-bottom:1px solid #383838;padding:10px 0;font-size:15px}.ranking li::before{content:counter(rank, decimal-leading-zero);color:var(--red);font:11px 'DM Mono';margin-right:12px}.ranking li span:first-of-type{flex:1}.ranking li b{font:12px 'DM Mono'}.print-section{display:flex;justify-content:space-between;align-items:end}.button-red{background:var(--red);color:white}.button-red span{font-size:20px;margin-left:18px}.print-section h2{font-size:clamp(35px,4.5vw,64px)}dialog{border:0;padding:0;width:min(470px,calc(100% - 30px));background:var(--cream);box-shadow:0 24px 80px #0006}dialog::backdrop{background:#0009}dialog form{padding:30px}dialog h2{font-size:40px;margin-bottom:36px}.dialog-top{display:flex;justify-content:space-between}.close{border:0;background:none;font-size:30px;cursor:pointer;line-height:.7}dialog label{display:block;font-size:12px;font-weight:700;margin:18px 0}dialog input{width:100%;display:block;background:#f0ede7;border:1px solid transparent;padding:13px;margin-top:7px;font:14px Manrope;outline-color:var(--red)}dialog .button{width:100%;margin-top:18px}@keyframes appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(max-width:650px){.topbar{height:66px}.topbar nav{display:none}.topbar .button{padding:10px}.section-heading,.print-section{align-items:flex-start;flex-direction:column}.toolbar{margin-top:40px}.car-grid{grid-template-columns:1fr 1fr;gap:10px}.car-image{height:155px}.car-info{padding:11px}.car-info h3{font-size:13px}.race-section,.collection-section,.print-section{padding-left:22px;padding-right:22px}}
 .owner{font:11px 'DM Mono'!important;color:#716e68!important;margin:5px 0 0!important}dialog select{width:100%;display:block;background:#f0ede7;border:1px solid transparent;padding:13px;margin-top:7px;font:14px Manrope;outline-color:var(--red)}
#status{padding:14px 18px;margin:0 0 22px;background:#fff4df;color:#4f3920;font-size:13px}#legacy-import{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fffdf8;border-top:2px solid var(--red);padding:18px;margin:0 0 22px;font-size:13px}#legacy-import[hidden]{display:none}@media(max-width:650px){#legacy-import{align-items:flex-start;flex-direction:column}}
.edit{position:absolute;top:11px;right:46px;border:0;background:#fff;color:#777;width:28px;height:28px;font-size:17px;cursor:pointer;opacity:0;transition:opacity .2s,color .2s}.car:hover .edit{opacity:1}.edit:hover{color:var(--ink)}.car-grid[data-view="list"] .edit{top:calc(50% - 14px);right:50px}.image-hint{margin:8px 0 0;color:#716e68;font-size:12px}
.car-image{border:0;padding:0;cursor:zoom-in}.car-image:focus-visible{outline:3px solid var(--red);outline-offset:3px}.photo-dialog{width:min(1100px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;background:transparent;box-shadow:none;overflow:visible}.photo-dialog::backdrop{background:#090909e8;backdrop-filter:blur(3px)}.photo-dialog img{display:block;max-width:100%;max-height:calc(100dvh - 32px);margin:auto;object-fit:contain;animation:photo-appear .18s ease-out}.photo-close{position:fixed;top:18px;right:22px;border:0;background:var(--cream);color:var(--ink);width:38px;height:38px;border-radius:50%;font-size:27px;line-height:1;cursor:pointer;z-index:1;transition:transform .18s}.photo-close:hover{transform:scale(1.08)}.photo-close:focus-visible{outline:3px solid var(--red);outline-offset:3px}@keyframes photo-appear{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}
.toolbar-actions{display:flex;align-items:center;gap:28px}
.view-switch{display:flex;border:1px solid var(--line)}
.view-switch button{border:0;background:transparent;padding:9px 14px;color:#6f6b63;font:700 12px Manrope;cursor:pointer;transition:background .18s,color .18s}
.view-switch button[aria-pressed="true"]{background:var(--ink);color:var(--cream)}
.view-switch button:hover:not([aria-pressed="true"]){background:#e8e3da}
.view-switch button:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.car-grid[data-view="list"]{grid-template-columns:1fr;gap:0;border-top:1px solid var(--line)}
.car-grid[data-view="list"] .car{display:grid;grid-template-columns:clamp(160px,22vw,260px) minmax(0,1fr);height:140px;min-height:140px;background:transparent;border-bottom:1px solid var(--line)}
.car-grid[data-view="list"] .car-image{height:140px}
.car-grid[data-view="list"] .car-info{align-items:center;padding:20px 68px 20px 32px;gap:24px;min-width:0}
.car-grid[data-view="list"] .car-info h3{font-size:clamp(30px,3.5vw,48px);line-height:1.08;letter-spacing:-.07em;overflow-wrap:anywhere}
.car-grid[data-view="list"] .car-weight{white-space:nowrap;font-size:14px}
.car-grid[data-view="list"] .delete{top:calc(50% - 14px);right:16px}
@media(max-width:650px){.toolbar{flex-wrap:wrap}.toolbar-actions{width:100%;justify-content:space-between;gap:14px;flex-wrap:wrap}.toolbar-actions select{flex:1 1 135px}.car-grid[data-view="list"] .car{grid-template-columns:105px minmax(0,1fr);height:140px;min-height:140px}.car-grid[data-view="list"] .car-image{height:140px}.car-grid[data-view="list"] .car-info{display:block;padding:12px 34px 12px 14px}.car-grid[data-view="list"] .car-info h3{font-size:clamp(22px,6vw,30px)}.car-grid[data-view="list"] .car-weight{margin-top:10px}}
@media(hover:none){.delete,.edit{opacity:1}}
@media print{.topbar,.toolbar,.race-section,.print-section,.delete,#status,#legacy-import{display:none!important}.collection-section{padding:0}.car-grid{grid-template-columns:repeat(3,1fr);gap:10px}.car-image{height:130px}.car{break-inside:avoid}.section-heading{margin-bottom:20px}}
@media print{.car-grid[data-view="list"]{grid-template-columns:1fr}.car-grid[data-view="list"] .car{grid-template-columns:110px minmax(0,1fr);min-height:100px}.car-grid[data-view="list"] .car-image{height:100px}.car-grid[data-view="list"] .car-info{padding:12px 28px}.car-grid[data-view="list"] .car-info h3{font-size:26px}}
