:root{--navy:#00205b;--blue:#003087;--accent:#0072ce;--gold:#7ec8e3;--light:#f0f4f9;--muted:#7a90a8;--white:#fff;--row-alt:#e8eef6;--nt:#aab}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--light);color:var(--navy);font-family:Barlow,sans-serif;font-size:14px;line-height:1.4}.site-header{background:var(--navy);color:var(--white);border-bottom:4px solid var(--accent);padding:24px 32px 20px}.site-header-inner{align-items:center;gap:20px;display:flex}.site-header h1{letter-spacing:.04em;text-transform:uppercase;color:var(--white);font-family:Barlow Condensed,sans-serif;font-size:28px;font-weight:900}.site-header .sub{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin-top:4px;font-family:Barlow Condensed,sans-serif;font-size:14px}.site-header .meta{color:var(--muted);letter-spacing:.05em;flex-wrap:wrap;gap:24px;margin-top:10px;font-size:12px;display:flex}.site-logo{flex-shrink:0;width:auto;height:64px}.filter-bar{background:var(--blue);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 32px;display:flex}.filter-bar label{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:600}.filter-bar select,.filter-bar input{background:var(--navy);color:var(--white);border:1px solid var(--accent);cursor:pointer;border-radius:4px;outline:none;padding:5px 10px;font-family:Barlow,sans-serif;font-size:13px}.filter-bar select:hover,.filter-bar input:hover{border-color:var(--gold)}.tool-toggle{background:var(--accent);color:var(--white);border:1px solid var(--accent);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border-radius:4px;padding:5px 10px;font-family:Barlow Condensed,sans-serif;font-size:12px;font-weight:800}.tool-toggle:hover{border-color:var(--gold);background:#005faa}.count-badge{background:var(--accent);color:var(--navy);letter-spacing:.05em;border-radius:12px;margin-left:auto;padding:3px 10px;font-size:11px;font-weight:700}.converter-panel{background:#f8fafc;border-bottom:1px solid #c8d8ec;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:16px;padding:14px 32px;display:grid}.converter-panel[hidden]{display:none!important}.converter-grid{grid-template-columns:repeat(6,minmax(6.5rem,1fr));align-items:end;gap:8px 10px;display:grid}.converter-grid label{letter-spacing:.1em;text-transform:uppercase;color:var(--blue);grid-row:1;font-family:Barlow Condensed,sans-serif;font-size:10px;font-weight:800}.converter-grid select,.converter-grid input{background:var(--white);width:100%;color:var(--navy);border:1px solid #b7c6d9;border-radius:4px;outline:none;grid-row:2;padding:7px 9px;font-family:Barlow,sans-serif;font-size:13px}.converter-grid select:focus,.converter-grid input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #0072ce1f}.converter-swap{background:var(--white);width:2.375rem;height:2.25rem;color:var(--blue);cursor:pointer;border:1px solid #b7c6d9;border-radius:4px;grid-row:2;place-self:end center;font-size:18px;font-weight:800}.converter-swap:hover{border-color:var(--accent);color:var(--accent)}.converter-result{background:var(--navy);min-width:11rem;color:var(--white);text-align:right;border-radius:6px;flex-direction:column;justify-content:center;align-items:flex-end;padding:9px 14px;display:flex}.converter-result-time{font-family:Barlow Condensed,sans-serif;font-size:30px;font-weight:900;line-height:1}.converter-result-meta,.converter-empty{letter-spacing:.08em;text-transform:uppercase;color:#ffffffad;margin-top:4px;font-size:10px;font-weight:700}.main{max-width:1100px;margin:0 auto;padding:24px 32px}.event-card{background:var(--white);border:1px solid #d0d8e4;border-radius:6px;max-width:100%;margin-bottom:20px;overflow:hidden;box-shadow:0 1px 4px #0a16281a}.event-header{background:var(--navy);color:var(--white);align-items:baseline;gap:14px;padding:10px 18px;display:flex}.event-num{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;background:#00b4d826;border-radius:3px;flex-shrink:0;padding:2px 8px;font-family:Barlow Condensed,sans-serif;font-size:11px;font-weight:700}.event-title{letter-spacing:.03em;text-transform:uppercase;font-family:Barlow Condensed,sans-serif;font-size:18px;font-weight:700}.event-count{color:var(--muted);letter-spacing:.05em;margin-left:auto;font-size:11px}.standards-bar{background:#f8fafc;border-top:1px solid #c8d8ec;padding:8px 18px 10px}.standards-bar-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.standards-label{letter-spacing:.12em;text-transform:uppercase;color:var(--blue);font-family:Barlow Condensed,sans-serif;font-size:10px;font-weight:700}.standards-src{color:var(--muted);letter-spacing:.04em;font-size:10px;text-decoration:none}.standards-src:hover{color:var(--accent)}.std-groups{flex-wrap:wrap;gap:20px;display:flex;overflow-x:auto}.std-group{flex-shrink:0}.std-group-label{color:var(--blue);letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px;font-family:Barlow Condensed,sans-serif;font-size:10px;font-weight:700}.std-table{border-collapse:collapse;font-family:Barlow Condensed,sans-serif;font-size:12px}.std-table th{letter-spacing:.08em;text-align:center;border:1px solid #00000014;padding:2px 7px;font-size:10px;font-weight:700}.std-table td{text-align:center;border:1px solid #00000014;padding:2px 7px;font-weight:600}.std-gender{text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;color:var(--muted)!important;text-align:left!important;background:#f0f4f8!important;padding-left:6px!important;font-size:10px!important;font-weight:700!important}.std-na{color:#94a3b8;font-family:Barlow Condensed,sans-serif;font-size:11px}.tier-badge{vertical-align:middle;border:1px solid #0000;border-radius:2px;padding:1px 4px;font-family:Barlow Condensed,sans-serif;font-size:10px;font-weight:700;line-height:1.2;display:inline-block}.tier-slot{box-sizing:border-box;vertical-align:middle;justify-content:center;align-items:center;width:2.375rem;min-width:2.375rem;max-width:2.375rem;display:inline-flex}.tier-badge--compact{box-sizing:border-box;letter-spacing:0;text-align:center;justify-content:center;align-items:center;width:100%;margin:0;padding:2px 0;font-size:9px;font-weight:700;line-height:1.15;display:flex}.pop-overlay{z-index:500;background:#000a2899;justify-content:center;align-items:flex-end;padding:0;display:none;position:fixed;inset:0}.pop-overlay.open{display:flex}.pop-sheet{background:var(--white);border-radius:16px 16px 0 0;width:100%;max-width:560px;max-height:88vh;animation:.22s slideUp;overflow-y:auto;box-shadow:0 -4px 32px #00000040}@keyframes slideUp{0%{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}.pop-handle{background:#cbd5e1;border-radius:2px;width:40px;height:4px;margin:10px auto 0}.pop-head{background:var(--navy);color:var(--white);justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 18px 12px;display:flex}.pop-head-info{flex:1;min-width:0}.pop-name{letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;font-family:Barlow Condensed,sans-serif;font-size:22px;font-weight:900;overflow:hidden}.pop-meta{color:#ffffffa6;margin-top:2px;font-size:12px}.pop-seed-box{text-align:right;flex-shrink:0}.pop-seed-label{color:#ffffff8c;letter-spacing:.1em;text-transform:uppercase;font-family:Barlow Condensed,sans-serif;font-size:10px}.pop-seed-val{color:var(--white);font-family:Barlow Condensed,sans-serif;font-size:28px;font-weight:900;line-height:1}.pop-close{color:var(--white);cursor:pointer;background:#ffffff1f;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;width:30px;height:30px;font-size:18px;font-weight:700;display:flex}.pop-close:hover{background:#ffffff38}.pop-body{padding:14px 16px 24px}.pop-event-label{letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:12px;font-family:Barlow Condensed,sans-serif;font-size:11px;font-weight:700}.ladder{flex-direction:column;gap:3px;display:flex}.ladder .rung{border:1.5px solid #0000;border-radius:7px;grid-template-columns:2.375rem 4.5rem minmax(0,1fr);align-items:center;column-gap:8px;padding:8px 12px;font-family:Barlow Condensed,sans-serif;display:grid;position:relative}.ladder .seed-rung{border:2px solid var(--accent);background:var(--navy);color:var(--white);border-radius:7px;grid-template-columns:1.75rem 2.375rem 4.5rem minmax(0,1fr);align-items:center;column-gap:8px;margin:3px 0;padding:9px 12px;font-family:Barlow Condensed,sans-serif;display:grid;position:relative}.seed-rung>.rung-label:first-child{letter-spacing:.1em;text-align:center;width:1.75rem;min-width:1.75rem;max-width:1.75rem;color:var(--accent);justify-self:center;font-size:10px;font-weight:800}.rung-tier-slot{justify-content:center;justify-self:center;display:flex}.rung-time{text-align:right;white-space:nowrap;justify-self:end;width:4.5rem;font-size:20px;font-weight:700}.rung-gap{text-align:right;opacity:.8;justify-self:end;font-size:12px;font-weight:600}.rung-check{justify-self:end;font-size:16px}.rung.done{opacity:.45}.rung.next{border-width:2px}.rung.next:before{content:"NEXT CUT";letter-spacing:.12em;background:inherit;color:inherit;opacity:.85;border-radius:2px;padding:0 4px;font-size:8px;font-weight:800;position:absolute;top:-8px;left:12px}.seed-rung .rung-time{font-size:22px;font-weight:900}.seed-rung .rung-gap{color:#fff9;font-size:11px}.pop-nt{text-align:center;color:var(--muted);padding:24px 0;font-family:Barlow Condensed,sans-serif;font-size:15px}table{border-collapse:collapse;width:100%}.heat-block{width:100%}.heat-sheet-table{table-layout:auto;width:100%}.heat-sheet-table th.col-lane,.heat-sheet-table td.lane-num{white-space:nowrap;width:2.5rem}.heat-sheet-table th.col-age,.heat-sheet-table td.swimmer-age{white-space:nowrap;width:2.25rem}.heat-sheet-table th.col-team,.heat-sheet-table td.swimmer-team{white-space:nowrap;width:3rem;max-width:3rem}.heat-sheet-table th.col-tier,.heat-sheet-table td.swimmer-tier{text-align:center;vertical-align:middle;width:2.5rem;max-width:2.5rem;padding:7px 4px}.heat-sheet-table th.col-tier{border-bottom:1px solid #d0d8e4;padding:5px 4px}.heat-sheet-table th.col-seed,.heat-sheet-table td.seed-val-cell{white-space:nowrap;text-align:right;width:4.75rem}.heat-sheet-table th.col-name,.heat-sheet-table td.swimmer-name{width:auto;min-width:0}thead th{text-align:left;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;background:#f7f9fc;border-bottom:1px solid #d0d8e4;padding:5px 14px;font-family:Barlow Condensed,sans-serif;font-size:11px;font-weight:600}thead th.right{text-align:right}tbody tr:nth-child(2n){background:var(--row-alt)}tbody tr:hover{background:#dbeafe}tbody td{vertical-align:middle;border-bottom:1px solid #e5eaf0;padding:7px 14px}tbody tr:last-child td{border-bottom:none}.lane-num{color:var(--blue);text-align:center;padding-left:10px;padding-right:6px;font-family:Barlow Condensed,sans-serif;font-size:15px;font-weight:700}.swimmer-name{color:var(--navy);font-size:14px;font-weight:600;overflow:hidden}.swimmer-name .name-text{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.swimmer-name .team-inline{display:none}.swimmer-age{color:var(--muted);text-align:center;padding-left:4px;padding-right:4px;font-size:13px}.swimmer-team{text-align:center;padding-left:2px;padding-right:2px;overflow:hidden}.swimmer-team .team-badge{text-overflow:ellipsis;vertical-align:middle;max-width:100%;padding:1px 4px;font-size:10px;overflow:hidden}.seed-val-cell{color:var(--navy);white-space:nowrap;vertical-align:middle;padding-left:4px;padding-right:10px;font-family:Barlow Condensed,sans-serif;font-size:16px;font-weight:700}.seed-val-cell.nt{color:var(--nt);font-size:13px;font-style:italic;font-weight:400}.seed-toggle-cell{padding-top:4px;padding-bottom:4px}.seed-toggle{width:100%;min-height:2rem;color:inherit;cursor:pointer;text-align:right;background:0 0;border:0;border-radius:0;justify-content:end;align-items:center;gap:5px;padding:0;font-family:Barlow Condensed,sans-serif;display:inline-flex}.seed-toggle:hover{background:0 0}.seed-toggle:focus-visible{outline-offset:2px;outline:2px solid #0072ce73}.seed-toggle-time{font-size:16px;font-weight:800;line-height:1}.seed-toggle-course{letter-spacing:.06em;color:var(--muted);font-size:9px;font-weight:900;display:none}.seed-toggle.is-converted{color:var(--blue)}.seed-toggle.is-converted .seed-toggle-course{min-width:1.75rem;min-height:1rem;color:var(--accent);background:#0072ce1f;border-radius:2px;justify-content:center;align-items:center;padding:1px 3px;display:inline-flex}.team-badge{letter-spacing:.04em;border-radius:3px;padding:1px 7px;font-size:11px;font-weight:600;display:inline-block}.tracker-bar{z-index:100;background:var(--navy);border-bottom:3px solid var(--gold);flex-wrap:wrap;align-items:center;gap:16px;padding:10px 32px;display:flex;position:sticky;top:0;box-shadow:0 2px 12px #0000004d}.tracker-now{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.tracker-now-label{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;font-family:Barlow Condensed,sans-serif;font-size:10px;font-weight:700}.tracker-now-text{color:var(--white);white-space:nowrap;text-overflow:ellipsis;font-family:Barlow Condensed,sans-serif;font-size:17px;font-weight:700;overflow:hidden}.tracker-next{border-left:1px solid #ffffff26;flex-direction:column;flex:1;gap:1px;min-width:0;padding-left:16px;display:flex}.tracker-next-label{color:var(--gold);letter-spacing:.14em;text-transform:uppercase;font-family:Barlow Condensed,sans-serif;font-size:10px;font-weight:700}.tracker-next-text{color:#ffffffbf;white-space:nowrap;text-overflow:ellipsis;font-family:Barlow Condensed,sans-serif;font-size:14px;font-weight:600;overflow:hidden}.tracker-nav{flex-shrink:0;gap:6px;display:flex}.tracker-nav button{color:var(--white);letter-spacing:.06em;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:4px;padding:6px 14px;font-family:Barlow Condensed,sans-serif;font-size:13px;font-weight:700;transition:background .15s}.tracker-nav button:hover{background:#fff3}.tracker-nav button:disabled{opacity:.3;cursor:default}.tracker-nav button.next-btn{background:var(--accent);color:var(--white);border-color:var(--accent)}.tracker-nav button.next-btn:hover{background:#005faa}.tracker-nav button.ev-btn{color:#ffffffbf;background:0 0;border-color:#ffffff59;padding:6px 10px;font-size:12px}.tracker-nav button.ev-btn:hover{color:var(--white);background:#ffffff1f}.tracker-nav button.ev-btn:disabled{opacity:.25}.tracker-idle{color:#ffffff80;letter-spacing:.05em;font-family:Barlow Condensed,sans-serif;font-size:14px}.event-banner{top:var(--tracker-h,54px);z-index:99;background:var(--blue);color:var(--white);letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;border-bottom:2px solid #ffffff1f;padding:5px 18px;font-family:Barlow Condensed,sans-serif;font-size:13px;font-weight:700;position:sticky;overflow:hidden}.event-banner[hidden]{display:none!important}.heat-block{border-top:1px solid #d0d8e4}.heat-label{color:var(--blue);letter-spacing:.1em;text-transform:uppercase;background:#dce8f5;align-items:center;gap:8px;padding:6px 18px;font-family:Barlow Condensed,sans-serif;font-size:12px;font-weight:700;display:flex}.heat-label span.tag{background:var(--blue);color:var(--white);border-radius:3px;padding:1px 7px;font-size:10px;font-weight:700}.heat-block.is-past{opacity:.38}.heat-block.is-past .heat-label{background:#cdd4db}.heat-block.is-current{opacity:1}.heat-block.is-current .heat-label{background:var(--accent);color:var(--white)}.heat-block.is-current .heat-label .tag{background:var(--navy);color:var(--white)}.heat-block.is-current .heat-label .set-current-btn{display:none}.heat-block.is-next .heat-label{color:#00205b;background:#cce4f7}.heat-block.is-next .heat-label .tag{color:#cce4f7;background:#00205b}.set-current-btn{letter-spacing:.08em;color:inherit;cursor:pointer;text-transform:uppercase;background:#0000001f;border:1px solid #0000002e;border-radius:3px;margin-left:auto;padding:2px 8px;font-family:Barlow Condensed,sans-serif;font-size:10px;font-weight:700;transition:background .15s}.set-current-btn:hover{background:#00000038}@media (width<=640px){.main{padding:12px}.site-header{padding:16px}.filter-bar{padding:10px 12px}.converter-panel{grid-template-columns:1fr;padding:12px}.converter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.converter-grid label,.converter-grid select,.converter-grid input,.converter-swap{grid-row:auto}.converter-swap{width:100%}.converter-result{text-align:left;align-items:flex-start;min-width:0}.tracker-bar{padding:10px 12px}.tracker-next{display:none}.tracker-nav{flex-wrap:wrap;gap:4px}.std-groups{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:4px}.heat-sheet-table th.col-lane,.heat-sheet-table td.lane-num,.heat-sheet-table th.col-age,.heat-sheet-table td.swimmer-age{width:2.25rem}.heat-sheet-table th.col-tier,.heat-sheet-table td.swimmer-tier{width:2.375rem;max-width:2.375rem}.heat-sheet-table th.col-seed,.heat-sheet-table td.seed-val-cell{width:4.5rem}.heat-sheet-table th.col-team,.heat-sheet-table td.swimmer-team{visibility:collapse;border:0;width:0;max-width:0;padding:0;overflow:hidden}.heat-sheet-table tbody td{padding:6px 8px}.heat-sheet-table thead th{padding:5px 8px;font-size:10px}.lane-num{padding-left:6px;padding-right:4px;font-size:14px}.swimmer-age{font-size:12px}.seed-val-cell{padding-right:6px;font-size:14px}.tier-slot{width:2.25rem;min-width:2.25rem;max-width:2.25rem}.swimmer-name .name-text{white-space:normal;text-overflow:unset;word-break:break-word;line-height:1.25;overflow:visible}.swimmer-name .team-inline{margin-top:3px;display:block}.swimmer-name .team-inline .team-badge{font-size:10px}}@media (width>=641px) and (width<=900px){.heat-sheet-table tbody td{padding:6px 10px}}.pop-best-times{margin-bottom:20px}.best-times-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;display:flex}.best-times-title{color:var(--blue);letter-spacing:.12em;text-transform:uppercase;font-family:Barlow Condensed,sans-serif;font-size:11px;font-weight:800}.best-times-source{color:var(--muted);font-size:10px}.best-times-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.best-time-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:8px 12px}.best-time-val{color:var(--navy);font-family:Barlow Condensed,sans-serif;font-size:18px;font-weight:800}.best-time-meta{color:var(--muted);flex-direction:column;margin-top:2px;font-size:10px;display:flex}.best-time-meet{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.person-badge{color:#15803d;text-transform:uppercase;letter-spacing:.05em;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;align-items:center;gap:4px;margin-bottom:6px;padding:1px 6px;font-size:9px;font-weight:700;display:inline-flex}.enrich-spinner{border:2px solid #cbd5e1;border-top-color:var(--accent);border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin}.app-loading{min-height:60vh;color:var(--navy);letter-spacing:.06em;flex-direction:column;justify-content:center;align-items:center;gap:16px;font-family:Barlow Condensed,sans-serif;font-size:16px;display:flex}.app-loading[hidden],.app-error[hidden],.meet-picker[hidden],#appMain[hidden]{display:none!important}.app-loading-spinner{border:3px solid #d0d8e4;border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;max-width:480px;margin:48px auto;padding:24px;font-family:Barlow,sans-serif}.meet-picker{max-width:520px;margin:48px auto;padding:0 24px}.meet-picker h1{color:var(--navy);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-family:Barlow Condensed,sans-serif;font-size:28px;font-weight:900}.meet-picker p{color:var(--muted);margin-bottom:24px;font-size:14px}.meet-picker-list{flex-direction:column;gap:10px;list-style:none;display:flex}.meet-picker-list a{background:var(--white);color:var(--navy);border:1px solid #d0d8e4;border-radius:6px;padding:16px 18px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:block;box-shadow:0 1px 4px #0a162814}.meet-picker-list a:hover{border-color:var(--accent);box-shadow:0 2px 8px #0072ce26}.meet-picker-title{text-transform:uppercase;font-family:Barlow Condensed,sans-serif;font-size:18px;font-weight:700}.meet-picker-meta{color:var(--muted);margin-top:4px;font-size:12px}
