@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Barlow:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#111315;--panel:#1c1f22;--line:#363b40;--muted:#abb0b5;--white:#f4f5f2;--red:#fa493f;--blue:#80bdea}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--white);font:16px/1.5 Barlow,Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:4px}button:disabled{opacity:.45;cursor:not-allowed}header{display:flex;justify-content:space-between;align-items:center;padding:26px 5%;border-bottom:1px solid var(--line);gap:20px}.brand{font:italic 800 34px/.9 'Barlow Condensed',Impact,sans-serif;letter-spacing:1px;color:white;text-decoration:none}.brand span{color:var(--red)}.brand small{display:block;font:600 10px/1.7 Barlow,Arial,sans-serif;letter-spacing:1.2px;margin-top:8px}nav{display:flex;gap:26px}nav button{background:none;border:0;color:var(--muted);font-weight:600;padding:12px 0}nav button.active{color:white;border-bottom:2px solid var(--red)}.prototype{background:#232629;padding:8px 5%;font-size:12px;letter-spacing:1.3px;color:#e2c6a7}.prototype span{letter-spacing:0;margin-left:18px;color:#c6c8cb}main{max-width:1360px;margin:auto;padding:42px 5% 20px}.intro{margin-bottom:32px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;color:var(--red);margin:0 0 12px}h1,h2,h3{font-family:'Barlow Condensed',Impact,sans-serif;line-height:1.05;margin:0}h1{font-size:clamp(42px,5vw,68px);text-transform:uppercase;letter-spacing:.5px}h1 em{font-style:normal;color:#b8bec3}h2{font-size:32px}h3{font-size:26px}.intro>p:last-child{color:var(--muted);max-width:680px}.workspace{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr);gap:24px}.config{border:1px solid var(--line);background:var(--panel);padding:28px}.sectionhead{display:flex;align-items:center;gap:14px}.sectionhead h2{flex:1}.number{color:var(--red);font-weight:700;font-size:13px;letter-spacing:1px}.textbtn{background:none;color:var(--white);border:0;padding:8px 0;text-decoration:underline;text-underline-offset:5px;font-size:14px}.steps{display:flex;gap:5px;margin:26px 0}.steps span{height:4px;background:#41464b;flex:1}.steps span.done{background:var(--red)}fieldset{margin:0;padding:0;border:0}legend{font-family:'Barlow Condensed',Impact,sans-serif;font-size:28px;margin-bottom:20px}.field{display:block;margin-bottom:20px}.field>span{display:block;font-size:14px;font-weight:600;margin-bottom:7px}.field small{display:block;color:var(--muted);font-size:13px;margin-top:6px}input:not([type=range]),select,textarea{width:100%;background:#131618;color:var(--white);border:1px solid #52595f;border-radius:3px;padding:12px;min-height:48px}input:focus,select:focus,textarea:focus{outline:2px solid var(--blue);outline-offset:1px}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:16px}.formnav{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:22px;margin-top:18px}.primary,.secondary{padding:13px 22px;border-radius:3px;font-weight:700;min-height:48px}.primary{background:var(--red);border:1px solid var(--red);color:#111}.primary:hover{background:#ff655d}.secondary{background:transparent;border:1px solid #626b73;color:var(--white)}.secondary:hover{border-color:white}.summary{padding:30px;background:linear-gradient(140deg,#24282c,#16191c);border-top:3px solid var(--red)}.summary .eyebrow{color:var(--muted)}.muted,.fine{color:var(--muted)}dl{margin:26px 0}dl div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 0;gap:14px}dt{color:var(--muted);font-size:14px}dd{margin:0;text-align:right;font-size:14px;font-weight:600}.summarynote{padding:16px 0;color:var(--muted);font-size:14px}.resultheading{display:flex;justify-content:space-between;align-items:center;gap:15px}.resultheading h2{font-size:46px}.resultgrid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:24px;margin-top:28px}.cards{display:grid;gap:16px}.cam{background:var(--panel);border:1px solid var(--line);padding:24px;position:relative}.cam.selected{border-color:var(--red);box-shadow:inset 4px 0 var(--red)}.cam .top{display:flex;justify-content:space-between;gap:16px}.cam h3{font-size:32px}.cam p{color:var(--muted);margin:12px 0}.tag{font-size:12px;letter-spacing:1px;font-weight:700;color:var(--blue);margin-bottom:8px;display:block}.price{font-size:23px;font-weight:600}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:15px 0;border-block:1px solid var(--line);margin-bottom:18px}.stats strong{display:block;font-size:18px}.stats small{font-size:12px;color:var(--muted)}.cam button{width:100%}.dial{background:#e5e9e9;color:#15191d;padding:26px;align-self:start;position:sticky;top:20px}.dial .sectionhead{border-bottom:1px solid #b8bfc2;padding-bottom:18px}.dialvalue{display:flex;align-items:baseline;justify-content:center;gap:12px;margin:22px 0}.dialvalue strong{font:700 82px/1 'Barlow Condensed',Impact,sans-serif}.dialvalue span{font-size:12px;color:#545e66}.dial label{font-size:14px;font-weight:600}.dial input[type=range]{appearance:none;width:100%;height:8px;margin:24px 0 14px;background:linear-gradient(90deg,#ed4d43,#8281ae,#438dbb);border-radius:4px;cursor:pointer}.dial input::-webkit-slider-thumb{appearance:none;width:23px;height:30px;border:3px solid #fff;background:#15191d;border-radius:3px;box-shadow:0 1px 5px #555}.dial input::-moz-range-thumb{width:18px;height:26px;border:3px solid white;background:#15191d;border-radius:3px}.ticks{display:flex;justify-content:space-between;font-size:13px;font-weight:700}.rangeends{display:flex;justify-content:space-between;font-size:12px;color:#515e66;margin-top:7px}.overlap{display:flex;align-items:center;justify-content:space-between;border-block:1px solid #b8bfc2;margin-top:24px;padding:16px 0}.overlap strong{font-size:28px}.dial .fine{color:#48555e;font-size:13px}.dial .secondary{color:#171e24;border-color:#6b777e}.full{width:100%;margin-top:12px}#dialStatus{font-weight:600;font-size:14px}.checkline{font-size:14px;padding:10px 0;border-top:1px solid #b8bfc2}.checkline strong{display:block}.checkline span{color:#48555e}.method{margin:26px 0;border:1px solid var(--line);padding:18px;font-size:14px;color:var(--muted)}.method a{color:var(--blue)}summary{cursor:pointer;color:white;font-weight:600}footer{display:flex;gap:20px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:48px;padding:20px 0;color:var(--muted);font-size:12px}footer span:first-child{font-weight:800;color:white}footer p{font-size:14px}dialog{background:#202529;color:white;border:1px solid #58636c;max-width:650px;width:calc(100% - 32px);padding:28px;border-radius:5px}dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}.modalhead{display:flex;justify-content:space-between;align-items:start}.modalhead button{background:none;color:white;border:0;font-size:24px}dialog textarea{min-height:240px;margin:16px 0;font-size:14px}dialog h2{margin-bottom:18px}.notice{border-left:3px solid #e6b269;background:#342c23;padding:14px;font-size:14px}#resultNote{color:var(--muted);max-width:850px}.error{color:#ffb4ab} [hidden]{display:none!important}@media(max-width:760px){header{align-items:start}.brand{font-size:28px}.brand small{display:none}nav{gap:15px;flex-wrap:wrap;justify-content:flex-end}nav button{font-size:13px;max-width:145px;text-align:right;padding-top:0}.prototype span{display:block;margin:4px 0 0}.workspace,.resultgrid{grid-template-columns:1fr}.summary{padding:22px}.config{padding:20px}.dial{position:static}.twocol{grid-template-columns:1fr;gap:0}.resultheading h2{font-size:36px}.stats{gap:8px}.stats strong{font-size:16px}.cam{padding:20px}footer{flex-wrap:wrap}footer p{margin:0}main{padding-top:30px}.brand small{font-size:10px}}@media(prefers-reduced-motion:no-preference){button,.cam{transition:background .15s,border-color .15s}}
.helpchoose{margin-top:24px;padding:26px;border:1px solid var(--red);background:#242124}.helpchoose h3{font-size:32px}.helpchoose p{color:var(--muted)}.helpchoose .eyebrow{color:var(--red)}.reviewdetails{border:1px solid var(--line);padding:16px;margin:16px 0}.reviewdetails summary{font-size:16px}.reviewdetails dl{margin:12px 0 0}.reviewdetails dd{overflow-wrap:anywhere}.reviewcams{padding-left:22px;margin:16px 0 0}.reviewcams li{padding:12px 0;border-top:1px solid var(--line)}.reviewcams p{margin:6px 0;font-size:14px;overflow-wrap:anywhere}.selectednote{display:block;color:var(--blue);font-size:14px}.reviewtrap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#helpForm{margin-top:24px}#helpForm textarea{min-height:120px;font-size:16px}#emailPreview{margin-top:24px}#emailBody{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.6 Barlow,Arial,sans-serif;border:1px solid var(--line);padding:16px;max-height:360px;overflow:auto}#helpStatus{overflow-wrap:anywhere}dialog{max-height:calc(100dvh - 32px);overflow:auto}.reviewdetails dt,.reviewdetails dd{flex:1}

.resultgrid.no-cams{grid-template-columns:1fr;max-width:850px}

.brand img{display:block;width:150px;height:100px;object-fit:contain}nav a{color:var(--muted);padding:12px 0;text-decoration:none;font-weight:600}nav a:hover{color:white}header{padding-top:10px;padding-bottom:10px}@media(max-width:760px){.brand img{width:105px;height:70px}nav a{font-size:14px;padding-top:0}header{align-items:center}}

.match-help{border:1px solid var(--line,#3b3b3b);padding:1.5rem;margin:1.5rem 0;background:var(--panel,#171717)}.match-help h3{margin-top:0}.match-actions{display:flex;gap:.75rem;flex-wrap:wrap}.match-help li{margin:.6rem 0}

/* Supplied camshaft photos: preserve the complete product, including nose and gears. */
.catalog-cam-photo{margin:0 0 1rem}.catalog-cam-photo img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#fff;border-radius:8px}.catalog-cam-photo figcaption{font-size:.75rem;line-height:1.4;color:#aaa;margin-top:.4rem}
