:root{color:#eeeaf8;font-synthesis:none;text-rendering:optimizelegibility;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--cyan:#35dfff;--green:#00eda0;--secondary:#8296b6;background:#080511;font-family:Fira Code,monospace}*{box-sizing:border-box}body{min-width:320px;margin:0}body:after{content:"";z-index:10;pointer-events:none;background:repeating-linear-gradient(#0000 0 3px,#00000017 3px 4px);position:fixed;inset:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--cyan);outline-offset:6px}button,summary{touch-action:manipulation}p{margin:0}[role=alert]{color:#ff819f;margin-top:16px;line-height:1.6}.dashboard{background:radial-gradient(at 55% 28%,#160b292e,#0000 65%);border-block:1px solid #25172f;min-height:100svh;padding:48px 3% 20px}.race-header{align-items:flex-start;gap:24px;display:flex}.wordmark{color:var(--cyan);text-transform:uppercase;letter-spacing:.09em;text-shadow:3px 0 #35dfff66,0 0 15px #35dfff60;margin:0;font-family:Workbench,monospace;font-size:clamp(30px,3.6vw,56px);font-weight:400;line-height:1.1}.subtitle{color:var(--secondary);letter-spacing:.2em;text-transform:uppercase;margin-top:14px;font-size:15px;font-weight:700;line-height:1.7}.subtitle span{padding-inline:12px}.sample-indicator{color:var(--secondary);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;text-underline-offset:5px;align-items:center;gap:12px;margin-top:15px;font-size:13px;font-weight:700;text-decoration:underline;display:flex}.sample-indicator:hover{color:var(--cyan)}.sample-indicator.live-indicator>span{background:var(--green);box-shadow:0 0 12px #00eda070}.race-message{min-height:240px;color:var(--secondary);padding:80px 12px;line-height:1.8}.race--live .participant-name{text-overflow:ellipsis;max-width:40%;overflow:hidden}.race--stacked .race-standings,.unplotted-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,350px),1fr));gap:4px 22px;height:auto;margin-block:20px;display:grid;position:static}.race--stacked .participant,.unplotted-list .participant{border-bottom:1px solid #21192f;flex-wrap:wrap;gap:10px;min-height:58px;padding:12px 4px;position:static;transform:none}.race--stacked .participant-name,.unplotted-list .participant-name{white-space:normal;overflow-wrap:anywhere;flex:calc(100% - 26px);max-width:none}.race-unplotted{margin:24px 0 12px 4%}.unplotted-heading{color:var(--secondary);font-size:12px}.sample-indicator>span{background:#ffdf52;border-radius:50%;width:9px;height:9px;box-shadow:0 0 12px #ffdf5270}.race{margin-top:26px;position:relative}.race-chart{width:61%;height:clamp(460px,100svh - 295px,730px)}.race-chart svg{width:100%;height:100%;overflow:visible}.race-chart svg :is(line,path,polyline,circle){vector-effect:non-scaling-stroke}.chart-grid{stroke:#26324e;stroke-width:1px;opacity:.55}.chart-grid.vertical{opacity:.22}.month-line{stroke:#526b91;stroke-width:1px;opacity:.7}.current-week-line{stroke:var(--cyan);stroke-width:1px;stroke-dasharray:4 5;opacity:.8}.month-label,.current-week-label{fill:var(--secondary);font-size:11px;font-weight:700}.current-week-label{fill:var(--cyan)}.chart-axis{fill:none;stroke:#375174;stroke-width:1px}.axis-label{fill:var(--secondary);font-size:14px;font-weight:700}.goal-line{stroke:var(--green);stroke-width:1px;stroke-dasharray:8 8}.goal-label{fill:var(--green);letter-spacing:.5px;font-size:16px;font-weight:700}.chart-series,.participant{transition:opacity .18s}.race-standings{height:clamp(460px,100svh - 295px,730px);position:absolute;inset:0 0 auto 61%}.participant{top:var(--row-position);text-align:left;color:#eeeaf8;white-space:nowrap;background:0 0;border:0;align-items:center;gap:10px;width:100%;min-height:42px;padding:5px 2px;display:flex;position:absolute;transform:translateY(-50%)}.participant.muted{opacity:.35}.participant:hover,.participant[aria-pressed=true]{background:#ffffff06}.participant-dot{background:var(--racer-color);height:10px;box-shadow:0 0 10px var(--racer-color);border-radius:50%;flex:0 0 10px}.participant-name{letter-spacing:.035em;text-transform:uppercase;font-size:clamp(17px,1.65vw,26px);font-weight:700}.participant-weight{color:var(--racer-color);font-size:clamp(16px,1.4vw,22px);font-weight:700}.participant-weight small{color:var(--secondary);margin-left:2px;font-size:12px}.remaining{color:var(--secondary);font-size:12px;font-weight:700}.race-badge{text-transform:uppercase;letter-spacing:.04em;border:1px solid;border-radius:4px;padding:5px 7px;font-size:11px;font-weight:700}.setback{color:#ff668e}.winner{color:var(--green)}.personal-low{color:var(--cyan)}.race-art{pointer-events:none;position:absolute;top:-145px;right:1%}.racer{--racer-pixel:6px;width:210px;height:284px;position:relative;overflow:hidden}.racer-sprite{width:552px;height:552px;position:absolute;top:-126px;left:-165px}.racer-base,.racer-body{position:absolute;inset:0}.racer-base{image-rendering:pixelated;clip-path:inset(65.2174% 0 0);background-size:100% 100%}.racer-body{clip-path:inset(0 0 34.7826%)}.racer img{width:100%;height:100%;image-rendering:pixelated;display:block}.racer-tear{width:1.087%;height:2.174%;box-shadow:inset 0 calc(var(--racer-pixel) / -2) #478ca6;opacity:0;background:#9be5ed;animation:2.8s steps(5,end) infinite racer-tear-drop;position:absolute;top:38.0435%}.racer-tear--left{animation-delay:-.4s;left:42.3913%}.racer-tear--right{animation-delay:-1.8s;left:50%}@keyframes racer-tear-drop{0%,10%{opacity:0;transform:translateY(0)}20%{opacity:1}75%{transform:translateY(calc(7 * var(--racer-pixel)));opacity:1}90%,to{transform:translateY(calc(8 * var(--racer-pixel)));opacity:0}}.race-data{color:var(--secondary);margin:12px 0 18px 4%;font-size:12px}.race-data summary{cursor:pointer;width:fit-content;padding:8px 0}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:min(100%,680px);margin-top:12px}caption{text-align:left;padding-bottom:16px}th,td{text-align:right;border-bottom:1px solid #26324e;padding:12px}th:first-child{text-align:left}.dashboard-footer{color:var(--secondary);border-top:1px solid #21192f;justify-content:space-between;align-items:center;gap:20px;padding-top:18px;font-size:11px;line-height:1.7;display:flex}.text-button{color:var(--secondary);text-underline-offset:4px;white-space:nowrap;background:0 0;border:0;padding:8px 4px;text-decoration:underline}:fullscreen .fullscreen-button{display:none}.text-button:hover{color:var(--cyan)}.auth-page{background:radial-gradient(at 50% 45%,#1b1037,#0000 65%);flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:64px 24px 32px;display:flex}.auth-brand{text-align:center}.auth-brand .wordmark{font-size:clamp(32px,5vw,56px)}.auth-brand .subtitle{font-size:12px}.auth-panel{background:#090615a8;border:1px solid #302242;align-items:center;gap:36px;width:min(100%,750px);margin:52px 0;padding:32px;display:flex;box-shadow:0 0 50px #08051180}.auth-panel .racer{flex:0 0 210px}.auth-content{flex:1}.eyebrow{color:var(--green);text-transform:uppercase;letter-spacing:.2em;font-size:11px}.auth-content h1{letter-spacing:-.04em;margin:14px 0;font-size:25px}.auth-description{color:#b4adc5;font-size:14px;line-height:1.7}.primary-button{border:1px solid var(--cyan);width:100%;color:var(--cyan);background:#35dfff0b;margin-top:24px;padding:16px 12px;font-size:13px;font-weight:700;box-shadow:0 0 16px #35dfff10}.primary-button:hover:not(:disabled){background:#35dfff20}.auth-hint{color:var(--secondary);margin-top:20px;font-size:11px;line-height:1.8}.auth-goal{color:var(--green);text-transform:uppercase;letter-spacing:.1em;font-size:12px}.auth-goal span{color:var(--secondary)}.loading-screen{text-align:center;color:var(--cyan);padding:25vh 24px}.settings-page{overflow-wrap:anywhere;width:min(100%,640px);margin:0 auto;padding:40px 24px}.settings-page>header{margin:40px 0 30px}.settings-page h1{font-size:28px}.settings-name{color:var(--cyan);margin-bottom:0;font-size:20px}.settings-panel{background:#090615a8;border:1px solid #302242;padding:24px;font-size:13px;line-height:1.7}.settings-panel h2,.settings-panel h3{margin-top:0;font-size:20px}.settings-panel .primary-button{text-align:center;text-decoration:none;display:block}.connection-status{color:var(--cyan)}.disconnect-button{margin-top:24px}.user-management{border-top:1px solid #302242;margin-top:40px;padding-top:24px}.settings-section-header{margin-bottom:24px}.settings-section-header h2{margin-top:0;font-size:22px}.settings-page--admin{width:min(100%,1040px)}.user-management h3{font-size:20px}.admin-form{margin-top:24px}.admin-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.user-management label{color:#b4adc5;font-size:12px;display:block}.user-management input{color:#eeeaf8;background:#080511;border:1px solid #45335a;border-radius:0;width:100%;min-width:0;margin-top:8px;padding:12px;font-size:14px;display:block}.admin-actions{flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:18px;display:flex}.admin-actions .primary-button{width:auto;margin:0;padding-inline:24px}.admin-invitation{border:1px solid var(--green);background:#00eda008;margin-top:24px;padding:24px;font-size:13px;line-height:1.7}.admin-invitation h3{color:var(--green);margin-top:0}.admin-invitation label{margin-top:20px}.admin-users{margin-top:40px}.admin-user{background:#090615a8;border:1px solid #302242;margin-top:16px;padding:24px;font-size:12px;line-height:1.7}.admin-user-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.admin-user h4{color:var(--cyan);margin:0 0 4px;font-size:17px}.admin-you,.admin-count{color:var(--secondary);font-size:12px}.admin-badges{color:var(--secondary);flex-wrap:wrap;gap:8px;display:flex}.admin-success{color:var(--green);margin-top:12px}.danger-button{color:#ff819f}.dashboard-footer{flex-wrap:wrap}@media (width<=580px){.admin-fields{grid-template-columns:1fr}.settings-page--admin{padding-inline:16px}.admin-user,.admin-invitation,.settings-page--admin .settings-panel{padding:20px 16px}}@media (width>=1700px){.dashboard{padding-inline:max(3%,50vw - 850px)}}@media (width<=1250px){.participant{flex-wrap:wrap;gap:7px}.participant-name{font-size:17px}.participant-weight{font-size:16px}.race-badge{padding:4px;font-size:9px}.remaining{font-size:10px}.race-art{right:9%}}@media (width<=900px){.race--live .participant-name{white-space:normal;overflow-wrap:anywhere;flex:calc(100% - 26px);max-width:none}.label-connector{display:none}.dashboard{padding:32px 22px 20px}.race-header{flex-direction:column;gap:8px}.subtitle{letter-spacing:.1em;font-size:11px}.subtitle span{padding-inline:4px}.sample-indicator{margin-top:8px;font-size:10px}.race{margin-top:30px}.race-art{transform-origin:100% 0;top:-166px;right:0;transform:scale(.52)}.race-chart{width:100%;height:420px}.race-standings{grid-template-columns:1fr 1fr;gap:4px 22px;height:auto;margin:20px 0;display:grid;position:static}.participant{border-bottom:1px solid #21192f;gap:10px;min-height:58px;padding:12px 4px;position:static;transform:none}.participant-name{font-size:18px}.participant-weight{margin-left:auto;font-size:17px}.remaining,.race-badge{font-size:10px}.race-data{margin-left:0}}@media (width<=580px){.dashboard{padding-inline:16px}.wordmark{font-size:29px}.race-art{display:none}.race-chart{height:340px}.race-standings{grid-template-columns:1fr}.axis-label{font-size:11px}.goal-label{font-size:12px}.participant{min-height:56px}.participant-weight{margin-left:0}.race-badge,.remaining{margin-left:auto}.personal-low{margin-left:0}.dashboard-footer{font-size:10px}.auth-page{padding:32px 20px}.auth-panel{flex-direction:column;gap:0;margin:28px 0;padding:16px 24px 28px}.auth-panel .racer{--racer-pixel:4.5px;flex-basis:auto;width:180px;height:215px}.auth-panel .racer-sprite{width:414px;height:414px;top:-94px;left:-113px}.auth-content{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
