:root{color-scheme:dark;--hl-ink:#eef6ee;--hl-teal:#63e3de;--hl-gold:#ffda83;--hl-edge:#406b72}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:#071722;color:var(--hl-ink);font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;font-weight:700;color:#e9f8f8;border:1px solid #568d96;border-radius:9px;background:linear-gradient(#154654,#092936);padding:10px 15px;cursor:pointer;box-shadow:inset 0 1px #ffffff13,0 2px 4px #0005}
button:hover:not(:disabled){filter:brightness(1.13)}
button:disabled{opacity:.55;cursor:wait}
button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #71ffec;outline-offset:4px}
button.hl-gold{color:#31200b;background:linear-gradient(#ffe9a9,#ecc46b 48%,#c38b34);border-color:#fff0b8;text-shadow:0 1px #fff5;box-shadow:inset 0 1px #fff8,0 3px 9px #0005}
.hl-nav{max-width:1480px;margin:auto;padding:16px 24px;display:flex;justify-content:space-between;gap:16px;color:#bed6db;font-size:14px}
.hl-nav a{color:#b9edec;text-decoration:none}
.hl-nav a:hover{text-decoration:underline}
.hl-island{max-width:1480px;margin:0 auto;padding:12px 24px 30px}
.is-embed .hl-nav,.is-embed .hl-skip{display:none}
.is-embed .hl-island{padding:12px 10px 22px}
.hl-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 4px 23px}
.hl-heading h1{font:700 clamp(30px,4vw,48px)/1.1 Georgia,serif;margin:3px 0 5px;color:#ffe2a2;text-shadow:0 2px 1px #000}
.hl-heading p{margin:0;color:#c1dade}
.hl-eyebrow{font-size:11px!important;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--hl-teal)!important}
.hl-draft{border:1px solid #507b75;background:#153c39;border-radius:50px;padding:7px 13px;font-size:12px;color:#d5ece0;white-space:nowrap}
.hl-course-picker{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;border:1px solid #416873;border-radius:12px;background:linear-gradient(120deg,#0f3038,#0b202b);padding:15px 18px;margin:0 0 18px}
.hl-course-picker>div:first-child{flex:1 1 260px;min-width:0}
.hl-course-picker p{margin:3px 0;font-size:13px;color:#c3dce0}
.hl-course-options{display:flex;flex:1 1 650px;gap:10px;min-width:0}
.hl-course-options button{flex:1;min-width:0;text-align:left;font-size:15px;padding:10px 14px}
.hl-course-options small{display:block;font-size:11px;font-weight:400;color:#c9dee0;margin-top:3px}
.hl-course-options button[aria-pressed=true]{border-color:#ffdd94;background:linear-gradient(135deg,#4b4027,#283932);box-shadow:inset 0 0 0 1px #ffdd9455;color:#ffe8b3}
.hl-course-picker .hl-course-note{flex-basis:100%;font-size:11px;color:#98b9c0;margin:0}
.hl-stage{position:relative;isolation:isolate;border:3px solid #ac7d38;padding:4px;border-radius:14px;background:#24180e;box-shadow:0 0 0 1px #e9c98466,0 12px 40px #0006;overflow:hidden}
.hl-stage canvas{width:100%;height:auto;aspect-ratio:16/9;display:block;border-radius:8px;touch-action:none;user-select:none;background:#207889;cursor:pointer}
.hl-hud{position:absolute;inset:18px 19px auto;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;pointer-events:none}
.hl-time,.hl-score,.hl-route{border:1px solid #dfb768;border-radius:9px;background:linear-gradient(120deg,#092e37f5,#061c25ec);padding:10px 20px;box-shadow:0 3px 10px #0005,inset 0 0 0 3px #9f763622;min-width:160px;text-align:center}
.hl-time small,.hl-score small,.hl-route>span{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#d6ece5}
.hl-time strong,.hl-score strong{display:block;font:700 32px/1.1 Georgia,serif;font-variant-numeric:tabular-nums;color:#ffe6a8;min-width:100px}
.hl-time>span,.hl-score>span{font-size:10px;color:#d2e0d9}
.hl-score{border-color:#ffe099}
.hl-score b{font-weight:600}
#hlMultiplier{color:#ffdf82}
.hl-route{width:220px;padding:10px 15px}
.hl-route small{font-size:11px;color:#d7e9e9}
.hl-route [role=progressbar]{height:10px;border-radius:10px;border:1px solid #ad9254;background:#041b20;margin:8px 0 3px;overflow:hidden}
.hl-route i{display:block;height:100%;width:0;background:linear-gradient(#87fff1,#13aeb8);border-radius:10px;transition:width .12s linear}
.hl-overlay{position:absolute;inset:0;display:grid;place-items:center;padding:22px;background:#00182055;backdrop-filter:blur(3px);z-index:3}
.hl-overlay[hidden],.hl-countdown[hidden],[hidden]{display:none!important}
.hl-overlay-card{width:min(520px,100%);padding:30px 34px;border:1px solid #529291;border-radius:18px;background:linear-gradient(150deg,#103e42f5,#061c29f7);text-align:center;box-shadow:0 15px 55px #0006}
.hl-overlay-card .hl-eyebrow{margin:0 0 8px}
.hl-overlay-card h2{font:700 clamp(27px,3.5vw,43px)/1.08 Georgia,serif;color:#ffe9b9;margin:7px 0 17px;text-shadow:0 2px 1px #000}
.hl-overlay-card>p{font-size:15px;margin:12px 0;color:#d6e9e8}
.hl-overlay-card .hl-overlay-note{font-size:12px;color:#b5d7d4;margin:16px 0}
.hl-overlay-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;margin-top:20px}
.hl-overlay-actions .hl-gold{min-width:215px;padding:13px 20px}
.hl-countdown{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;font:700 clamp(50px,10vw,100px)/1 Georgia,serif;color:#fff0b9;text-shadow:0 4px 0 #633918,0 0 30px #081f2b;z-index:2}
.hl-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;margin:17px 2px 0}
.hl-controls p{font-size:13px;color:#bedbdf;margin:0}
.hl-controls kbd{font:12px system-ui;border:1px solid #487079;border-bottom-width:3px;padding:2px 5px;border-radius:4px;background:#0b2934;color:#ecf4f0}
.hl-buttons{display:flex;flex-wrap:wrap;gap:7px}
.hl-buttons button{font-size:13px}
.hl-jump{display:none}
.hl-jump small,.hl-duck small{display:block;font-size:10px}
.hl-duck{touch-action:none;user-select:none;min-width:105px}
.hl-duck[aria-pressed=true]{background:linear-gradient(#427266,#154133);border-color:#ffe198;color:#fff0b7;box-shadow:inset 0 0 0 2px #ffe19844}
.hl-status{min-height:1.5em;font-size:13px;margin:14px 3px;color:#8be5dc}
.hl-summary{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;border:1px solid #285361;background:#071d28;border-radius:10px;padding:13px 18px;color:#a9c8cf;font-size:12px}
.hl-summary b{font-size:16px;color:#ffe0a3;margin-left:8px;font-variant-numeric:tabular-nums}
.hl-practice{margin-left:auto}
.hl-daily-change{display:grid;gap:4px;font-size:14px;text-align:right;color:#ffe0a3}
.hl-daily-change small{font-size:12px;color:#bad9da}
.hl-rankings{margin:24px 0;display:grid;gap:18px}
.hl-ranking-notice{margin:0 4px;color:#a8d7d6;font-size:13px}
.hl-ranking-panel{min-width:0;padding:22px;border:1px solid #416873;border-radius:14px;background:linear-gradient(135deg,#102f38,#091c28)}
.hl-ranking-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.hl-ranking-heading h2{font:700 28px Georgia,serif;color:#ffe2a2;margin:3px 0 8px}
.hl-ranking-heading p{margin:3px 0;font-size:13px;color:#b8d5d8}
.hl-ranking-heading button{font-size:12px}
.hl-season-countdown{font-size:13px;color:#9de7dc}
.hl-daily-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:19px 0;max-height:650px;overflow-y:auto}
.hl-daily-podium>p{grid-column:1/-1;color:#c1d5d9;font-size:14px}
.hl-daily-podium article{border:1px solid #50717e;border-radius:12px;padding:16px;text-align:center;background:#071e2c;overflow-wrap:anywhere}
.hl-daily-podium article.hl-rank-1{border-color:#d3ad58;background:linear-gradient(145deg,#3e3824,#122c2b)}
.hl-daily-podium article.hl-rank-2{border-color:#a1b5bd}
.hl-daily-podium article.hl-rank-3{border-color:#b58a66}
.hl-daily-podium article p{margin:6px 0;color:#d4e2df;font-size:13px}
.hl-daily-podium article p:last-child{font-size:11px;color:#b5d1d5}
.hl-daily-podium h3{margin:10px 0;color:#ffe3a9;font-size:19px}
.hl-personal-ranking{border-left:3px solid #69dacc;background:#0c3740;padding:11px 14px;font-size:13px;border-radius:0 8px 8px 0}
.hl-season-prizes{display:flex;gap:12px;flex-wrap:wrap;margin:19px 0}
.hl-season-prizes span{flex:1 1 160px;border:1px solid #53614e;border-radius:9px;background:#102b2a;padding:10px 14px;font-size:13px}
.hl-season-prizes b{display:block;color:#ffde92;margin-top:3px}
.hl-ranking-table-wrap{width:100%;max-height:560px;overflow:auto}
.hl-ranking-table{border-collapse:collapse;width:100%;font-size:14px;font-variant-numeric:tabular-nums}
.hl-ranking-table th,.hl-ranking-table td{padding:12px 10px;text-align:left;border-bottom:1px solid #28444e;overflow-wrap:anywhere}
.hl-ranking-table thead{color:#b2d3d4;font-size:12px}
.hl-ranking-table tbody th{color:#f0e6cc;font-weight:600}
.hl-ranking-table tr.hl-rank-1{background:#d7aa4520}
.hl-ranking-table tr.hl-rank-2{background:#bdcedb12}
.hl-ranking-table tr.hl-rank-3{background:#c38f5912}
.hl-ranking-table .is-you{box-shadow:inset 3px 0 #65e1d7}
.hl-ranking-fineprint,.hl-ranking-rules{font-size:12px;color:#b5cdd1;line-height:1.65}
.hl-ranking-rules{margin-top:16px;border-top:1px solid #34505a;padding-top:14px}
.hl-ranking-rules summary{cursor:pointer;color:#d5ede7;font-weight:700}
.hl-ranking-rules p{max-width:1000px}
.hl-season-archive>summary{cursor:pointer;min-height:28px;font:700 21px/1.4 Georgia,serif;color:#ffe2a2;overflow-wrap:anywhere}
.hl-season-archive>summary::marker{color:#69dacc}
.hl-season-archive>summary:focus-visible{outline:2px solid #69dacc;outline-offset:6px;border-radius:4px}
.hl-archive-content{margin-top:17px}
.hl-archive-table caption{text-align:left;padding:0 0 10px;color:#d5ede7;font-weight:700}
.hl-archive-table td:last-child{color:#ffde92}
.hl-run-stats{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,2fr);gap:16px;align-items:center}
.hl-run-stats h2{margin:0;font:700 24px Georgia,serif;color:#ffe2a2}
.hl-run-stats p{margin:5px 0 0;font-size:12px;color:#b5cdd1}
.hl-run-stats .hl-eyebrow{color:#63e3de}
.hl-run-stats dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0}
.hl-run-stats dl>div{padding:10px 7px;border:1px solid #345965;border-radius:8px;text-align:center;background:#092631;min-width:0}
.hl-run-stats dt{color:#b2d3d4;font-size:10px;text-transform:uppercase}
.hl-run-stats dd{margin:4px 0 0;font:700 22px Georgia,serif;color:#ffe2a2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.hl-run-stats #hlStatsNote{grid-column:1/-1}
.hl-help{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;padding:25px 7px 0;color:#b1cdd0}
.hl-help-intro{grid-column:1/-1}
.hl-help h2{font:700 24px/1.18 Georgia,serif;color:#f5dea8;margin:6px 0 10px}
.hl-help p{font-size:13px;margin:5px 0}
.hl-help article{padding-left:19px;border-left:1px solid #2b5059}
.hl-help h3{font-size:15px;color:#e3eee6;margin:7px 0}
.hl-help-number{font:700 21px Georgia,serif;color:#bd9856}
.hl-pearl-sample{display:inline-block;width:16px;height:16px;vertical-align:-2px;border:1px solid #efffff;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fff 5%,#c5edee 45%,#5c9ba5 85%);box-shadow:0 0 8px #adf5f83d}
.hl-pearl-sample.is-gold{border-color:#ffecab;background:radial-gradient(circle at 30% 25%,#fff6ce 5%,#ffe080 40%,#b77917 85%);box-shadow:0 0 8px #ffd17745}
.hl-skip{position:absolute;left:15px;top:-80px;z-index:20;padding:10px;background:#142f3c;color:#fff}
.hl-skip:focus{top:10px}
@media(pointer:coarse){
.hl-jump{display:block;touch-action:none;min-width:120px;user-select:none}}
@media(max-width:900px){
.hl-run-stats{grid-template-columns:1fr}
.hl-help{grid-template-columns:1fr 1fr}
.hl-help-intro{grid-column:1/-1}
.hl-heading{align-items:flex-start;flex-direction:column;gap:12px}
.hl-controls{justify-content:center}
.hl-controls p{text-align:center}
.hl-practice{margin-left:0}
.hl-nav>span{display:none}}
@media(max-width:600px){
.hl-run-stats dl{grid-template-columns:repeat(2,minmax(0,1fr))}
.hl-ranking-panel{padding:15px 12px}
.hl-ranking-heading h2{font-size:24px}
.hl-daily-change{text-align:left;font-size:12px}
.hl-daily-podium{gap:8px;grid-template-columns:1fr}
.hl-daily-podium article{padding:11px 14px}
.hl-daily-podium h3{font-size:17px;margin:5px 0}
.hl-season-prizes{gap:7px}
.hl-season-prizes span{flex-basis:85px;padding:8px;font-size:11px}
.hl-ranking-table{table-layout:fixed;font-size:12px}
.hl-ranking-table th,.hl-ranking-table td{padding:10px 5px}
.hl-ranking-table th:first-child{width:13%}
.hl-ranking-table th:nth-child(2){width:35%}
.hl-ranking-table thead{font-size:10px}
.hl-season-archive>summary{font-size:19px}
.hl-archive-table th:first-child{width:11%}
.hl-archive-table th:nth-child(2){width:28%}
.hl-course-picker{padding:11px 12px;gap:8px;margin-bottom:12px}
.hl-course-picker p{font-size:12px}
.hl-course-options{flex-basis:100%;flex-direction:column;gap:7px}
.hl-course-options button{font-size:13px;padding:9px}
.hl-course-options small{font-size:10px}
.hl-course-picker .hl-course-note{font-size:10px}
.hl-island{padding:8px 9px 20px}
.is-embed .hl-island{padding:8px 4px 16px}
.hl-heading{padding:8px 6px 15px;gap:8px}
.hl-heading>div>p:last-child{font-size:12px}
.hl-draft{font-size:10px;padding:5px 9px}
.hl-heading .hl-eyebrow{font-size:9px!important}
.hl-stage{border-width:2px;padding:2px;border-radius:10px}
.hl-stage canvas{aspect-ratio:4/3}
.hl-hud{inset:10px 10px auto;gap:5px;display:grid;grid-template-columns:1fr 1fr 1fr}
.hl-time,.hl-score,.hl-route{padding:6px 3px;min-width:0;border-radius:6px}
.hl-time strong,.hl-score strong{font-size:22px;min-width:0}
.hl-time small,.hl-score small,.hl-route>span{font-size:8px;letter-spacing:.03em}
.hl-time>span,.hl-score>span,.hl-route small{font-size:8px}
.hl-route{width:auto}
.hl-route [role=progressbar]{margin:5px 0 1px;height:7px}
.hl-overlay{padding:9px;background:#00182080}
.hl-overlay-card{padding:15px 17px;border-radius:12px;max-width:355px}
.hl-overlay-card h2{font-size:25px;margin:4px 0 8px}
.hl-overlay-card>p{font-size:12px;line-height:1.45;margin:6px 0}
.hl-overlay-card .hl-eyebrow{font-size:8px!important;margin:0 0 5px}
.hl-overlay-card .hl-overlay-note{font-size:10px;margin:7px 0}
.hl-overlay-actions{margin-top:10px;gap:5px}
.hl-overlay-actions button{font-size:12px}
.hl-overlay-actions .hl-gold{min-width:180px;padding:9px 12px}
.hl-buttons{justify-content:center}
.hl-buttons button{padding:8px 10px;font-size:11px}
.hl-controls p{font-size:10px}
.hl-controls kbd{font-size:10px}
.hl-status{font-size:12px}
.hl-summary{gap:7px 13px;padding:10px 12px;font-size:11px}
.hl-summary b{font-size:14px;margin-left:5px}
.hl-help{gap:18px 12px;padding:20px 6px 0}
.hl-help article{padding-left:10px}
.hl-help h3{font-size:13px}
.hl-help p{font-size:12px}
.hl-nav{padding:12px;font-size:12px}}
@media(prefers-reduced-motion:reduce){
.hl-route i{transition:none}}
@media(max-width:360px){
.hl-stage canvas{aspect-ratio:1/1}
.hl-overlay-card{padding:14px}
.hl-hud{inset:9px 8px auto;gap:4px}}
