:root{font:16px system-ui,-apple-system,sans-serif;color:#13314b;background:#edf3f9}*{box-sizing:border-box}body{margin:0}header{background:#0b3154;color:white;display:flex;justify-content:space-between;align-items:center;padding:15px 20px;gap:12px}header h1{margin:2px 0;font-size:1.5rem}header small{letter-spacing:.12em}header p{margin:2px 0;color:#d4e5f3;font-size:.85rem}header a{color:white}main{max-width:1050px;margin:auto;padding:14px}.warning{padding:13px;background:#ffedd0;border:1px solid #e7b55b;border-radius:9px;margin-bottom:14px;line-height:1.5}.panel{background:white;border:1px solid #cbdce8;border-radius:11px;padding:15px;margin-bottom:12px}.panel h2{margin:0 0 12px;font-size:1.15rem}video{display:block;background:#061421;width:100%;max-height:58vh;border-radius:8px;margin:12px 0}button,input,select{font:inherit}button,.file{display:inline-flex;align-items:center;justify-content:center;border:1px solid #7e9ab2;padding:10px 12px;min-height:44px;border-radius:8px;background:#0b497c;color:white;font-weight:650;cursor:pointer}button.secondary{background:white;color:#163c59}.file input{display:block;max-width:100%;font-size:12px;margin-top:5px;color:white}.smallfile{background:#315675}label{display:grid;gap:4px;font-weight:600;font-size:.88rem}label input:not([type=file]),label select{padding:9px;border:1px solid #9fb6cb;border-radius:7px;min-height:43px;background:white;color:#153854}.controls{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin:10px 0}.grow{flex:1;min-width:160px}.muted{color:#506477;font-size:.86rem;line-height:1.45}.seek{display:flex;gap:12px;align-items:center}.seek input{flex:1}.seek output{min-width:80px;font-variant-numeric:tabular-nums}.marks{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px}.marks button{background:#186b79}#measurements{margin:12px 0;overflow:auto}table{width:100%;border-collapse:collapse}td,th{padding:8px;border-bottom:1px solid #dfebf3;text-align:left}td{font-variant-numeric:tabular-nums}@media(max-width:580px){header{padding:10px}main{padding:7px}.panel{padding:10px}.marks{grid-template-columns:repeat(2,minmax(0,1fr))}.marks button{padding:7px;font-size:.86rem}}
#new-swimmer-row{margin:10px 0;display:grid;gap:8px}#new-swimmer-row[hidden]{display:none}#new-swimmer-row input[type=checkbox]{min-height:auto;width:auto}#roster-choice{width:100%}
