.runClock{--clock-size: 39px;--control-size: 24px;--control-gap: 12px;position:absolute;top:16px;right:16px;display:flex;align-items:flex-start;justify-content:center;gap:10px;pointer-events:none;opacity:0;transform:scale(1.1);transition:opacity .8s ease,transform .8s ease}.runClock.isVisible{opacity:1;transform:scale(1)}.runClock__controls{display:flex;align-items:center;gap:var(--control-gap);margin-top:calc((var(--clock-size) - var(--control-size)) / 2);opacity:0;transform:translate(12px);transition:opacity .18s ease,transform .18s ease;pointer-events:none}.runClock.isOpen .runClock__controls{opacity:1;transform:translate(0);pointer-events:auto}.runClock__controlButton,.runClock__clockButton{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;margin:0;color:var(--uiText);font:inherit;cursor:pointer;pointer-events:auto}.runClock__controlButton{position:relative;width:var(--control-size);height:var(--control-size);opacity:.3;transition:opacity .18s ease,transform .18s ease}.runClock__controlButton--playPause{opacity:1}.runClock__controlButton:hover,.runClock__controlButton:focus-visible,.runClock__clockButton:hover,.runClock__clockButton:focus-visible{opacity:1;outline:none}.runClock__controlButton:active,.runClock__clockButton:active{transform:scale(.96)}.runClock__controlButton--speed.isBoosted{opacity:1}.runClock__icon{width:22px;height:22px;display:block;fill:currentColor;stroke:currentColor}.runClock__clockButton{display:flex;flex-direction:column;align-items:center;gap:6px}.runClock__face{position:relative;width:var(--clock-size);height:var(--clock-size);border:3px solid var(--uiText);border-radius:999px;background:var(--uiBg);box-sizing:border-box}.runClock__marker{position:absolute;background:var(--uiText);border-radius:999px}.runClock__marker--top,.runClock__marker--bottom{left:50%;width:2px;height:4px;transform:translate(-50%)}.runClock__marker--left,.runClock__marker--right{top:50%;width:4px;height:2px;transform:translateY(-50%)}.runClock__marker--top{top:0}.runClock__marker--right{right:0}.runClock__marker--bottom{bottom:0}.runClock__marker--left{left:0}.runClock__hand{position:absolute;left:50%;top:50%;width:3px;height:13px;background:var(--uiText);border-radius:999px;transform-origin:50% calc(100% - 1px);translate:-50% -100%}.runClock__day{color:var(--uiText);font-size:14px;line-height:1;text-align:center}.linesPanel{--line-dot-active-size: 34px;--line-dot-inactive-size: 27px;--line-delete-width: calc(var(--line-dot-active-size) * 1.5);--line-delete-overlap: 8px;position:absolute;top:50%;right:16px;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:16px;pointer-events:auto;transform:translateY(-50%)}.linesPanel__item{display:flex;align-items:center;justify-content:flex-end;gap:0;width:calc(var(--line-delete-width) + var(--line-dot-active-size) - var(--line-delete-overlap));min-height:var(--line-dot-active-size)}.linesPanel__dotSlot{width:var(--line-dot-active-size);height:var(--line-dot-active-size);display:grid;place-items:center;flex:0 0 var(--line-dot-active-size);position:relative;z-index:2}.linesPanel__dot{-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box;width:var(--line-dot-inactive-size);height:var(--line-dot-inactive-size);padding:0;margin:0;border:2.5px solid var(--uiText);border-radius:var(--borderRadius);box-shadow:none;cursor:pointer;transition:width .14s ease,height .14s ease,transform .14s ease,box-shadow .14s ease}.linesPanel__dot.isActive{width:var(--line-dot-active-size);height:var(--line-dot-active-size);border:3px solid var(--uiText)}.linesPanel__delete{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:0;height:var(--line-dot-active-size);margin:0;border:0;border-radius:var(--borderRadius) 0 0 var(--borderRadius);background:var(--uiText);color:#fff;font:inherit;font-size:14px;line-height:1;cursor:pointer;opacity:0;display:grid;place-items:center start;padding:0 0 0 10px;overflow:hidden;transform:translate(8px);transition:width .18s ease,opacity .25s ease,transform .25s ease}.linesPanel__delete.isVisible{width:calc(var(--line-delete-width) + var(--line-delete-overlap));margin-right:calc(var(--line-delete-overlap) * -1);opacity:1;transform:translate(0)}.linesPanel__delete.isHiding{width:0;margin-right:0;opacity:0;transform:translate(8px)}.linesPanel__deleteIcon{width:16px;height:16px;display:block;flex:0 0 auto;stroke:currentColor}.busesPanel{position:absolute;top:50%;left:16px;z-index:15;display:flex;align-items:center;justify-content:center;pointer-events:auto;transform:translateY(-50%)}.busesPanel__button{position:relative;width:42px;height:42px;display:grid;place-items:center;padding:0;color:var(--buttonBg);background:var(--uiText);border:0;border-radius:var(--borderRadius);cursor:grab;touch-action:none}.busesPanel__button.isDisabled{opacity:.42;cursor:not-allowed;filter:grayscale(1)}.busesPanel__icon{width:24px;height:24px;display:block;stroke:currentColor}.busesPanel__badge{position:absolute;right:-7px;bottom:-7px;width:22px;height:22px;display:grid;place-items:center;padding:0;box-sizing:border-box;color:var(--uiText);background:var(--buttonBg);border:2px solid var(--uiText);border-radius:50%;font-size:12px;font-weight:800;line-height:1}.busDragGhost{position:absolute;z-index:40;width:55px;height:30px;pointer-events:none;background:var(--uiText);border-radius:4px;transform:translate(-50%,-50%) scale(1.2);transform-origin:center;box-shadow:0 10px 24px #0f172a33}.busDragGhost.isVertical{width:30px;height:55px}.runFailureOverlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;pointer-events:auto;display:grid;place-items:center;padding:5%;background:color-mix(in srgb,var(--bg) 45%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.runFailureDialog{width:80vw;height:50vh;max-width:960px;max-height:720px;display:flex;flex-direction:column;padding:2rem;color:var(--uiText);background:color-mix(in srgb,var(--bg) 92%,white);border-radius:var(--borderRadius);box-shadow:0 24px 80px #0f172a38}.runFailureTitle{margin:0;font-size:3rem;line-height:1;font-weight:800}.runFailureScore{margin:1rem 0 0;font-size:1.25rem;font-weight:700}.runFailureActions{margin-top:auto;display:flex;gap:1rem;align-items:center;text-align:center;justify-content:flex-end;flex-wrap:wrap}@media(max-width:700px){.runFailureDialog{padding:1.25rem}.runFailureTitle{font-size:2.25rem}.runFailureActions{align-items:stretch;flex-direction:column}}.runScore{position:absolute;top:22px;left:22px;display:flex;align-items:center;justify-content:center;gap:2px;color:var(--uiText);font-weight:700;pointer-events:none}.runScore__icon{width:24px;height:24px;display:block;stroke:currentColor}.runScore__value{font-size:1rem}.menu{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:auto;overflow:hidden;width:100%;height:100%;transition:transform 1.5s ease,opacity 1s ease}.menu.isClosing{transform:translateY(-100%);opacity:0}.menuScreen{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;display:flex;padding:5%;flex-direction:column;align-items:start;justify-content:start;transition:transform .3s ease,opacity .3s ease}.placeholder{font-size:1rem;color:var(--uiText)}.menuScreenMain{transform:translate(0)}.menuScreenMain.isRight{transform:translate(-100%)}.menuScreenMaps{transform:translate(100%)}.menuScreenMaps.isActive{transform:translate(0)}.title{margin-bottom:2rem;font-size:4rem;font-weight:700;color:var(--uiText)}.subTitle{margin-bottom:1rem;font-size:2rem;font-weight:700;color:var(--uiText)}.buttons{display:flex;flex-direction:column;gap:1rem}.button{padding:1rem 2rem 1rem 1rem;font-size:1rem;font-weight:700;text-align:start;color:var(--uiText);background-color:var(--buttonBg);border:none;cursor:pointer;transition:background-color .3s ease}.backButton{align-self:end;margin-top:auto}.mapCards{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.5rem}.mapCard{margin-bottom:1rem;min-width:200px;min-height:100px;padding:1rem;display:flex;cursor:pointer;flex-direction:column;font-size:1rem;color:var(--uiText);background-color:var(--buttonBg);justify-content:start;align-items:center}.mapTitle{font-size:1.2rem;margin-bottom:.5rem}
