@font-face{font-family:Oui;src:url('/assets/fonts/oui-duper-chunk.otf')}@font-face{font-family:Work;src:url('/assets/fonts/work-sans-semibold.otf')}*{box-sizing:border-box}body{margin:0;background:#fff4d8;color:#171514;font-family:Work,Arial,sans-serif;line-height:1.5}a{color:inherit}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c9282d;outline-offset:4px}header{background:#c9282d;color:#fffdf7;display:flex;justify-content:space-between;align-items:center;padding:20px 5%;gap:16px;border-bottom:4px solid #171514}header .brand{font-family:Oui;text-transform:uppercase;text-decoration:none;font-size:clamp(20px,3vw,32px)}nav{display:flex;gap:20px;flex-wrap:wrap}main{max-width:1300px;margin:auto;padding:32px 5%}.hero{text-align:center;padding:15px 0 28px}.sponsor{max-width:240px;background:#fffdf7;border:3px solid;padding:12px;margin:0 auto 24px;box-shadow:5px 5px #171514}.sponsor img{max-width:100%}.sponsor span{display:block;font-size:13px;letter-spacing:2px;margin-top:8px}h1{font-family:Oui;text-transform:uppercase;font-size:clamp(36px,6vw,72px);line-height:1.02;margin:20px 0}h2{font-size:24px}p{margin:12px 0}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:13px;color:#8d171c}.toolbar{position:sticky;top:0;z-index:5;background:#fff4d8;padding:14px 0;border-bottom:3px solid #171514}input,select{max-width:100%;padding:12px;background:#fffdf7;border:2px solid #171514;border-radius:0;font-size:16px}#search{width:100%}.tabs{display:flex;gap:8px;overflow-x:auto;padding:14px 2px 4px}.tabs button{white-space:nowrap;border:2px solid #171514;border-radius:28px;padding:12px 18px;background:#fffdf7}.tabs button[aria-selected=true]{background:#c9282d;color:white}.status{font-size:13px;color:#665f57}.round-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0}.heat{background:#fffdf7;border:3px solid #171514;box-shadow:5px 5px #171514;min-width:0}.heat-head{padding:14px 18px;background:#c9282d;color:white;display:flex;justify-content:space-between;align-items:center;gap:12px}.heat-head h2{margin:0;font-size:21px}.tag{font-size:12px}.racer{display:flex;align-items:center;gap:12px;padding:14px;border-bottom:1px solid #c8bfae;min-height:78px}.racer.match{background:#f3c34f}.racer.advance{background:#f9e5a4}.racer .name{font-weight:bold;display:block;overflow-wrap:anywhere}.racer small{display:block;color:#665f57;font-size:12px}.racer .info{flex:1;min-width:0}.seed{font-size:12px;min-width:22px;color:#8d171c}.score{font-size:22px;font-weight:bold}.result{font-size:12px}.heat footer{padding:12px 16px;font-size:13px}.rule{padding:20px;border:2px solid #171514;background:#fffdf7;margin-top:24px}.champ{background:#fffdf7;border:3px solid #171514;margin:24px 0;padding:20px;overflow:auto}.champ table{width:100%;border-collapse:collapse;min-width:380px}.champ td,.champ th{padding:14px 8px;border-bottom:1px solid #c8bfae;text-align:left}.winner{display:flex;gap:24px;align-items:center;background:#f3c34f;padding:24px;border:3px solid #171514;margin:24px 0}.winner img{width:140px;height:175px;object-fit:contain}.muted{color:#665f57}.controls{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}button.primary{background:#c9282d;color:white;border:2px solid #171514;padding:12px 20px;box-shadow:3px 3px #171514}button.secondary{background:#fffdf7;border:2px solid #171514;padding:12px 20px}.field{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:center;margin:16px 0}#message{white-space:pre-wrap}#message.error{color:#8d171c}.scorer{max-width:800px}details{margin-top:28px}summary{cursor:pointer}.pending-note{background:#fff4d8;padding:8px;font-size:13px}@media(max-width:650px){header{align-items:flex-start;flex-direction:column;padding:16px 5%}nav{font-size:14px;gap:16px}main{padding-top:18px}.round-grid{grid-template-columns:1fr;gap:18px}.tabs button{padding:10px 13px;font-size:14px}.field{grid-template-columns:1fr;gap:5px}.winner{flex-direction:column;text-align:center}.champ{padding:12px}.hero p{font-size:14px}.racer{padding:12px}.score{font-size:20px}}

/* Keep sponsor artwork and mobile text inside the viewport. */
header,main,.hero,.toolbar{min-width:0;max-width:100%}.sponsor{width:min(100%,340px);background:#fff}.sponsor img{display:block;width:100%;height:auto}.hero h1{overflow-wrap:anywhere}.hero p{overflow-wrap:anywhere}header .brand{max-width:100%;overflow-wrap:anywhere}@media(max-width:650px){.hero h1{font-size:clamp(30px,8vw,48px)}.eyebrow{letter-spacing:1px}.sponsor{max-width:300px}.sponsor span{font-size:12px;letter-spacing:1px}}
