:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{color:#e9edf5;min-height:100svh;font-family:var(--font,system-ui), sans-serif;background:#0b0e1a;margin:0}#root{min-height:100svh}*{box-sizing:border-box}:root{--font:"Galmuri11", system-ui, sans-serif;--font-big:"Galmuri14", "Galmuri11", system-ui, sans-serif;--castle:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 300' preserveAspectRatio='xMidYMax slice'%3E%3Cpath fill='%23241540' d='M0 300V226Q150 176 300 214T600 204T900 210T1200 192V300Z'/%3E%3Cpath fill='%23140b28' d='M440 300V176h22v-16h12v16h16v-16h12v16h22V122h-10V102h10V62l26-42 26 42v40h10v20h-10v52h44v-62h-8V94h8V70l18-30 18 30v24h8v16h-8v64h22v-16h12v16h16v-16h12v16h22V300Z'/%3E%3Cpath fill='%23140b28' d='M120 300v-70h14v-10h10v10h12v-10h10v10h14v70Z M1010 300v-84h14v-10h10v10h12v-10h10v10h14v84Z'/%3E%3Crect fill='%23ffd27a' x='557' y='84' width='10' height='16' rx='5'/%3E%3Crect fill='%23ffd27a' x='632' y='118' width='8' height='12' rx='4'/%3E%3Crect fill='%23ffd27a' x='488' y='200' width='8' height='12' rx='4'/%3E%3Crect fill='%23ffb85c' x='1036' y='236' width='8' height='10' rx='4'/%3E%3C/svg%3E")}.app{--page:#07051a;--on-page:#f4f1ff;--panel:#1c1646;--text:#f4f1ff;--muted:#a9a3d9;--frame:#8b7bff;--drop:#2b2170;--sunken:#0e0a28;--acc:#ffd27a;--acc-ink:#2a1a05;--acc2:#6ff3ff;--acc2-ink:#05202a;--ok:#5dfc9a;--bad:#ff6b8a}.app[data-world=fantasy]{--page:#2a1c44;--on-page:#ffe8bd;--panel:#f3e2bd;--text:#3a2615;--muted:#7b5c3c;--frame:#4a2c12;--drop:#28140573;--sunken:#fffaf0;--acc:#d9a13c;--acc-ink:#2a1606;--acc2:#6b8f3a;--acc2-ink:#fffaf0;--ok:#2f7d32;--bad:#a3322b}.app[data-world=cyber]{--page:#07041a;--on-page:#e6fbff;--panel:#120d30;--text:#e6fbff;--muted:#8fb3c9;--frame:#00d9f2;--drop:#ff2bd68c;--sunken:#05040f;--acc:#ff2bd6;--acc-ink:#fff;--acc2:#00e5ff;--acc2-ink:#021318;--ok:#00ffa3;--bad:#ff5b8a}.app[data-world=arcade]{--page:#000;--on-page:#fff;--panel:#0b0b18;--text:#fff;--muted:#a6a6c8;--frame:#ffd400;--drop:#ff3864;--sunken:#000;--acc:#ffd400;--acc-ink:#111;--acc2:#3cf;--acc2-ink:#021318;--ok:#39ff14;--bad:#ff3864}body{background:var(--page,#07051a)}.app{min-height:100svh;color:var(--on-page);background:var(--page);font-family:var(--font)}button,input,select{font:inherit}.muted{color:var(--muted)}.small{font-size:13px}.bad{color:var(--bad)}:focus-visible{outline:3px solid var(--acc2);outline-offset:4px}.panel,.btn:not(.text),.chip,.field,.input,.select,.track,.timebar{--b:3px;--f:var(--frame);box-shadow:calc(var(--b) * -1) 0 0 0 var(--f), var(--b) 0 0 0 var(--f), 0 calc(var(--b) * -1) 0 0 var(--f), 0 var(--b) 0 0 var(--f), 0 calc(var(--b) * 2) 0 0 var(--drop);border:0;border-radius:0}.panel{--b:4px;background:var(--panel);color:var(--text);padding:20px}.panel h2{margin:0;font-size:20px;font-weight:700}.notice{text-align:center;justify-items:center;gap:16px;padding:32px 16px;display:grid}.btn{background:var(--panel);color:var(--text);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:16px;font-weight:700;line-height:1;transition:transform 80ms steps(2,end),filter .12s;display:inline-flex}.btn:hover{filter:brightness(1.12)}.btn:active:not(:disabled){transform:translateY(var(--b));box-shadow:calc(var(--b) * -1) 0 0 0 var(--f), var(--b) 0 0 0 var(--f), 0 calc(var(--b) * -1) 0 0 var(--f), 0 var(--b) 0 0 var(--f)}.btn:disabled{cursor:progress;filter:saturate(.4)brightness(.8)}.btn.primary,.btn.on{background:var(--acc);color:var(--acc-ink)}.btn.small{--b:2px;padding:6px 12px;font-size:13px}.btn.big{--b:4px;padding:16px 28px;font-size:20px}.btn.text{color:var(--muted);background:0 0;border:0;padding:6px 0;font-weight:400}.btn.text:hover{color:var(--text);filter:none}.chip{--b:2px;background:var(--panel);color:var(--text);white-space:nowrap;align-items:center;gap:6px;padding:4px 10px;font-size:13px;line-height:1.2;display:inline-flex}.chip.strong{background:var(--acc);color:var(--acc-ink);font-weight:700}.chip .dot{background:var(--dot,var(--acc));width:8px;height:8px}.chip[data-world=fantasy]{--dot:#d9a13c}.chip[data-world=cyber]{--dot:#00e5ff}.chip[data-world=arcade]{--dot:#ff3864}.field,.input{background:var(--sunken);width:100%;min-width:0;color:var(--text);padding:14px 16px;font-size:20px}.input{font-family:var(--font-big)}.field:focus,.input:focus{--f:var(--acc2);outline:none}.input.wrong{--f:var(--bad)}.select{--b:2px;background:var(--panel);color:var(--text);cursor:pointer;padding:6px 8px;font-size:13px}.select option{color:#111;background:#fff}.topbar{z-index:20;align-items:center;gap:12px;max-width:1100px;margin:0 auto;padding:16px;display:flex;position:relative}.brand{color:var(--on-page);cursor:pointer;text-shadow:2px 2px #00000073;background:0 0;border:0;padding:0;font-size:20px;font-weight:700}.nav{align-items:center;gap:12px;margin-left:auto;display:flex}.view-landing .topbar,.view-play .topbar{position:absolute;left:0;right:0}.page{max-width:880px;margin:0 auto;padding:8px 16px 48px}.sprite{width:calc(72px * var(--s,1));height:calc(96px * var(--s,1));image-rendering:pixelated;background-repeat:no-repeat;background-size:600% 100%;flex:none;animation:1.1s steps(3,end) infinite sprite-idle;display:inline-block}.sprite.cheer{animation:.55s steps(3,end) infinite sprite-cheer}.sprite.me{filter:drop-shadow(0 0 6px #ffffffe6)}@keyframes sprite-idle{0%{background-position:0 0}to{background-position:60% 0}}@keyframes sprite-cheer{0%{background-position:60% 0}to{background-position:120% 0}}.journey{isolation:isolate;background:radial-gradient(120% 80% at 50% 0,#1b1150 0%,#0b0724 45%,#05030f 100%);min-height:100svh;position:relative;overflow:hidden}.starfield{z-index:-1;pointer-events:none;position:absolute;inset:0}.stars{background-repeat:repeat;animation:120s linear infinite drift;position:absolute;inset:-50% 0 0}.stars.s1{opacity:.7;background-image:radial-gradient(1px 1px at 20px 30px,#fff,#0000),radial-gradient(1px 1px at 120px 80px,#cfe3ff,#0000),radial-gradient(1.5px 1.5px at 200px 150px,#fff,#0000),radial-gradient(1px 1px at 300px 40px,#ffe9c4,#0000);background-size:340px 220px}.stars.s2{opacity:.5;background-image:radial-gradient(2px 2px at 60px 120px,#fff,#0000),radial-gradient(1.5px 1.5px at 260px 200px,#b9f3ff,#0000);background-size:420px 300px;animation-duration:70s}@keyframes drift{to{transform:translateY(50%)}}.aurora{filter:blur(90px);opacity:.4;border-radius:50%;width:60vmax;height:60vmax;animation:18s ease-in-out infinite alternate float;position:absolute}.aurora.a1{background:#f2a93b;top:-10vmax;left:-20vmax}.aurora.a2{opacity:.3;background:#00e5ff;animation-delay:-6s;top:5vmax;right:-25vmax}.aurora.a3{opacity:.28;background:#ff2bd6;animation-delay:-12s;bottom:-35vmax;left:20vmax}@keyframes float{to{transform:translate(6vmax,4vmax)scale(1.12)}}.journey-stage{z-index:2;place-items:center;max-width:1100px;min-height:100svh;margin:0 auto;padding:96px 16px 260px;display:grid;position:relative}.journey-stage>*{animation:.5s steps(5,end) both rise}@keyframes rise{0%{opacity:0;transform:translateY(20px)}}.hero{text-align:center;justify-items:center;gap:16px;max-width:760px;display:grid}.kicker{margin:0}.hero-title{margin:8px 0 0;font-size:clamp(44px,10vw,104px);font-weight:700;line-height:1}.glow{background:linear-gradient(100deg,#ffd27a 0%,#fff4d6 20%,#6ff3ff 45%,#ff6be6 70%,#ffd27a 100%) 0 0/200% 100%;color:#0000;filter:drop-shadow(4px 4px #0000008c);-webkit-background-clip:text;background-clip:text;animation:6s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.hero-sub{margin:0;font-size:28px;font-weight:700}.hero-lead{color:var(--muted);max-width:620px;margin:0 0 12px;font-size:16px;line-height:1.8}.hero-actions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.world-chips{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;display:flex}.name-panel{gap:16px;width:min(560px,100%);padding:28px;display:grid}.step-label{color:var(--acc2);margin:0;font-size:13px}.name-panel h2{font-size:28px}.name-form{flex-wrap:wrap;gap:12px;display:flex}.name-form .field{flex:220px}.auth-row{border-top:2px dashed color-mix(in srgb, var(--text) 18%, transparent);flex-wrap:wrap;align-items:center;gap:12px;padding-top:16px;display:flex}.gis{min-height:40px}.back{justify-self:start}.parade{z-index:1;pointer-events:none;padding-bottom:12px;transition:opacity .4s;position:absolute;bottom:0;left:0;right:0}.parade.dim{opacity:.35}.parade:before{content:"";z-index:-1;background:linear-gradient(#0000,#05030fe6);height:160px;position:absolute;bottom:0;left:0;right:0}.parade-row{align-items:flex-end;gap:12px;width:max-content;animation:90s linear infinite march;display:flex}.parade-row.r1{opacity:.75;margin-top:-12px;animation-duration:120s;animation-direction:reverse}@keyframes march{to{transform:translate(-50%)}}.world{isolation:isolate;min-height:100svh;padding-top:64px;position:relative}.world-backdrop{z-index:-1;pointer-events:none;position:fixed;inset:0}.world-inner{gap:20px;max-width:1000px;margin:0 auto;padding:8px 16px 48px;display:grid}.world-bar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.world-name{color:var(--on-page);text-shadow:2px 2px #00000073;font-size:20px;font-weight:700}.me-chip{padding-left:4px}.me-chip .sprite{margin:-10px 0 -6px}.leave{margin-left:auto}.round-meta{align-items:baseline;gap:12px;display:flex}.round-no{color:var(--muted);font-size:16px;font-weight:700}.live-speed{color:var(--acc2);font-variant-numeric:tabular-nums;margin-left:auto;font-size:20px;font-weight:700}.round .live-speed{color:var(--text)}.live-speed small{color:var(--muted);margin-left:4px;font-size:13px}.timer{color:var(--muted);font-variant-numeric:tabular-nums}.result .round-meta .timer{margin-left:auto}.timebar{--b:2px;background:var(--sunken);--f:var(--frame);height:12px;box-shadow:calc(var(--b) * -1) 0 0 0 var(--f), var(--b) 0 0 0 var(--f), 0 calc(var(--b) * -1) 0 0 var(--f), 0 var(--b) 0 0 var(--f);margin:12px 0 20px}.timebar div{background:repeating-linear-gradient(90deg, var(--acc) 0 10px, transparent 10px 12px);height:100%;transition:width .2s steps(4,end)}.sentence{font-family:var(--font-big);word-break:keep-all;-webkit-user-select:none;user-select:none;color:var(--text);margin:0 0 16px;font-size:clamp(22px,4.2vw,28px);line-height:1.6}.seg.ok{color:var(--ok)}.feedback{min-height:20px;color:var(--muted);margin-top:12px;font-size:13px}.feedback.bad{color:var(--bad)}.submitted{--b:3px;--f:var(--ok);text-align:center;color:var(--ok);background:var(--sunken);box-shadow:calc(var(--b) * -1) 0 0 0 var(--f), var(--b) 0 0 0 var(--f), 0 calc(var(--b) * -1) 0 0 var(--f), 0 var(--b) 0 0 var(--f);padding:16px;font-size:20px;font-weight:700}.live{color:var(--muted);flex-wrap:wrap;gap:16px;margin-top:16px;font-size:13px;display:flex}.firsts{color:var(--text);font-weight:700}.countdown{font-size:20px}.result-text{color:var(--muted);margin:8px 0 12px}.you{color:var(--ok);margin-bottom:8px;font-size:20px;font-weight:700}.you.missed{color:var(--muted);font-size:16px;font-weight:400}.podium{grid-template-columns:1fr 1.15fr 1fr;align-items:end;gap:12px;margin:12px 0 24px;display:grid}.step{justify-items:center;gap:4px;min-width:0;display:grid}.step-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:700;overflow:hidden}.step-block{background:var(--acc2);width:100%;color:var(--acc2-ink);justify-items:center;gap:4px;padding:12px 4px;display:grid;box-shadow:inset 0 4px #ffffff40,inset 0 -4px #0003}.step.p1 .step-block{background:var(--acc);color:var(--acc-ink);min-height:96px}.step.p2 .step-block{min-height:72px}.step.p3 .step-block{min-height:52px}.step-block b{font-size:28px;line-height:1}.step-block small{font-size:13px}.result-cols{grid-template-columns:1fr 1fr;gap:24px;display:grid}.result-cols h3{color:var(--muted);margin:0 0 8px;font-size:13px;font-weight:400}.list{align-content:start;gap:4px;margin:0;padding:0;list-style:none;display:grid}.list li{align-items:center;gap:8px;padding:2px 8px;display:flex}.list li.me{background:color-mix(in srgb, var(--acc2) 22%, transparent)}.list .pos{text-align:center;width:24px;color:var(--muted)}.list .name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.list .num{font-variant-numeric:tabular-nums;font-weight:700}.list .sub{color:var(--muted);font-size:13px}.track{--b:4px;isolation:isolate;height:270px;color:var(--on-page);position:relative;overflow:hidden}.track .layer{background-repeat:repeat-x;transition:background-position 1.4s cubic-bezier(.45,.05,.25,1);position:absolute;left:0;right:0}.track .sky{background:var(--page);inset:0}.track .far,.track .mid,.track .near{background-position-y:bottom;bottom:0}.track-head{z-index:60;text-shadow:2px 2px #0009;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex;position:absolute;top:12px;left:12px}.runners{position:absolute;inset:0}.runner{justify-items:center;transition:left 1.4s cubic-bezier(.45,.05,.25,1);display:grid;position:absolute;transform:translate(-50%)}.runner.lane-0{bottom:6px}.runner.lane-1{bottom:18px}.runner.lane-2{bottom:30px}.runner.lane-3{bottom:42px}.runner.lane-4{bottom:54px}.runner .shadow{background:#00000059;width:30px;height:6px;margin-top:-4px}.runner .tag{margin-bottom:4px;padding:2px 6px;font-size:13px}.runner.me .tag{color:#111;background:#fff}.runner.lead .tag{background:var(--acc);color:var(--acc-ink)}.track.moving .runner .sprite.cheer{animation-duration:.35s}.speedlines{z-index:50;pointer-events:none;opacity:0;background:repeating-linear-gradient(0deg, transparent 0 22px, color-mix(in srgb, var(--acc2) 40%, transparent) 22px 24px, transparent 24px 48px);transition:opacity .3s;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 60%);mask-image:linear-gradient(90deg,#000,#0000 60%)}.track.moving .speedlines{opacity:1;animation:.35s linear infinite whoosh}@keyframes whoosh{0%{background-position-x:0}to{background-position-x:-80px}}.world.fantasy .world-backdrop{background:radial-gradient(60% 40% at 80% 18%,#ffecbe59,#0000 70%),linear-gradient(#1d1638 0%,#3f2a5c 40%,#a35f6e 72%,#f0a868 90%,#f7d494 100%)}.world.fantasy .world-backdrop:after{content:"";background:var(--castle) center bottom / max(100%, 900px) auto no-repeat;opacity:.9;height:24vh;position:absolute;inset:auto 0 0}.world.cyber .world-backdrop{background:radial-gradient(50% 40% at 20% 10%,#ff2bd640,#0000 70%),radial-gradient(50% 40% at 85% 25%,#00e5ff33,#0000 70%),linear-gradient(#0a0420 0%,#12062a 55%,#05020d 100%)}.world.cyber .world-backdrop:after{content:"";transform-origin:bottom;background-image:linear-gradient(#00e5ff73 1px,#0000 1px),linear-gradient(90deg,#ff2bd666 1px,#0000 1px);background-size:60px 60px;height:50vh;animation:2.4s linear infinite grid-run;position:absolute;bottom:-5%;left:-50%;right:-50%;transform:perspective(420px)rotateX(64deg);-webkit-mask-image:linear-gradient(#0000,#000 40%);mask-image:linear-gradient(#0000,#000 40%)}@keyframes grid-run{to{background-position:0 60px}}.world.arcade .world-backdrop{background:radial-gradient(1.5px 1.5px at 30px 40px,#fff,#0000) 0 0/120px 90px,radial-gradient(1px 1px at 90px 10px,#3cf,#0000) 0 0/160px 120px,radial-gradient(80% 70% at 50% 40%,#12122a 0%,#000 100%)}.world.arcade .world-backdrop:after{content:"";background:repeating-linear-gradient(0deg,#00000059 0 1px,#0000 1px 3px);position:absolute;inset:0}.world.arcade .countdown{animation:1s steps(2,end) infinite blink}@keyframes blink{50%{opacity:.3}}.view-ranking{background:radial-gradient(120% 80% at 50% 0,#1b1150 0%,#0b0724 45%,#05030f 100%)}.ranking{gap:16px;display:grid}.ranking-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.tabs{gap:12px;display:flex}label.inline{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.my-rank{background:color-mix(in srgb, var(--acc2) 14%, transparent);flex-wrap:wrap;gap:12px;padding:12px;display:flex}.table{border-collapse:collapse;width:100%}.table th,.table td{border-bottom:2px dashed color-mix(in srgb, var(--text) 16%, transparent);text-align:left;padding:8px 6px}.table th{color:var(--muted);font-size:13px;font-weight:400}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table .name{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.footer{z-index:5;max-width:1000px;color:var(--muted);border-top:2px dashed color-mix(in srgb, var(--on-page) 18%, transparent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;padding:24px 16px 32px;font-size:13px;display:flex;position:relative}.footer-brand{color:var(--on-page);font-weight:700}.sheet-backdrop{z-index:100;background:#03020a99;place-items:end center;padding:16px;animation:.15s steps(3,end) both fade;display:grid;position:fixed;inset:0}.sheet{gap:16px;width:min(560px,100%);max-height:calc(100svh - 32px);animation:.25s steps(5,end) both sheet-up;display:grid;overflow:auto}@keyframes fade{0%{opacity:0}}@keyframes sheet-up{0%{opacity:0;transform:translateY(40px)}}.sheet-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.sheet-form{gap:16px;display:grid}.sheet-form p{margin:0}.kinds{flex-wrap:wrap;gap:12px;display:flex}.sheet-label{color:var(--muted);gap:8px;font-size:13px;display:grid}.sheet-label .field{font-size:16px}textarea.field{resize:vertical;min-height:120px;line-height:1.6;font-family:var(--font)}.counter{justify-self:end;font-size:13px}.sheet-actions{justify-content:flex-end;align-items:center;gap:16px;display:flex}.sheet-done{text-align:center;color:var(--ok);margin:0;padding:24px 0;font-size:20px;font-weight:700}.hp{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}@media (prefers-reduced-motion:reduce){.sprite,.sprite.cheer{animation:none}.parade-row,.stars,.aurora,.world-backdrop:after,.journey-stage>*{animation:none!important}}@media (width<=760px){.result-cols{grid-template-columns:1fr}.journey-stage{padding-bottom:200px}}@media (width<=560px){.track{height:230px}.runner .sprite{--s:.5!important}.table th:nth-child(5),.table td:nth-child(5){display:none}.world-name{width:100%}.hero-sub,.name-panel h2{font-size:20px}}.world.fantasy .track .far{background-image:url(/scenery/fantasy-far.webp);background-position-y:bottom;background-size:auto 270px;height:270px}.world.fantasy .track .mid{background-image:url(/scenery/fantasy-mid.webp);background-position-y:bottom;background-size:auto 156px;height:156px}.world.fantasy .track .near{background-image:url(/scenery/fantasy-near.webp);background-position-y:bottom;background-size:auto 169px;height:169px}.world.cyber .track .far{background-image:url(/scenery/cyber-far.webp);background-position-y:bottom;background-size:auto 270px;height:270px}.world.cyber .track .mid{background-image:url(/scenery/cyber-mid.webp);background-position-y:bottom;background-size:auto 184px;height:184px}.world.cyber .track .near{background-image:url(/scenery/cyber-near.webp);background-position-y:bottom;background-size:auto 210px;height:210px}.world.arcade .track .far{background-image:url(/scenery/arcade-far.webp);background-position-y:bottom;background-size:auto 270px;height:270px}.world.arcade .track .mid{background-image:url(/scenery/arcade-mid.webp);background-position-y:bottom;background-size:auto 102px;height:102px}.world.arcade .track .near{background-image:url(/scenery/arcade-near.webp);background-position-y:bottom;background-size:auto 70px;height:70px}
