*,:before,:after{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overflow-x:clip}body{margin:0;overflow-x:clip}:root{--ink:#071018;--ink-2:#0d1a24;--fog:#9eb3c2;--paper:#e8f0f4;--signal:#ffb020;--signal-dim:#c47e00;--ok:#3dd68c;--bad:#ff6b6b;--line:#ffb020;--font-display:"Syne", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--kb-inset:0px;--vv-top:0px;--vv-height:100dvh}*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--paper);font-family:var(--font-mono);background:var(--ink);-webkit-font-smoothing:antialiased;margin:0}button,input{font:inherit}.app{place-items:center;min-height:100dvh;padding:clamp(1.25rem,4vw,3rem);display:grid;position:relative;overflow:clip hidden}.app[data-phase=finished],.app[data-phase=idle]{flex-direction:column;justify-content:safe center;align-items:center;padding-block:clamp(2.75rem,7vh,3.75rem) clamp(2.5rem,8vh,4rem);padding-inline:clamp(1.25rem,4vw,3rem);display:flex;overflow:clip auto}.app[data-phase=idle] .hero{box-sizing:border-box;text-align:center;width:min(960px,100%);max-width:960px;margin-inline:auto}.app[data-phase=finished] .results{box-sizing:border-box;text-align:center;width:min(920px,96vw);min-width:0;max-width:920px;margin-inline:auto}.app[data-phase=idle] .lede{margin-inline:auto}.app[data-phase=idle] .cta-row{justify-content:center}.app[data-phase=idle] .line-picker{text-align:left}.app[data-phase=idle] .line-picker-label{text-align:center}.app[data-phase=idle] .brand{letter-spacing:-.055em;font-size:clamp(1.9rem,3.4vw + .5rem,2.85rem)}.hero{text-align:left;animation:.7s cubic-bezier(.22,1,.36,1) both rise-in}.system-tag{color:var(--signal);letter-spacing:.18em;text-transform:uppercase;margin:0 0 .75rem;font-size:.75rem}.brand{font-family:var(--font-display);letter-spacing:-.04em;color:var(--paper);max-width:100%;margin:0;font-size:clamp(2.2rem,6.5vw,3.75rem);font-weight:800;line-height:.95}.atmosphere,.drone-backdrop{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.drone-backdrop{--drone-focus-x:50%;--drone-focus-y:48%;contain:layout style paint;background:radial-gradient(ellipse 90% 60% at 50% -10%, #ffb02024, transparent 55%), radial-gradient(ellipse 50% 40% at 85% 80%, #1e88e51a, transparent 50%), radial-gradient(ellipse 45% 35% at 10% 70%, #3dd68c12, transparent 45%), linear-gradient(180deg, #0a1620 0%, var(--ink) 45%, #050b10 100%)}.drone-backdrop__stage{position:absolute;inset:-12%;overflow:hidden}.drone-backdrop__orbit{will-change:transform;transform-origin:50% 45%;place-items:center;transition:transform 1.45s cubic-bezier(.22,1,.36,1),filter 1.2s;display:grid;position:absolute;inset:0}.drone-backdrop[data-home=poster] .drone-backdrop__orbit,.drone-backdrop[data-landmark=on] .drone-backdrop__orbit{filter:blur(2.5px)saturate(1.18)brightness(.68)contrast(1.06)}.drone-backdrop[data-home=video][data-landmark=off] .drone-backdrop__orbit{filter:none}.drone-backdrop[data-mode=orbit][data-home=video] .drone-backdrop__orbit,.drone-backdrop[data-mode=orbit][data-home=poster] .drone-backdrop__orbit{animation:none}.drone-backdrop[data-home=svg][data-landmark=off] .drone-backdrop__orbit{filter:blur(7px)saturate(1.15)brightness(.88)}.drone-backdrop[data-mode=orbit][data-home=svg][data-landmark=off] .drone-backdrop__orbit{filter:blur(5.5px)saturate(1.12)brightness(.86);animation:48s linear infinite drone-orbit}.drone-backdrop[data-mode=zoom] .drone-backdrop__orbit{animation:none;transform:scale(1.06)}.drone-backdrop[data-mode=zoom][data-landmark=on] .drone-backdrop__orbit{filter:blur(1.75px)saturate(1.28)brightness(.62)contrast(1.08);transform:scale(1.04)}.drone-backdrop[data-mode=zoom][data-home=svg][data-landmark=off] .drone-backdrop__orbit{filter:blur(2.5px)saturate(1.25)brightness(.92);transform:translate3d(calc(50% - var(--drone-focus-x)), calc(42% - var(--drone-focus-y)), 0) scale(2.35)}.drone-backdrop__parallax{z-index:3;pointer-events:none;opacity:.85;will-change:transform;mix-blend-mode:screen;background:radial-gradient(42% 28% at 18% 38%,#ffb02029,#0000 70%),radial-gradient(38% 32% at 78% 42%,#7ef9ff1a,#0000 68%),radial-gradient(30% 24% at 52% 58%,#1e88e514,#0000 65%);position:absolute;inset:-10%}.drone-backdrop[data-home=video] .drone-backdrop__parallax,.drone-backdrop[data-home=poster] .drone-backdrop__parallax,.drone-backdrop[data-landmark=on] .drone-backdrop__parallax{opacity:.55;background:radial-gradient(50% 40% at 20% 30%,#ffb02038,#0000 70%),radial-gradient(45% 38% at 80% 45%,#7ef9ff24,#0000 68%),linear-gradient(#0a283740 0%,#0000 45%,#050b1033 100%)}.drone-backdrop[data-mode=orbit] .drone-backdrop__parallax{animation:72s linear infinite drone-parallax}.drone-backdrop[data-mode=orbit][data-home=video] .drone-backdrop__parallax{animation:56s linear infinite drone-parallax}.drone-backdrop[data-mode=zoom] .drone-backdrop__parallax{opacity:.35;transition:opacity 1.2s;animation:none}.drone-backdrop__plate{z-index:1;opacity:0;pointer-events:none;will-change:opacity, transform;transition:opacity 1.15s,transform 1.15s cubic-bezier(.22,1,.36,1);position:absolute;inset:-4%;overflow:hidden}.drone-backdrop__plate--home{transform:scale(1.02)}.drone-backdrop__plate--home.is-active{opacity:1;z-index:1}.drone-backdrop__plate--landmark{z-index:2;transform:scale(1.06)}.drone-backdrop__plate--landmark.is-active{opacity:1;transform:scale(1.14)}.drone-backdrop__video-wrap{will-change:transform;position:absolute;inset:0;overflow:hidden}.drone-backdrop[data-mode=orbit][data-home=video] .drone-backdrop__plate--home.is-active .drone-backdrop__video-wrap{animation:42s ease-in-out infinite drone-video-drift}.drone-backdrop[data-mode=zoom] .drone-backdrop__video-wrap{animation:none}.drone-backdrop__video,.drone-backdrop__poster,.drone-backdrop__landmark{object-fit:cover;object-position:center 42%;width:100%;height:100%;display:block}.drone-backdrop__landmark{position:absolute;inset:0}.drone-backdrop__world{z-index:1;will-change:transform;width:210%;min-width:1400px;height:210%;min-height:820px;position:relative}.drone-backdrop[data-mode=orbit][data-home=svg] .drone-backdrop__world{animation:48s linear infinite drone-world-drift}.drone-backdrop[data-mode=zoom] .drone-backdrop__world{transition:transform 1.45s cubic-bezier(.22,1,.36,1);animation:none}.drone-backdrop__svg{width:100%;height:100%;display:block}.drone-backdrop__haze{z-index:1;will-change:transform;background:radial-gradient(70% 50% at 50% 40%,#0000 20%,#050b1066 100%),linear-gradient(#07101859 0%,#0000 35%,#050b108c 100%);position:absolute;inset:-5%}.drone-backdrop[data-home=video] .drone-backdrop__haze,.drone-backdrop[data-home=poster] .drone-backdrop__haze,.drone-backdrop[data-landmark=on] .drone-backdrop__haze{background:radial-gradient(70% 50% at 50% 40%,#0000 15%,#050b1080 100%),linear-gradient(#07101873 0%,#0000 32%,#050b109e 100%)}.drone-backdrop[data-mode=orbit] .drone-backdrop__haze{animation:36s linear infinite drone-haze-drift}.drone-backdrop[data-mode=zoom] .drone-backdrop__haze{animation:none}.drone-backdrop__vignette{z-index:2;background:radial-gradient(55% 50% at 50% 42%,#0000 0%,#050b1094 100%);position:absolute;inset:0}.drone-backdrop[data-mode=zoom] .drone-backdrop__vignette{background:radial-gradient(65% 55% at 50% 40%,#0000 10%,#050b10a8 100%)}.drone-backdrop__label{z-index:3;opacity:0;pointer-events:none;flex-direction:column;gap:.15rem;max-width:min(16rem,70vw);animation:5.5s cubic-bezier(.22,1,.36,1) .2s both drone-label-cycle;display:flex;position:absolute;bottom:clamp(1.5rem,5vh,3rem);left:clamp(1rem,4vw,2.5rem);transform:translateY(10px)}.drone-backdrop__label-kicker{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:color-mix(in srgb, var(--signal) 80%, white);opacity:.85;font-size:.65rem}.drone-backdrop__label-name{font-family:var(--font-display);letter-spacing:-.03em;color:color-mix(in srgb, var(--paper) 88%, transparent);text-shadow:0 2px 18px #050b10cc;font-size:clamp(1rem,2.2vw,1.35rem);font-weight:700;line-height:1.1}.drone-backdrop__label-sub{font-family:var(--font-mono);letter-spacing:.06em;color:color-mix(in srgb, var(--fog) 75%, transparent);font-size:.7rem}.drone-backdrop__credit{top:max(.65rem, env(safe-area-inset-top,0px));left:max(.65rem, env(safe-area-inset-left,0px));z-index:4;max-width:min(11.5rem,36vw);font-family:var(--font-mono);letter-spacing:.04em;color:color-mix(in srgb, var(--fog) 72%, transparent);text-shadow:0 1px 10px #050b10d9;pointer-events:none;opacity:0;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;margin:0;font-size:.58rem;line-height:1.35;animation:.55s .35s both drone-credit-in;position:absolute}@keyframes drone-credit-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes drone-orbit{0%{transform:translate(-16%,5%)rotate(-3.2deg)scale(1.14)}25%{transform:translate(2%,-9%)rotate(.6deg)scale(1.2)}50%{transform:translate(17%,3%)rotate(3.4deg)scale(1.15)}75%{transform:translate(-3%,8%)rotate(-.9deg)scale(1.18)}to{transform:translate(-16%,5%)rotate(-3.2deg)scale(1.14)}}@keyframes drone-video-drift{0%{transform:scale(1.04)translate(-1.2%,.6%)}50%{transform:scale(1.1)translate(1.4%,-.8%)}to{transform:scale(1.04)translate(-1.2%,.6%)}}@keyframes drone-world-drift{0%{transform:translate(6%,-1.5%)rotate(.4deg)}25%{transform:translate(-2%,2%)rotate(-.2deg)}50%{transform:translate(-7%,.5%)rotate(-.5deg)}75%{transform:translate(1%,-2%)rotate(.15deg)}to{transform:translate(6%,-1.5%)rotate(.4deg)}}@keyframes drone-parallax{0%{transform:translate(10%,4%)scale(1.05)}50%{transform:translate(-12%,-3%)scale(1.12)}to{transform:translate(10%,4%)scale(1.05)}}@keyframes drone-haze-drift{0%{transform:translate(-4%)}50%{transform:translate(5%,1.5%)}to{transform:translate(-4%)}}@keyframes drone-label-cycle{0%{opacity:0;transform:translateY(12px)}12%{opacity:1;transform:translateY(0)}70%{opacity:.85;transform:translateY(0)}to{opacity:.35;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.drone-backdrop[data-mode=orbit] .drone-backdrop__orbit{filter:blur(2.5px)saturate(1.1)brightness(.7);animation:none;transform:scale(1.08)}.drone-backdrop[data-mode=orbit][data-home=svg] .drone-backdrop__orbit{filter:blur(5px)saturate(1.05)brightness(.88);transform:scale(1.12)}.drone-backdrop[data-mode=orbit] .drone-backdrop__world,.drone-backdrop[data-mode=orbit] .drone-backdrop__parallax,.drone-backdrop[data-mode=orbit] .drone-backdrop__haze,.drone-backdrop[data-mode=orbit] .drone-backdrop__video-wrap{animation:none}.drone-backdrop__plate{transition-duration:.2s}.drone-backdrop__plate--landmark.is-active{transform:scale(1.06)}.drone-backdrop[data-mode=zoom] .drone-backdrop__orbit{transition:none}.drone-backdrop[data-mode=zoom][data-landmark=on] .drone-backdrop__orbit,.drone-backdrop[data-mode=zoom][data-home=video] .drone-backdrop__orbit,.drone-backdrop[data-mode=zoom][data-home=poster] .drone-backdrop__orbit{filter:blur(2px)saturate(1.2)brightness(.62)}.drone-backdrop[data-mode=zoom][data-home=svg][data-landmark=off] .drone-backdrop__orbit{filter:blur(3px)saturate(1.15)brightness(.92)}.drone-backdrop__label{opacity:.55;animation:none;transform:none}.drone-backdrop__credit{opacity:.7;animation:none;transform:none}.track-glow{animation:none}}.track-glow{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--line) 70%, white) 20%, var(--line) 50%, color-mix(in srgb, var(--line) 70%, white) 80%, transparent);opacity:.35;z-index:0;pointer-events:none;height:2px;animation:3.2s ease-in-out infinite pulse-track;position:fixed;bottom:4vh;left:0;right:0}@keyframes pulse-track{0%,to{opacity:.2;transform:scaleX(.92)}50%{opacity:.55;transform:scaleX(1)}}.hero,.race,.results{z-index:1;position:relative}.hero,.race{width:min(720px,100%)}.race{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--line) 28%, transparent);background:linear-gradient(160deg, color-mix(in srgb, var(--ink) 82%, transparent) 0%, color-mix(in srgb, var(--ink-2) 88%, transparent) 55%, color-mix(in srgb, var(--ink) 90%, transparent) 100%);box-shadow:0 0 0 1px color-mix(in srgb, var(--ink) 55%, transparent), 0 18px 42px color-mix(in srgb, var(--ink) 55%, transparent), inset 0 1px 0 color-mix(in srgb, var(--paper) 7%, transparent), inset 0 0 48px color-mix(in srgb, var(--ink) 35%, transparent);border-radius:.2rem;padding:clamp(1rem,2.8vw,1.45rem) clamp(1rem,3vw,1.6rem) clamp(.85rem,2vw,1.15rem);position:relative}.race:before{content:"";z-index:-1;border-radius:inherit;-webkit-backdrop-filter:blur(14px)saturate(1.2);pointer-events:none;position:absolute;inset:0}.lede{max-width:28rem;color:var(--fog);margin:1.25rem 0 0;font-size:clamp(.95rem,2.4vw,1.1rem);line-height:1.55}.cta-row{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.line-picker{border-top:1px solid color-mix(in srgb, var(--fog) 22%, transparent);margin-top:2.75rem;padding-top:1.75rem;animation:.75s cubic-bezier(.22,1,.36,1) 80ms both rise-in}.line-picker-label{color:var(--fog);letter-spacing:.14em;text-transform:uppercase;margin:0 0 1.25rem;font-size:.75rem}.line-picker-columns{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:1.25rem 1.5rem;display:grid}.line-group{min-width:0}.line-group-title{border-bottom:1px solid color-mix(in srgb, var(--fog) 18%, transparent);font-family:var(--font-display);letter-spacing:.08em;color:var(--paper);margin:0 0 .65rem;padding-bottom:.45rem;font-size:.95rem;font-weight:700}.line-group-list{grid-template-columns:1fr;gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.line-pick{border:1px solid color-mix(in srgb, var(--fog) 22%, transparent);background:color-mix(in srgb, var(--ink) 72%, transparent);width:100%;color:inherit;text-align:left;cursor:pointer;grid-template-columns:auto 1fr;align-items:start;gap:.55rem;padding:.65rem .7rem;transition:border-color .2s,background .2s,transform .2s;display:grid}.line-pick:hover{border-color:color-mix(in srgb, var(--line) 65%, transparent);background:color-mix(in srgb, var(--line) 10%, var(--ink))}.line-pick:active{transform:translateY(1px)}.line-pick-dot{background:var(--line);width:.65rem;height:.65rem;box-shadow:0 0 12px color-mix(in srgb, var(--line) 55%, transparent);border-radius:50%;flex-shrink:0;margin-top:.35rem}.line-pick-body{flex-direction:column;gap:.15rem;min-width:0;display:flex}.line-pick-name{font-family:var(--font-display);letter-spacing:-.01em;color:var(--paper);font-size:.92rem;font-weight:700}.line-pick-route{color:var(--fog);font-size:.68rem;line-height:1.35}.line-pick-meta{color:color-mix(in srgb, var(--fog) 85%, white);letter-spacing:.06em;white-space:nowrap;margin-top:.2rem;font-size:.62rem;display:block}.btn{cursor:pointer;border:1px solid #0000;padding:.85rem 1.35rem;transition:transform .2s,background .2s,border-color .2s,color .2s}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--signal);color:#1a1000;letter-spacing:.02em;font-weight:700}.btn.primary:hover{background:#ffc14d}.btn.ghost{border-color:color-mix(in srgb, var(--fog) 40%, transparent);color:var(--fog);background:0 0}.btn.ghost:hover{border-color:var(--paper);color:var(--paper)}.app[data-phase=racing] .btn.ghost{background:color-mix(in srgb, var(--ink) 62%, transparent);border-color:color-mix(in srgb, var(--fog) 48%, var(--line) 12%);color:var(--paper);text-shadow:0 1px 2px color-mix(in srgb, var(--ink) 80%, transparent)}.app[data-phase=racing] .btn.ghost:hover{background:color-mix(in srgb, var(--ink) 45%, var(--line) 8%);border-color:color-mix(in srgb, var(--line) 55%, var(--paper));color:var(--paper)}.app[data-phase=racing] .key-hint{border-color:color-mix(in srgb, var(--fog) 45%, transparent);background:color-mix(in srgb, var(--ink) 40%, transparent);color:color-mix(in srgb, var(--paper) 88%, var(--fog))}.race-top{justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1rem;animation:.45s cubic-bezier(.22,1,.36,1) both rise-in;display:flex}.race-controls{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;animation:.45s cubic-bezier(.22,1,.36,1) 50ms both rise-in;display:flex}.btn-compact{letter-spacing:.04em;align-items:center;gap:.45rem;padding:.45rem .75rem;font-size:.75rem;display:inline-flex}.key-hint{border:1px solid color-mix(in srgb, var(--fog) 35%, transparent);color:color-mix(in srgb, var(--fog) 90%, white);font-family:var(--font-mono);letter-spacing:.02em;border-radius:.2rem;padding:.1rem .35rem;font-size:.65rem;font-weight:500;line-height:1.2;display:inline-block}.space-hint{text-align:center;color:var(--signal);letter-spacing:.06em;text-shadow:0 1px 4px color-mix(in srgb, var(--ink) 88%, transparent);margin:.75rem 0 0;font-size:.8rem;animation:.35s cubic-bezier(.22,1,.36,1) both rise-in}.station-slide.is-current.is-ready .prompt-word .ok{text-shadow:0 0 12px color-mix(in srgb, var(--ok) 45%, transparent)}.line-meta{align-items:flex-start;gap:.85rem;display:flex}.line-dot{background:var(--line);width:.85rem;height:.85rem;box-shadow:0 0 16px color-mix(in srgb, var(--line) 55%, transparent);border-radius:50%;flex-shrink:0;margin-top:.35rem}.line-system{color:var(--fog);letter-spacing:.14em;text-transform:uppercase;text-shadow:0 1px 3px color-mix(in srgb, var(--ink) 88%, transparent);margin:0;font-size:.7rem}.line-name{font-family:var(--font-display);letter-spacing:-.02em;text-shadow:0 1px 2px color-mix(in srgb, var(--ink) 90%, transparent), 0 0 18px color-mix(in srgb, var(--ink) 55%, transparent);margin:.2rem 0 0;font-size:clamp(1.4rem,4vw,2rem);font-weight:700}.line-route{color:var(--fog);text-shadow:0 1px 3px color-mix(in srgb, var(--ink) 88%, transparent);margin:.35rem 0 0;font-size:.8rem}.stat-block{text-align:right;min-width:5.5rem}.stat-label{color:var(--fog);letter-spacing:.16em;text-shadow:0 1px 3px color-mix(in srgb, var(--ink) 88%, transparent);font-size:.7rem;display:block}.stat-value{font-family:var(--font-display);color:var(--signal);font-variant-numeric:tabular-nums;text-shadow:0 1px 2px color-mix(in srgb, var(--ink) 85%, transparent), 0 0 22px color-mix(in srgb, var(--signal) 35%, transparent);margin-top:.15rem;font-size:clamp(2rem,6vw,2.75rem);font-weight:800;line-height:1;transition:color .2s;display:block}.stat-sub{color:var(--fog);letter-spacing:.04em;font-variant-numeric:tabular-nums;text-shadow:0 1px 3px color-mix(in srgb, var(--ink) 88%, transparent);margin-top:.35rem;font-size:.72rem;display:block}.stat-sub-sep{opacity:.55;margin:0 .35em}.progress-rail{background:color-mix(in srgb, var(--paper) 12%, transparent);height:3px;overflow:hidden}.progress-fill{background:var(--line);height:100%;transition:width .35s cubic-bezier(.22,1,.36,1)}.stop-count{color:var(--fog);letter-spacing:.06em;text-shadow:0 1px 3px color-mix(in srgb, var(--ink) 88%, transparent);margin:.65rem 0 0;font-size:.75rem}.app[data-phase=racing] .drone-backdrop__label{display:none}.app[data-phase=racing]{--race-rail-height:6.25rem;--race-dock-height:0px;padding-bottom:calc(var(--race-rail-height) + var(--race-dock-height) + var(--kb-inset,0px) + env(safe-area-inset-bottom,0px))}.app[data-phase=racing] .race{padding-bottom:clamp(.85rem,2vw,1.15rem)}.race-type-dock{width:100%;margin-top:.35rem}.app[data-phase=racing]:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(ellipse 78% 68% at 50% 42%, transparent 35%, color-mix(in srgb, var(--ink) 42%, transparent) 78%, color-mix(in srgb, var(--ink) 68%, transparent) 100%);position:fixed;inset:0}.station-progress{--station-slot:4.25rem;left:0;right:0;bottom:var(--kb-inset,0px);z-index:5;padding:.55rem 0 calc(.65rem + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--ink) 78%, transparent) 22%, color-mix(in srgb, var(--ink) 94%, transparent) 100%);pointer-events:none;position:fixed}.station-progress__chrome{pointer-events:none;justify-content:space-between;align-items:baseline;width:min(720px,100% - 2rem);margin:0 auto .35rem;display:flex}.station-progress__kicker{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:color-mix(in srgb, var(--line) 70%, var(--fog));text-shadow:0 1px 4px color-mix(in srgb, var(--ink) 90%, transparent);font-size:.62rem}.station-progress__count{font-family:var(--font-mono);letter-spacing:.08em;color:var(--fog);font-variant-numeric:tabular-nums;text-shadow:0 1px 4px color-mix(in srgb, var(--ink) 90%, transparent);font-size:.68rem}.station-progress__scroller{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--line) 45%, transparent) transparent;pointer-events:auto;-webkit-overflow-scrolling:touch;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 2.5% 97.5%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 2.5% 97.5%,#0000 100%)}.station-progress__track{--station-count:1;--station-index:0;height:4.1rem;margin-inline:clamp(.75rem,3vw,1.5rem);padding-top:1.55rem;padding-bottom:1.35rem;position:relative}.station-progress__rail{left:calc(100% / var(--station-count) / 2);right:calc(100% / var(--station-count) / 2);background:color-mix(in srgb, var(--paper) 16%, transparent);height:2px;box-shadow:0 0 8px color-mix(in srgb, var(--paper) 8%, transparent);border-radius:1px;position:absolute;top:1.83rem}.station-progress__fill{left:calc(100% / var(--station-count) / 2);height:2px;width:calc(100% / var(--station-count) * var(--station-index));background:var(--line);box-shadow:0 0 10px color-mix(in srgb, var(--line) 55%, transparent), 0 0 22px color-mix(in srgb, var(--line) 25%, transparent);border-radius:1px;transition:width .1s linear;position:absolute;top:1.83rem}.station-progress__head{top:.05rem;left:calc(100% / var(--station-count) * (var(--station-index) + .5));z-index:3;filter:drop-shadow(0 0 8px color-mix(in srgb, var(--line) 55%, transparent));pointer-events:none;transition:left .1s linear;position:absolute;transform:translate(-50%)}.station-progress__train{width:2.35rem;height:auto;color:var(--line);display:block}.station-progress__stops{z-index:1;align-items:flex-start;height:100%;margin:0;padding:0;list-style:none;display:flex;position:relative}.station-progress__stop{flex:1 0 var(--station-slot);width:var(--station-slot);min-width:var(--station-slot);flex-direction:column;align-items:center;display:flex;position:relative}.station-progress__label{max-width:calc(var(--station-slot) + .6rem);font-family:var(--font-mono);letter-spacing:.02em;text-align:center;white-space:nowrap;text-overflow:ellipsis;color:color-mix(in srgb, var(--fog) 88%, var(--paper));text-shadow:0 1px 2px color-mix(in srgb, var(--ink) 95%, transparent), 0 0 10px color-mix(in srgb, var(--ink) 70%, transparent);padding:0 .1rem;font-size:.58rem;line-height:1.15;transition:color .25s,opacity .25s,text-shadow .25s;position:absolute;top:1rem;left:50%;overflow:hidden;transform:translate(-50%)}.station-progress__stop.no-label .station-progress__label{opacity:0;pointer-events:none}.station-progress__dot{background:color-mix(in srgb, var(--paper) 22%, transparent);border:1.5px solid color-mix(in srgb, var(--fog) 45%, transparent);width:.55rem;height:.55rem;box-shadow:none;border-radius:50%;transition:background .25s,border-color .25s,box-shadow .25s,transform .25s}.station-progress__stop.is-done .station-progress__dot{background:color-mix(in srgb, var(--line) 55%, var(--ink));border-color:color-mix(in srgb, var(--line) 70%, white);box-shadow:0 0 8px color-mix(in srgb, var(--line) 35%, transparent);opacity:.72}.station-progress__stop.is-done .station-progress__label{color:color-mix(in srgb, var(--line) 45%, var(--fog));opacity:.65}.station-progress__stop.is-current .station-progress__dot{background:var(--line);border-color:color-mix(in srgb, var(--line) 40%, white);box-shadow:0 0 0 3px color-mix(in srgb, var(--line) 22%, transparent), 0 0 14px color-mix(in srgb, var(--line) 65%, transparent);transform:scale(1.35)}.station-progress__stop.is-current .station-progress__label{color:var(--paper);max-width:7.5rem;text-shadow:0 1px 3px color-mix(in srgb, var(--ink) 95%, transparent), 0 0 12px color-mix(in srgb, var(--line) 40%, transparent);opacity:1;font-weight:600}.station-progress__stop.is-upcoming .station-progress__dot{border-color:color-mix(in srgb, var(--fog) 35%, transparent);opacity:.55;background:0 0}.station-progress__stop.is-upcoming .station-progress__label{opacity:.4}.station-progress__stop.is-start .station-progress__dot{background:color-mix(in srgb, var(--line) 35%, transparent);border-color:color-mix(in srgb, var(--line) 55%, var(--fog));width:.42rem;height:.42rem;box-shadow:0 0 6px color-mix(in srgb, var(--line) 28%, transparent)}.station-progress__stop.is-start .station-progress__label{letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb, var(--line) 55%, var(--fog));opacity:.75;font-size:.5rem}.station-progress__stop.is-start.is-done .station-progress__dot{background:color-mix(in srgb, var(--line) 45%, var(--ink));border-color:color-mix(in srgb, var(--line) 60%, white);box-shadow:0 0 6px color-mix(in srgb, var(--line) 30%, transparent);opacity:.65}.station-progress__stop.is-start.is-done .station-progress__label{opacity:.45}.station-progress.is-dense{--station-slot:3.15rem}.station-progress.is-dense .station-progress__label{max-width:calc(var(--station-slot) + .35rem);font-size:.52rem}.station-progress.is-dense .station-progress__stop.is-current .station-progress__label{max-width:6.5rem;font-size:.58rem}@media (width<=560px){.station-progress{--station-slot:3.4rem}.station-progress.is-dense{--station-slot:2.75rem}.station-progress__track{height:3.85rem;padding-top:1.4rem;padding-bottom:1.2rem}.station-progress__rail,.station-progress__fill{top:1.68rem}.station-progress__train{width:2rem}.app[data-phase=racing]{--race-rail-height:5.5rem}}@media (prefers-reduced-motion:reduce){.station-progress__fill,.station-progress__head,.station-progress__dot,.station-progress__label{transition:none}}.prompt-label{color:color-mix(in srgb, var(--fog) 88%, var(--paper));letter-spacing:.12em;text-transform:uppercase;text-align:center;min-height:1.1em;text-shadow:0 1px 4px color-mix(in srgb, var(--ink) 90%, transparent);margin:1.5rem 0 0;font-size:.75rem}.station-prompt-panel{display:contents}.station-stage{--slide-ease:cubic-bezier(.22, 1, .36, 1);--current-y:30%;--next-y:78%;--rise-gap:clamp(2.4rem, 7vw, 3.4rem);width:100%;max-width:100%;height:clamp(7.25rem,19vw,9.25rem);margin:1rem 0 .85rem;position:relative;overflow:hidden}.station-slide{text-align:center;will-change:transform, opacity;width:min(720px,100%);padding:0 .25rem;position:absolute;left:50%}.station-slide.is-current{top:var(--current-y);opacity:1;z-index:2;transform:translate(-50%,-50%)}.station-slide.is-current.is-ready .prompt-word{text-shadow:0 1px 2px color-mix(in srgb, var(--ink) 92%, transparent), 0 0 18px color-mix(in srgb, var(--ok) 35%, transparent), 0 0 28px color-mix(in srgb, var(--ink) 55%, transparent)}.station-slide.is-current.is-entering{animation:slide-up-from-next .52s var(--slide-ease) both}.station-slide.is-outgoing{top:var(--current-y);z-index:1;pointer-events:none;animation:slide-out-up .52s var(--slide-ease) both}.station-slide.is-next{top:var(--next-y);opacity:1;z-index:0;pointer-events:none;animation:next-peek-in .28s var(--slide-ease) both;transform:translate(-50%,-50%)}.station-stage.is-sliding .station-slide.is-next{animation-delay:.12s}.prompt-word{letter-spacing:.01em;word-break:break-word;text-shadow:0 1px 2px color-mix(in srgb, var(--ink) 92%, transparent), 0 2px 14px color-mix(in srgb, var(--ink) 65%, transparent), 0 0 28px color-mix(in srgb, var(--ink) 45%, transparent);margin:0;font-size:clamp(1.35rem,4.6vw,2.35rem);font-weight:600;line-height:1.3}.prompt-word.preview{color:color-mix(in srgb, var(--paper) 86%, var(--fog));letter-spacing:.04em;text-shadow:0 1px 2px color-mix(in srgb, var(--ink) 90%, transparent), 0 0 14px color-mix(in srgb, var(--ink) 50%, transparent);font-size:clamp(.95rem,2.8vw,1.2rem);font-weight:500}.prompt-word.preview:before{content:"Next · ";color:color-mix(in srgb, var(--signal) 78%, var(--fog));letter-spacing:.12em;text-transform:uppercase;font-size:.85em}.prompt-word .ok{color:var(--ok)}.prompt-word .bad{color:var(--bad);background:color-mix(in srgb, var(--bad) 22%, var(--ink) 40%)}.prompt-word .pending{color:color-mix(in srgb, var(--paper) 78%, var(--fog))}@keyframes slide-out-up{0%{opacity:1;transform:translate(-50%,-50%)}to{transform:translate(-50%, calc(-50% - var(--rise-gap)));opacity:0}}@keyframes slide-up-from-next{0%{transform:translate(-50%, calc(-50% + var(--rise-gap))) scale(.72);opacity:.9}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes next-peek-in{0%{opacity:0;transform:translate(-50%,calc(.9rem - 50%))}to{opacity:1;transform:translate(-50%,-50%)}}.station-input{border:none;border-bottom:2px solid color-mix(in srgb, var(--line) 55%, transparent);background:color-mix(in srgb, var(--ink) 48%, transparent);width:100%;color:var(--paper);caret-color:var(--signal);text-shadow:0 1px 2px color-mix(in srgb, var(--ink) 80%, transparent);border-radius:.15rem .15rem 0 0;outline:none;padding:1rem .85rem;font-size:clamp(1.1rem,3vw,1.35rem);transition:border-color .2s,background .2s}.station-type-form{width:100%;margin:0;position:relative}.autofill-decoy{clip:rect(0, 0, 0, 0);white-space:nowrap;opacity:0;pointer-events:none;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.station-input:focus{border-bottom-color:var(--line);background:color-mix(in srgb, var(--ink) 58%, transparent)}.station-input::-webkit-search-decoration{appearance:none;display:none}.station-input::-webkit-search-cancel-button{appearance:none;display:none}.station-input::-webkit-search-results-button{appearance:none;display:none}.station-input::-webkit-search-results-decoration{appearance:none;display:none}.station-input::placeholder{color:color-mix(in srgb, var(--fog) 78%, var(--paper));text-shadow:0 1px 2px color-mix(in srgb, var(--ink) 75%, transparent)}.station-input::-webkit-contacts-auto-fill-button{visibility:hidden;pointer-events:none;opacity:0;width:0;height:0;position:absolute;right:0}.station-input::-webkit-credentials-auto-fill-button{visibility:hidden;pointer-events:none;opacity:0;width:0;height:0;position:absolute;right:0}.results{text-align:center;flex-direction:column;align-items:stretch;width:min(920px,96vw);min-width:0;max-width:920px;margin-inline:auto;animation:.65s cubic-bezier(.22,1,.36,1) both rise-in;display:flex;overflow-x:clip}.results-hero{flex-direction:column;align-items:center;gap:.35rem;animation:.55s cubic-bezier(.22,1,.36,1) both rise-in;display:flex}.results-kicker{color:var(--signal);letter-spacing:.2em;text-transform:uppercase;z-index:1;align-items:center;gap:.45rem;margin:0;font-size:.72rem;display:inline-flex;position:relative}.results-kicker-dot{background:var(--ok);width:.45rem;height:.45rem;box-shadow:0 0 10px var(--ok);border-radius:50%;animation:1.8s ease-in-out infinite results-pulse}.results-brand{width:100%;min-width:0;font-family:var(--font-display);color:color-mix(in srgb, var(--fog) 72%, var(--paper));opacity:.88;z-index:1;flex-direction:column;align-items:center;gap:.08rem;margin:0;font-weight:700;line-height:1;display:flex;position:relative}.results-brand-primary,.results-brand-accent{max-width:100%;display:block}.results-brand-primary{letter-spacing:.08em;text-transform:uppercase;font-size:clamp(.78rem,2.2vw,.95rem);font-weight:600}.results-brand-accent{letter-spacing:-.03em;color:color-mix(in srgb, var(--line) 55%, var(--fog));text-shadow:none;font-size:clamp(1.05rem,3.2vw,1.35rem);font-weight:700}.results-line-id{flex-direction:column;align-items:center;width:min(100%,28rem);max-width:min(460px,94vw);margin-top:1.1rem;padding:.15rem .25rem 0;animation:.6s cubic-bezier(.22,1,.36,1) 80ms both rise-in;display:flex;position:relative}.results-line-id-head{flex-direction:column;align-items:center;width:100%;max-width:100%;display:flex;position:relative}.results-line-name{color:var(--paper);font-family:var(--font-display);letter-spacing:-.05em;text-align:center;text-wrap:balance;text-shadow:0 1px 0 #0000008c, 0 0 32px color-mix(in srgb, var(--line) 28%, transparent), 0 2px 16px #0000008c;margin:0;font-size:clamp(1.85rem,7vw,2.75rem);font-weight:800;line-height:.92}.results-line-system{color:color-mix(in srgb, var(--line) 88%, var(--paper));font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;text-shadow:0 0 12px color-mix(in srgb, var(--line) 45%, transparent), 0 1px 2px #000000b3;align-self:flex-end;margin:0 .15rem .1rem 0;font-size:.58rem;font-weight:700}.results-line-rule{background:var(--line);width:3.25rem;height:2px;box-shadow:0 0 12px color-mix(in srgb, var(--line) 55%, transparent);transform-origin:50%;border-radius:1px;margin:.65rem auto .75rem;animation:.55s cubic-bezier(.22,1,.36,1) .28s both results-rule-draw;display:block}.results-line-route{width:100%;max-width:100%;color:color-mix(in srgb, var(--fog) 55%, var(--paper));font-family:var(--font-mono);letter-spacing:.02em;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.45rem .55rem;margin:0;font-size:.62rem;line-height:1.25;display:grid}.results-line-endpoint{text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 3px #000000b3;min-width:0;overflow:hidden}.results-line-origin{text-align:right}.results-line-terminus{text-align:left;color:color-mix(in srgb, var(--paper) 88%, var(--line))}.results-line-path{flex-shrink:0;align-items:center;gap:.28rem;display:inline-flex}.results-line-path-track{background:repeating-linear-gradient(90deg, var(--line) 0 3px, transparent 3px 6px);width:2.4rem;height:2px;box-shadow:0 0 8px color-mix(in srgb, var(--line) 40%, transparent);background-size:12px 2px;border-radius:1px;animation:2.2s linear infinite results-route-crawl;display:block}.results-line-path-arrow{color:var(--line);text-shadow:0 0 10px color-mix(in srgb, var(--line) 50%, transparent);font-size:.72rem;font-weight:700;line-height:1}.results-board{grid-template-columns:minmax(0,280px) minmax(0,1fr);align-items:start;gap:1.5rem 1.75rem;margin-top:1.5rem;animation:.7s cubic-bezier(.22,1,.36,1) .12s both rise-in;display:grid}.results-share-col{flex-direction:column;align-items:center;min-width:0;display:flex}.results .cta-row{justify-content:center;width:100%;min-width:0}.share-style-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;width:100%;max-width:min(280px,78vw);margin-bottom:.85rem;display:grid}.share-style-opt{text-align:left;cursor:pointer;border:1px solid color-mix(in srgb, var(--fog) 28%, transparent);color:var(--fog);background:#00000059;flex-direction:column;align-items:flex-start;gap:.12rem;margin:0;padding:.45rem .5rem;font-family:inherit;transition:border-color .15s,background .15s,color .15s,box-shadow .15s;display:flex}.share-style-opt:hover{border-color:color-mix(in srgb, var(--line) 45%, transparent);color:var(--paper)}.share-style-opt.is-active{border-color:color-mix(in srgb, var(--line) 75%, white);background:color-mix(in srgb, var(--line) 14%, #050b12);color:var(--paper);box-shadow:0 0 14px color-mix(in srgb, var(--line) 22%, transparent)}.share-style-opt-label{font-family:var(--font-display);letter-spacing:-.02em;font-size:.72rem;font-weight:700;line-height:1.15}.share-style-opt-blurb{letter-spacing:.04em;color:color-mix(in srgb, var(--fog) 88%, transparent);font-size:.58rem}.share-style-opt.is-active .share-style-opt-blurb{color:color-mix(in srgb, var(--line) 55%, var(--fog))}.share-card-frame-scale{aspect-ratio:9/16;width:min(280px,100%);filter:drop-shadow(0 0 28px color-mix(in srgb, var(--line) 35%, transparent));margin-inline:auto;animation:.55s cubic-bezier(.22,1,.36,1) .15s both wpm-pop;position:relative;container:share-preview/inline-size}.share-card-frame-scale.is-preparing{opacity:.72}.share-card-png-preview{object-fit:contain;object-position:center top;-webkit-user-select:none;user-select:none;-webkit-touch-callout:default;pointer-events:auto;border-radius:0;width:100%;height:100%;display:block}.share-card-frame{width:280px;min-width:280px;max-width:none;transform:scale(calc(100cqw / 280));transform-origin:0 0;margin:0;position:absolute;top:0;left:0}.share-card{--neon-cyan:#7ef9ff;--neon-pink:#ff4fd8;aspect-ratio:9/16;text-align:left;width:100%;color:var(--paper);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;zoom:1;background:radial-gradient(ellipse 90% 42% at 50% -8%, color-mix(in srgb, var(--line) 48%, transparent), transparent 58%), radial-gradient(ellipse 50% 35% at 100% 100%, color-mix(in srgb, var(--neon-cyan) 16%, transparent), transparent 52%), linear-gradient(165deg, #07131c 0%, #050b12 48%, #0a0614 100%);border:2px solid color-mix(in srgb, var(--line) 75%, white);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--neon-cyan) 25%, transparent), 0 0 0 1px color-mix(in srgb, var(--line) 40%, transparent);flex-direction:column;gap:1.6%;padding:12% 7% 11%;display:flex;position:relative;overflow:hidden;container:share/inline-size}.share-card-grid{background-image:linear-gradient(color-mix(in srgb, var(--neon-cyan) 8%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--neon-cyan) 8%, transparent) 1px, transparent 1px);pointer-events:none;z-index:0;background-size:12px 12px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000008c,#0000 68%);mask-image:linear-gradient(#0000008c,#0000 68%)}.share-card-scan{pointer-events:none;z-index:1;mix-blend-mode:multiply;opacity:.55;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#0000001f 2px 3px);position:absolute;inset:0}.share-card-glow{background:radial-gradient(ellipse at 50% 40%, color-mix(in srgb, var(--line) 22%, transparent), transparent 70%);pointer-events:none;z-index:0;height:28%;position:absolute;top:18%;left:8%;right:8%}.share-card-top,.share-card-train,.share-card-line,.share-card-score,.share-card-stations,.share-card-foot{z-index:2;position:relative}.share-card-top{flex-shrink:0}.share-card-kicker{color:var(--neon-cyan);letter-spacing:.2em;text-transform:uppercase;text-shadow:0 0 10px color-mix(in srgb, var(--neon-cyan) 70%, transparent);margin:0;font-size:clamp(.5rem,3.6cqw,.62rem)}.share-device-tag{border:1px solid color-mix(in srgb, var(--line) 45%, transparent);color:color-mix(in srgb, var(--paper) 88%, var(--line));font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;background:color-mix(in srgb, var(--ink) 55%, transparent);text-shadow:0 1px 2px #000000b3;border-radius:.15rem;align-items:center;margin-top:.45rem;padding:.18rem .45rem;font-size:clamp(.48rem,3.2cqw,.58rem);font-weight:600;line-height:1.2;display:inline-flex}.share-device-tag[data-device=mobile]{border-color:color-mix(in srgb, var(--neon-cyan,#5ce1ff) 50%, transparent);color:color-mix(in srgb, var(--neon-cyan,#5ce1ff) 75%, var(--paper))}.share-device-tag[data-device=computer]{border-color:color-mix(in srgb, var(--signal) 45%, transparent);color:color-mix(in srgb, var(--signal) 70%, var(--paper))}.sc-min-device{align-self:flex-start;margin-top:.35rem}.sc-pixel-device{align-self:flex-start;width:fit-content;max-width:100%;margin-top:.35rem}.share-card-brand{font-family:var(--font-display);color:#fff;flex-direction:column;align-items:flex-start;gap:0;margin:.22em 0 0;font-weight:800;line-height:.9;display:flex}.share-card-brand-primary,.share-card-brand-accent{max-width:100%;display:block}.share-card-brand-primary{letter-spacing:-.045em;text-shadow:0 0 12px color-mix(in srgb, var(--line) 50%, transparent), 0 0 26px color-mix(in srgb, var(--neon-pink) 28%, transparent);font-size:clamp(1.05rem,10cqw,1.65rem)}.share-card-brand-accent{letter-spacing:-.055em;color:var(--line);text-shadow:0 0 14px color-mix(in srgb, var(--line) 75%, transparent), 0 0 32px color-mix(in srgb, var(--line) 40%, transparent), 0 0 4px color-mix(in srgb, var(--neon-pink) 35%, transparent);font-size:clamp(1.4rem,13.8cqw,2.15rem)}.share-card-train{flex-shrink:0;justify-content:center;margin:0;animation:1.8s steps(4,end) infinite train-chug;display:flex}.share-card-train-svg{width:min(132px,50%);height:auto;image-rendering:pixelated}.share-card-line{border:1px solid color-mix(in srgb, var(--line) 45%, transparent);box-shadow:inset 0 0 18px color-mix(in srgb, var(--line) 12%, transparent);background:#00000061;flex-shrink:0;align-items:flex-start;gap:.45rem;padding:.38rem .5rem;display:flex}.share-card-dot{background:var(--line);width:.65rem;height:.65rem;box-shadow:0 0 10px var(--line), 0 0 22px color-mix(in srgb, var(--line) 60%, transparent);flex-shrink:0;margin-top:.28rem}.share-card-line-copy{flex:1;min-width:0}.share-card-system{color:var(--fog);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:clamp(.5rem,3.5cqw,.6rem)}.share-card-line-name{font-family:var(--font-display);letter-spacing:-.02em;color:#fff;margin:.08rem 0 0;font-size:clamp(.82rem,6.6cqw,1.05rem);font-weight:700;line-height:1.1}.share-card-route{color:color-mix(in srgb, var(--fog) 85%, white);overflow-wrap:break-word;word-break:normal;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:.12rem 0 0;font-size:clamp(.5rem,3.6cqw,.62rem);line-height:1.3;display:-webkit-box;overflow:hidden}.share-card-score{text-align:center;flex-shrink:0;padding:.4% 0 0}.share-card-wpm-label{color:var(--neon-cyan);letter-spacing:.2em;text-transform:uppercase;margin:0;font-size:clamp(.48rem,3.4cqw,.58rem)}.share-card-wpm{font-family:var(--font-display);color:var(--signal);text-shadow:0 0 16px color-mix(in srgb, var(--signal) 70%, transparent), 0 0 36px color-mix(in srgb, var(--line) 45%, transparent), 2px 2px 0 #1a0a00;font-variant-numeric:tabular-nums;margin:.08rem 0 0;font-size:clamp(2.1rem,24cqw,3.15rem);font-weight:800;line-height:.88}.share-card-chips{flex-wrap:wrap;justify-content:center;gap:.28rem;margin:.4rem 0 0;display:flex}.share-card-chip{border:1px solid color-mix(in srgb, var(--neon-cyan) 40%, transparent);color:var(--fog);letter-spacing:.06em;text-transform:uppercase;box-shadow:inset 0 0 10px color-mix(in srgb, var(--neon-cyan) 8%, transparent);background:#00000073;padding:.18rem .42rem;font-size:clamp(.46rem,3.3cqw,.56rem)}.share-card-meta{color:var(--fog);letter-spacing:.04em;flex-wrap:wrap;justify-content:center;gap:.15rem .3rem;margin:.32rem 0 0;font-size:clamp(.48rem,3.5cqw,.6rem);display:flex}.share-card-meta-sep{color:color-mix(in srgb, var(--fog) 55%, transparent)}.share-card-stations{border:1px solid color-mix(in srgb, var(--neon-cyan) 28%, var(--neon-pink) 18%);min-height:0;max-height:100%;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--neon-pink) 12%, transparent), inset 0 0 20px color-mix(in srgb, var(--neon-cyan) 6%, transparent);background:#0000006b;flex-direction:column;flex:1 1 0;gap:.28rem;padding:.42rem .4rem .4rem;display:flex;overflow:hidden}.share-card-stations-label{color:var(--neon-pink);letter-spacing:.18em;text-transform:uppercase;text-shadow:0 0 8px color-mix(in srgb, var(--neon-pink) 55%, transparent);flex-shrink:0;margin:0;font-size:clamp(.46rem,3.2cqw,.54rem)}.share-card-station-list{flex:1 1 0;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(1.55rem,11.5cqw,1.85rem);align-content:start;gap:.22rem;min-height:0;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.share-card-station-list li,.share-card-station-chip{isolation:isolate;box-sizing:border-box;border:1px solid color-mix(in srgb, var(--line) 40%, transparent);background:linear-gradient(105deg, color-mix(in srgb, var(--line) 14%, transparent) 0%, #000000b8 55%);min-width:0;height:100%;min-height:0;box-shadow:inset 0 0 10px color-mix(in srgb, var(--line) 10%, transparent);color:#fff;align-items:center;gap:.28rem;padding:.18rem .28rem .18rem .2rem;display:flex;position:relative;overflow:hidden}.share-card-station-building{z-index:0;opacity:.95;width:clamp(1.05rem,8cqw,1.35rem);height:auto;image-rendering:pixelated;pointer-events:none;filter:drop-shadow(0 0 3px color-mix(in srgb, var(--line) 50%, transparent));flex-shrink:0;position:relative}.share-card-station-name{z-index:1;-webkit-line-clamp:2;line-clamp:2;text-align:left;text-align-last:auto;word-spacing:0;letter-spacing:0;overflow-wrap:break-word;word-break:normal;text-shadow:0 0 4px #050b12,0 1px #050b12,0 0 8px #050b12e6;-webkit-box-orient:vertical;flex:1 1 0;min-width:0;font-size:clamp(.4rem,3cqw,.5rem);font-weight:700;line-height:1.15;display:-webkit-box;position:relative;overflow:hidden}.share-card-station-list li.is-ellipsis{border-style:dashed;border-color:color-mix(in srgb, var(--fog) 45%, transparent);color:var(--fog);box-shadow:none;letter-spacing:.12em;background:0 0;justify-content:center;font-size:clamp(.7rem,5cqw,.9rem)}.share-card-foot{color:color-mix(in srgb, var(--fog) 80%, white);letter-spacing:.12em;text-transform:uppercase;flex-shrink:0;justify-content:center;align-items:center;gap:.35rem;margin-top:0;padding-top:.15rem;font-size:clamp(.46rem,3.2cqw,.54rem);display:flex}.share-card-foot-mark{color:var(--line);text-shadow:0 0 8px var(--line)}.share-card[data-variant=route]{background:radial-gradient(ellipse 70% 40% at 0% 50%, color-mix(in srgb, var(--line) 28%, transparent), transparent 60%), linear-gradient(180deg, #061018 0%, #050b12 100%);gap:2%;padding:11% 6.5% 10%}.sc-route-bg{background-image:repeating-linear-gradient(90deg, transparent, transparent 11px, color-mix(in srgb, var(--line) 6%, transparent) 11px, color-mix(in srgb, var(--line) 6%, transparent) 12px);pointer-events:none;z-index:0;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#00000080 30% 70%,#0000);mask-image:linear-gradient(#0000,#00000080 30% 70%,#0000)}.sc-route-head,.sc-route-hero-line,.sc-route-map,.sc-route-stats{z-index:2;position:relative}.sc-route-head{flex-shrink:0}.sc-route-kicker{color:var(--neon-cyan);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:clamp(.48rem,3.4cqw,.58rem)}.sc-route-brand.share-card-brand{flex-flow:wrap;gap:.2em;margin-top:.2em}.sc-route-brand .share-card-brand-primary,.sc-route-brand .share-card-brand-accent{font-size:clamp(.95rem,8.5cqw,1.35rem);display:inline}.sc-route-hero-line{border-bottom:2px solid color-mix(in srgb, var(--line) 70%, transparent);flex-shrink:0;justify-content:space-between;align-items:baseline;gap:.5rem;padding-bottom:.35rem;display:flex}.sc-route-line-name{font-family:var(--font-display);letter-spacing:-.03em;color:#fff;font-size:clamp(1rem,9cqw,1.45rem);font-weight:800;line-height:1.05}.sc-route-count{color:var(--line);letter-spacing:.12em;text-transform:uppercase;text-shadow:0 0 10px color-mix(in srgb, var(--line) 55%, transparent);flex-shrink:0;font-size:clamp(.5rem,3.6cqw,.62rem)}.sc-route-map{flex:1 1 0;min-height:0;padding:.35rem 0 .35rem .15rem;position:relative;overflow:hidden}.sc-route-spine{background:linear-gradient(180deg, color-mix(in srgb, var(--line) 30%, transparent), var(--line) 20%, var(--line) 80%, color-mix(in srgb, var(--line) 30%, transparent));width:3px;box-shadow:0 0 12px color-mix(in srgb, var(--line) 50%, transparent);border-radius:2px;position:absolute;top:.55rem;bottom:.55rem;left:.42rem}.sc-route-stops{flex-direction:column;justify-content:space-between;gap:.15rem;height:100%;margin:0;padding:0;list-style:none;display:flex}.sc-route-stops li{align-items:center;gap:.55rem;min-height:0;display:flex}.sc-route-node{background:var(--line);width:.7rem;height:.7rem;box-shadow:0 0 0 1px color-mix(in srgb, var(--line) 80%, white), 0 0 10px color-mix(in srgb, var(--line) 55%, transparent);z-index:1;border:2px solid #050b12;border-radius:50%;flex-shrink:0}.sc-route-stops li.is-more .sc-route-node{border-style:dashed;border-color:var(--fog);box-shadow:none;background:0 0}.sc-route-stop-name{color:var(--paper);word-spacing:0;text-align:left;text-align-last:auto;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.52rem,4cqw,.68rem);font-weight:600;line-height:1.15;overflow:hidden}.sc-route-stops li.is-more .sc-route-stop-name{color:var(--fog);letter-spacing:.04em;font-weight:500}.sc-route-stats{flex-shrink:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;display:grid}.sc-route-stat{border:1px solid color-mix(in srgb, var(--line) 40%, transparent);background:#0000007a;flex-direction:column;align-items:center;gap:.12rem;padding:.4rem .2rem;display:flex}.sc-route-stat-label{color:var(--fog);letter-spacing:.16em;text-transform:uppercase;font-size:clamp(.42rem,3cqw,.5rem)}.sc-route-stat-value{font-family:var(--font-display);color:var(--signal);font-variant-numeric:tabular-nums;font-size:clamp(.85rem,7cqw,1.15rem);font-weight:800;line-height:1}.share-card[data-variant=minimal]{background:radial-gradient(ellipse 70% 38% at 50% 18%, color-mix(in srgb, var(--line) 14%, transparent), transparent 62%), #03080d;border-color:color-mix(in srgb, var(--line) 55%, #333);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--line) 18%, transparent);justify-content:flex-start;gap:0;padding:12% 8% 11%}.sc-min-texture{z-index:0;pointer-events:none;opacity:.55;background:repeating-linear-gradient(-18deg, transparent, transparent 11px, color-mix(in srgb, var(--line) 4%, transparent) 11px, color-mix(in srgb, var(--line) 4%, transparent) 12px);position:absolute;inset:0}.sc-min-scan{z-index:0;pointer-events:none;opacity:.35;mix-blend-mode:multiply;background:repeating-linear-gradient(#0000 0 3px,#0000008c 3px 4px);position:absolute;inset:0}.sc-min-head{z-index:2;flex-direction:column;flex-shrink:0;gap:.55rem;display:flex;position:relative}.sc-min-brand{font-family:var(--font-display);letter-spacing:.22em;text-transform:uppercase;color:color-mix(in srgb, var(--fog) 70%, white);margin:0;font-size:clamp(.55rem,4.2cqw,.72rem);font-weight:700}.sc-min-rule{background:linear-gradient(90deg, var(--line) 0%, color-mix(in srgb, var(--line) 55%, transparent) 42%, transparent 100%);width:100%;height:1px;box-shadow:0 0 10px color-mix(in srgb, var(--line) 35%, transparent)}.sc-min-hero{z-index:2;flex-direction:column;flex:auto;justify-content:flex-start;align-items:flex-start;min-height:0;padding-top:5%;display:flex;position:relative}.sc-min-label{color:var(--line);font-family:var(--font-mono);letter-spacing:.35em;text-transform:uppercase;margin:0;font-size:clamp(.55rem,4.5cqw,.75rem)}.sc-min-wpm{max-width:100%;font-family:var(--font-display);font-weight:800;font-size:clamp(2.35rem, calc(90cqw / var(--sc-min-wpm-chars,2)), 6.4rem);letter-spacing:-.08em;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;text-shadow:0 0 48px color-mix(in srgb, var(--line) 22%, transparent);margin:.08em 0 0;line-height:.82}.sc-min-acc{color:color-mix(in srgb, var(--fog) 88%, white);font-family:var(--font-mono);letter-spacing:.1em;margin:.65rem 0 0;font-size:clamp(.7rem,5.5cqw,.95rem)}.sc-min-foot{z-index:2;color:color-mix(in srgb, var(--fog) 85%, white);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.4rem;margin:auto 0 0;padding-top:1.25rem;font-size:clamp(.48rem,3.5cqw,.6rem);display:flex;position:relative}.sc-min-foot span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sc-min-dot{background:var(--line);width:.45rem;height:.45rem;box-shadow:0 0 8px var(--line);flex-shrink:0}.share-card[data-variant=ticket]{background:repeating-linear-gradient(-12deg, transparent, transparent 10px, color-mix(in srgb, var(--line) 3.5%, transparent) 10px, color-mix(in srgb, var(--line) 3.5%, transparent) 11px), linear-gradient(165deg, #0c1520 0%, #081018 55%, #0a121c 100%);border-style:dashed;border-width:2px;border-color:color-mix(in srgb, var(--line) 65%, var(--fog));gap:0;padding:11% 6% 10%}.sc-ticket-stub{z-index:2;background:color-mix(in srgb, var(--line) 16%, #0a1218);border:1px solid color-mix(in srgb, var(--line) 50%, transparent);flex-direction:row;flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .7rem;display:flex;position:relative}.sc-ticket-stub-top{flex-direction:column;flex:auto;gap:.2rem;min-width:0;display:flex;overflow:hidden}.sc-ticket-carrier{font-family:var(--font-display);color:#fff;flex-flow:column;align-items:flex-start;gap:0;min-width:0;max-width:100%;margin:0;font-weight:800;line-height:.95;display:flex}.sc-ticket-carrier-primary,.sc-ticket-carrier-accent{white-space:nowrap;text-overflow:ellipsis;overflow-wrap:normal;word-break:normal;letter-spacing:-.03em;max-width:100%;font-size:clamp(.64rem,4.9cqw,.86rem);display:block;overflow:hidden}.sc-ticket-carrier-accent{color:var(--line);text-shadow:0 0 10px color-mix(in srgb, var(--line) 45%, transparent)}.sc-ticket-pass-type{color:var(--fog);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:clamp(.4rem,2.9cqw,.5rem)}.sc-ticket-fare{z-index:1;border:1px solid color-mix(in srgb, var(--line) 55%, transparent);min-width:3.1rem;box-shadow:inset 0 0 12px color-mix(in srgb, var(--line) 12%, transparent);background:#0006;flex-direction:column;flex:none;justify-content:center;align-items:flex-end;gap:.08rem;padding:.28rem .4rem;display:flex;position:relative}.sc-ticket-fare-label{color:color-mix(in srgb, var(--fog) 85%, white);letter-spacing:.2em;text-transform:uppercase;font-size:clamp(.38rem,2.8cqw,.46rem)}.sc-ticket-fare-value{font-family:var(--font-display);letter-spacing:-.03em;color:var(--signal);font-variant-numeric:tabular-nums;text-shadow:0 0 12px color-mix(in srgb, var(--signal) 45%, transparent);font-size:clamp(1.05rem,10cqw,1.45rem);font-weight:800;line-height:.95}.sc-ticket-perf{z-index:2;opacity:.95;background:radial-gradient(circle at 7px,#050b12 4px,#0000 4.5px) -7px 0/14px 10px repeat-x;flex-shrink:0;height:10px;margin:.1rem 0;position:relative}.sc-ticket-body{z-index:2;border:1px solid color-mix(in srgb, var(--fog) 28%, transparent);background:#ffffff0a;flex-direction:column;flex:1 1 0;gap:.45rem;min-height:0;padding:.7rem .6rem .45rem;display:flex;position:relative;overflow:hidden}.sc-ticket-system{color:var(--fog);letter-spacing:.2em;text-transform:uppercase;flex-shrink:0;margin:0;font-size:clamp(.45rem,3.2cqw,.55rem)}.sc-ticket-line{font-family:var(--font-display);letter-spacing:-.035em;word-spacing:0;color:#fff;overflow-wrap:break-word;word-break:normal;flex-shrink:0;margin:0;font-size:clamp(1.35rem,12cqw,1.85rem);font-weight:800;line-height:1.02}.sc-ticket-route-hint{color:color-mix(in srgb, var(--fog) 88%, white);overflow-wrap:break-word;word-break:normal;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;flex-shrink:0;margin:0;font-size:clamp(.45rem,3.3cqw,.55rem);line-height:1.3;display:-webkit-box;overflow:hidden}.sc-ticket-od{flex-direction:column;flex:1 1 0;justify-content:center;gap:0;min-height:0;margin:.35rem 0 0;display:flex}.sc-ticket-leg{border:1px solid color-mix(in srgb, var(--line) 28%, transparent);background:#00000052;flex-direction:column;gap:.22rem;min-width:0;padding:.4rem .45rem;display:flex}.sc-ticket-field{color:var(--fog);letter-spacing:.18em;text-transform:uppercase;font-size:clamp(.4rem,2.9cqw,.48rem)}.sc-ticket-place{font-family:var(--font-display);word-spacing:0;color:var(--paper);overflow-wrap:break-word;word-break:normal;font-size:clamp(.78rem,6.4cqw,1.05rem);font-weight:700;line-height:1.2}.sc-ticket-connector{flex-direction:column;flex-shrink:0;align-items:center;gap:0;padding:.15rem 0;display:flex}.sc-ticket-connector-line{background:color-mix(in srgb, var(--line) 70%, transparent);width:2px;height:.55rem;box-shadow:0 0 8px color-mix(in srgb, var(--line) 45%, transparent)}.sc-ticket-connector-arrow{color:var(--line);text-shadow:0 0 8px var(--line);font-size:clamp(.7rem,5.5cqw,.9rem);line-height:1}.sc-ticket-meta{border-top:1px dashed color-mix(in srgb, var(--fog) 35%, transparent);flex-shrink:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;margin-top:auto;padding-top:.5rem;display:grid}.sc-ticket-meta>div{flex-direction:column;gap:.14rem;min-width:0;display:flex}.sc-ticket-val{color:var(--signal);font-variant-numeric:tabular-nums;font-size:clamp(.7rem,5.5cqw,.92rem);font-weight:700}.sc-ticket-barcode{opacity:.8;flex-shrink:0;justify-content:space-between;align-items:stretch;gap:1px;height:1.55rem;margin-top:.25rem;display:flex}.sc-ticket-barcode span{background-color:color-mix(in srgb, var(--paper) 75%, var(--line));background-image:none;flex:none;min-width:1px;height:100%;display:block}.sc-ticket-serial{text-align:center;color:var(--fog);letter-spacing:.16em;flex-shrink:0;margin:.15rem 0 0;font-size:clamp(.4rem,2.9cqw,.48rem)}.share-card[data-variant=monas]{background:radial-gradient(ellipse 90% 55% at 50% 72%, color-mix(in srgb, var(--line) 22%, transparent), transparent 62%), radial-gradient(ellipse 50% 30% at 50% 18%, #ffd56a1f, transparent 55%), linear-gradient(180deg, #02060e 0%, #071018 42%, #0a1520 78%, #061018 100%);border-color:color-mix(in srgb, var(--line) 55%, #1a3040);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--line) 18%, transparent), inset 0 -40px 60px color-mix(in srgb, var(--line) 8%, transparent);justify-content:space-between;gap:2.8%;padding:12% 7% 11%}.sc-monas-sky,.sc-monas-stars,.sc-monas-glow{pointer-events:none;z-index:0;position:absolute;inset:0}.sc-monas-sky{background:radial-gradient(ellipse 70% 40% at 50% 100%, color-mix(in srgb, var(--line) 14%, transparent), transparent 55%)}.sc-monas-stars{opacity:.7;background-image:radial-gradient(1px 1px at 12% 18%,#ffffff8c,#0000),radial-gradient(1px 1px at 28% 28%,#fff6,#0000),radial-gradient(1.5px 1.5px at 72% 14%,#ffffff80,#0000),radial-gradient(1px 1px at 88% 32%,#ffffff59,#0000),radial-gradient(1px 1px at 64% 24%,#ffffff4d,#0000),radial-gradient(1px 1px at 40% 12%,#ffffff73,#0000);-webkit-mask-image:linear-gradient(#000 0% 35%,#0000 70%);mask-image:linear-gradient(#000 0% 35%,#0000 70%)}.sc-monas-glow{background:radial-gradient(ellipse 40% 28% at 50% 38%, color-mix(in srgb, var(--line) 28%, transparent), transparent 70%)}.sc-monas-head,.sc-monas-stage,.sc-monas-meta{z-index:2;position:relative}.sc-monas-head{text-align:center;flex-direction:column;flex-shrink:0;align-items:center;gap:.7rem;display:flex}.sc-monas-kicker{color:color-mix(in srgb, var(--fog) 80%, #7ef9ff);letter-spacing:.22em;text-transform:uppercase;margin:0;font-size:clamp(.48rem,3.4cqw,.58rem)}.sc-monas-brand.share-card-brand{flex-flow:column;justify-content:center;align-items:center;gap:.02em;margin:0;line-height:.95}.sc-monas-brand .share-card-brand-primary,.sc-monas-brand .share-card-brand-accent{font-size:clamp(.95rem,8.5cqw,1.35rem);display:block}.sc-monas-brand .share-card-brand-accent{font-size:clamp(1.15rem,10.5cqw,1.65rem)}.sc-monas-head .share-device-tag{margin-top:0}.sc-monas-stage{flex-direction:column;flex:1 1 0;justify-content:flex-start;align-items:center;gap:.45rem;min-height:0;padding-top:.65rem;display:flex;position:relative}.sc-monas-wpm{z-index:3;text-align:center;pointer-events:none;flex-direction:column;flex-shrink:0;align-items:center;gap:.62em;margin:0;line-height:1;display:flex;position:relative}.sc-monas-wpm-num{font-family:var(--font-display);letter-spacing:-.05em;color:#fff8e0;font-variant-numeric:tabular-nums;text-shadow:0 -2px 10px color-mix(in srgb, var(--line) 75%, transparent), 0 0 18px #ffd56a73, 0 -6px 32px color-mix(in srgb, var(--line) 35%, transparent);font-size:clamp(2.4rem,26cqw,3.4rem);font-weight:800;line-height:.92}.sc-monas-wpm-unit{z-index:1;color:var(--line);letter-spacing:.28em;text-transform:uppercase;text-shadow:0 0 6px #02060ed9, 0 1px 2px #02060e, 0 0 10px color-mix(in srgb, var(--line) 55%, transparent);margin:0;font-size:clamp(.48rem,3.5cqw,.6rem);line-height:1.25;position:relative}.sc-monas-svg{width:min(58%,160px);height:auto;max-height:58%;filter:drop-shadow(0 0 14px color-mix(in srgb, var(--line) 40%, transparent));flex:auto;margin-top:auto}.sc-monas-flame{fill:var(--line);filter:drop-shadow(0 0 8px var(--line));animation:2.4s ease-in-out infinite monas-flame}@keyframes monas-flame{0%,to{opacity:.8}50%{opacity:1}}.sc-monas-shaft{fill:color-mix(in srgb, #243244 72%, var(--line) 28%);stroke:color-mix(in srgb, var(--line) 72%, #d7e2ec);stroke-width:1.6px}.sc-monas-ring{fill:color-mix(in srgb, var(--line) 55%, #2a3848);stroke:color-mix(in srgb, var(--line) 80%, white);stroke-width:1.1px}.sc-monas-cupola,.sc-monas-base{fill:color-mix(in srgb, #2a3848 65%, var(--line) 35%);stroke:color-mix(in srgb, var(--line) 55%, #c8d4e0);stroke-width:1.3px}.sc-monas-plinth{fill:color-mix(in srgb, #1c2836 70%, var(--line) 30%);stroke:color-mix(in srgb, var(--line) 50%, #a8b8c8);stroke-width:1.1px}.sc-monas-plaza{fill:color-mix(in srgb, var(--line) 40%, transparent);opacity:.85}.sc-monas-meta{text-align:center;flex-shrink:0;padding-top:.35rem}.sc-monas-line{justify-content:center;align-items:center;gap:.4rem;margin:0;display:flex}.sc-monas-line-name{font-family:var(--font-display);letter-spacing:-.02em;color:#fff;font-size:clamp(.85rem,7cqw,1.15rem);font-weight:800;line-height:1.1}.sc-monas-system{color:var(--fog);letter-spacing:.18em;text-transform:uppercase;margin:.2rem 0 0;font-size:clamp(.55rem,4cqw,.68rem)}.sc-monas-chips{color:color-mix(in srgb, var(--fog) 90%, white);letter-spacing:.06em;flex-wrap:wrap;justify-content:center;gap:.25rem .4rem;margin:.45rem 0 0;font-size:clamp(.58rem,4.2cqw,.7rem);display:flex}.share-card[data-variant=pixel]{background:radial-gradient(ellipse 80% 50% at 50% 35%, color-mix(in srgb, var(--line) 22%, transparent), transparent 60%), linear-gradient(180deg, #0a0614 0%, #050b12 45%, #071820 100%);gap:1.8%;padding:11% 6% 10%}.sc-pixel-grid{background-image:linear-gradient(color-mix(in srgb, var(--neon-pink) 7%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--neon-cyan) 7%, transparent) 1px, transparent 1px);opacity:.7;pointer-events:none;z-index:0;background-size:10px 10px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 55% at 50% 40%,#000 20%,#0000 75%);mask-image:radial-gradient(70% 55% at 50% 40%,#000 20%,#0000 75%)}.sc-pixel-head,.sc-pixel-stage,.sc-pixel-badge,.sc-pixel-line,.sc-pixel-chips,.sc-pixel-foot{z-index:2;position:relative}.sc-pixel-head{flex-direction:column;flex-shrink:0;gap:.2rem;display:flex}.sc-pixel-brand.share-card-brand{flex-flow:wrap;gap:.15em}.sc-pixel-brand .share-card-brand-primary,.sc-pixel-brand .share-card-brand-accent{font-size:clamp(.9rem,8cqw,1.25rem);display:inline}.sc-pixel-kicker{color:var(--neon-pink);letter-spacing:.22em;text-shadow:0 0 8px color-mix(in srgb, var(--neon-pink) 55%, transparent);margin:0;font-size:clamp(.48rem,3.4cqw,.58rem)}.sc-pixel-stage{flex-direction:column;flex-shrink:0;align-items:center;gap:.2rem;padding:.3rem 0;animation:1.8s steps(4,end) infinite train-chug;display:flex}.sc-pixel-train{width:min(150px,62%);height:auto;image-rendering:pixelated}.sc-pixel-track{background:repeating-linear-gradient(90deg, var(--line) 0 6px, transparent 6px 10px);width:78%;height:3px;box-shadow:0 0 10px color-mix(in srgb, var(--line) 45%, transparent)}.sc-pixel-badge{border:2px solid var(--line);box-shadow:0 0 0 1px color-mix(in srgb, var(--neon-cyan) 30%, transparent), 0 0 20px color-mix(in srgb, var(--line) 30%, transparent);background:#0000008c;flex-direction:column;flex-shrink:0;align-self:center;align-items:center;padding:.45rem 1.1rem .5rem;display:flex}.sc-pixel-badge-label{color:var(--neon-cyan);letter-spacing:.24em;font-size:clamp(.42rem,3cqw,.5rem)}.sc-pixel-badge-wpm{font-family:var(--font-display);color:var(--signal);font-variant-numeric:tabular-nums;text-shadow:0 0 14px color-mix(in srgb, var(--signal) 60%, transparent), 2px 2px 0 #1a0a00;font-size:clamp(2rem,22cqw,2.85rem);font-weight:800;line-height:.9}.sc-pixel-line{font-family:var(--font-display);color:#fff;text-align:center;justify-content:center;align-items:center;gap:.4rem;margin:0;font-size:clamp(.72rem,5.8cqw,.95rem);font-weight:700;display:flex}.sc-pixel-dot{background:var(--line);width:.5rem;height:.5rem;box-shadow:0 0 8px var(--line)}.sc-pixel-chips{flex-wrap:wrap;flex:1 1 0;place-content:start center;gap:.22rem;width:100%;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.sc-pixel-chips li{border:1px solid color-mix(in srgb, var(--line) 40%, transparent);background:color-mix(in srgb, var(--line) 12%, transparent);letter-spacing:.01em;word-spacing:0;text-align:left;text-align-last:auto;color:var(--paper);text-overflow:ellipsis;white-space:nowrap;overflow-wrap:normal;word-break:normal;width:max-content;max-width:100%;padding:.22rem .38rem;font-size:clamp(.48rem,3.6cqw,.62rem);font-weight:700;line-height:1.2;display:block;overflow:hidden}.sc-pixel-foot{color:var(--fog);letter-spacing:.1em;text-transform:uppercase;flex-shrink:0;justify-content:center;gap:.4rem;font-size:clamp(.48rem,3.4cqw,.58rem);display:flex}.share-actions{margin-top:1rem}.share-capture-host{pointer-events:none;z-index:-1;filter:none;opacity:1;visibility:visible;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;width:280px;height:498px;margin:0;padding:0;position:fixed;top:0;left:-10000px;overflow:hidden}.share-capture-host .share-card{zoom:1;width:280px;min-width:280px;max-width:280px;height:498px;transform:none}.share-shot-page{--paper:#f4f7fb;--fog:#9aa8b8;--ink:#050b12;--line:#7ef9ff;--ok:#5dffb0;min-height:100svh;padding:max(.75rem, env(safe-area-inset-top,0px)) max(.85rem, env(safe-area-inset-right,0px)) max(.85rem, env(safe-area-inset-bottom,0px)) max(.85rem, env(safe-area-inset-left,0px));color:var(--paper);box-sizing:border-box;background:radial-gradient(80% 40% at 50% -10%,#7ef9ff1f,#0000 55%),linear-gradient(165deg,#07131c 0%,#050b12 48%,#0a0614 100%);flex-direction:column;align-items:center;gap:.85rem;font-family:JetBrains Mono,ui-monospace,monospace;display:flex}.share-shot-chrome{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem .75rem;width:min(420px,100%);display:flex}.share-shot-back{flex-shrink:0}.share-shot-hint{text-align:right;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb, var(--fog) 85%, white);flex:10rem;margin:0;font-size:.68rem;line-height:1.35}.share-shot-picker{width:min(420px,100%)}.share-shot-stage{flex:auto;justify-content:center;align-items:center;width:100%;min-height:0;display:flex}.share-shot-frame-scale{aspect-ratio:9/16;filter:drop-shadow(0 0 32px #7ef9ff33);width:min(420px,92vw,56.25dvh - 6.75rem);position:relative;container:share-shot-preview/inline-size}.share-shot-frame{width:280px;min-width:280px;max-width:none;transform:scale(calc(100cqw / 280));transform-origin:0 0;margin:0;position:absolute;top:0;left:0}.share-shot-actions{width:min(420px,100%);margin-top:0}.share-shot-note{text-align:center;width:min(420px,100%)}.share-shot-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.75rem;padding:2rem 1rem;display:flex}.share-shot-empty-title{margin:0;font-family:Syne,system-ui,sans-serif;font-size:1.35rem;font-weight:700}.share-shot-empty-copy{max-width:22rem;color:var(--fog);margin:0 0 .5rem;font-size:.8rem;line-height:1.45}.results-nav{margin-top:1.65rem;animation:.65s cubic-bezier(.22,1,.36,1) .22s both rise-in}.btn.neon{color:#7ef9ff;background:0 0;border-color:#7ef9ff8c;box-shadow:0 0 14px #7ef9ff2e}.btn.neon:hover:not(:disabled){color:#fff;background:#7ef9ff1f;border-color:#7ef9ff}.btn:disabled{opacity:.55;cursor:wait}.share-note{color:var(--ok);letter-spacing:.06em;margin:.75rem 0 0;font-size:.75rem}.results-perf{text-align:left;border:1px solid color-mix(in srgb, var(--line) 32%, transparent);border-left:3px solid var(--line);background:linear-gradient(125deg, color-mix(in srgb, var(--line) 12%, transparent) 0%, transparent 42%), linear-gradient(180deg, color-mix(in srgb, var(--ink-2) 72%, transparent), #041018e0);width:100%;min-width:0;box-shadow:inset 0 1px 0 #7ef9ff1a, 0 0 40px color-mix(in srgb, var(--line) 10%, transparent);border-radius:4px 16px 16px 4px;padding:1.15rem 1.15rem 1.25rem;animation:.7s cubic-bezier(.22,1,.36,1) .18s both rise-in;position:relative}.results-perf:before{content:"";border:1px dashed color-mix(in srgb, var(--line) 28%, transparent);opacity:.7;pointer-events:none;border-radius:50%;width:2.5rem;height:2.5rem;position:absolute;top:.85rem;right:.85rem}.results-perf-head{border-bottom:1px solid color-mix(in srgb, var(--fog) 18%, transparent);padding-bottom:.75rem;position:relative}.results-perf-eyebrow{color:#7ef9ff;letter-spacing:.18em;text-transform:uppercase;text-shadow:0 0 8px #7ef9ff66;margin:0;font-size:.58rem}.results-perf-title{color:var(--paper);font-family:var(--font-display);letter-spacing:-.03em;margin:.25rem 0 0;font-size:1.35rem;font-weight:800;line-height:1}.results-perf-badge{color:var(--ok);letter-spacing:.1em;text-transform:uppercase;border:1px solid color-mix(in srgb, var(--ok) 40%, transparent);background:color-mix(in srgb, var(--ok) 10%, transparent);border-radius:2px;margin:.55rem 0 0;padding:.22rem .55rem;font-size:.58rem;display:inline-block}.results-perf-hero{border-bottom:1px solid color-mix(in srgb, var(--fog) 14%, transparent);margin-top:1rem;padding:.35rem 0 .85rem}.results-perf-wpm-label{color:var(--signal);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.62rem}.results-perf-wpm{color:var(--paper);font-family:var(--font-display);letter-spacing:-.06em;text-shadow:0 0 32px color-mix(in srgb, var(--line) 35%, transparent);margin:.15rem 0 0;font-size:clamp(2.8rem,8vw,3.6rem);font-weight:800;line-height:.95}.results-perf-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:.9rem 0 0;display:grid}.results-perf-stat{text-align:left;border-right:1px solid color-mix(in srgb, var(--fog) 16%, transparent);min-width:0;padding:.35rem .4rem .45rem}.results-perf-stat:last-child{border-right:none}.results-perf-stat dt{color:color-mix(in srgb, var(--fog) 88%, var(--paper));letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.52rem}.results-perf-stat dd{color:var(--paper);font-family:var(--font-display);letter-spacing:-.02em;margin:.25rem 0 0;font-size:1.05rem;font-weight:700;line-height:1.1}.results-perf-stat--perfect dd{color:var(--line);text-shadow:0 0 12px color-mix(in srgb, var(--line) 40%, transparent)}.results-perf-of{color:color-mix(in srgb, var(--fog) 80%, var(--paper));font-size:.72em;font-weight:600}.results-perf-chart{border-top:1px solid color-mix(in srgb, var(--fog) 14%, transparent);margin-top:1.1rem;padding-top:.85rem}.results-perf-chart-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem .75rem;display:flex}.results-perf-chart-label{color:var(--paper);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.68rem}.results-perf-chart-hint{color:color-mix(in srgb, var(--fog) 90%, var(--paper));margin:0;font-size:.58rem;line-height:1.3}.results-diag-empty{color:var(--fog);text-align:center;margin:.75rem 0 0;font-size:.75rem}.results-chart-wrap{width:100%;margin-top:.85rem;position:relative}.results-chart-scroll{-webkit-overflow-scrolling:touch;background:linear-gradient(180deg, color-mix(in srgb, var(--ink) 35%, transparent), #04101873);border:1px solid color-mix(in srgb, var(--fog) 12%, transparent);border-radius:4px;width:100%;min-height:250px;padding-bottom:.4rem;overflow:auto hidden}.results-chart{width:100%;min-width:100%;height:auto;min-height:250px;max-height:300px;display:block;overflow:visible}.results-chart-grid{stroke:color-mix(in srgb, var(--fog) 14%, transparent);stroke-width:1px;stroke-dasharray:3 5}.results-chart-rail{stroke:color-mix(in srgb, var(--line) 50%, transparent);stroke-width:1.5px}.results-chart-hit{fill:#0000;cursor:pointer;outline:none}.results-chart-hit:focus-visible{fill:color-mix(in srgb, var(--line) 12%, transparent);stroke:color-mix(in srgb, var(--line) 55%, transparent);stroke-width:1.5px}.results-chart-bar{transition:filter .18s,opacity .18s}.results-chart-bar.is-perfect{fill:var(--line);filter:drop-shadow(0 0 5px color-mix(in srgb, var(--line) 50%, transparent))}.results-chart-bar.is-imperfect{fill:color-mix(in srgb, var(--bad) 55%, var(--fog));opacity:.78}.results-chart-item.is-active .results-chart-bar.is-perfect{filter:drop-shadow(0 0 10px color-mix(in srgb, var(--line) 75%, transparent))}.results-chart-item.is-active .results-chart-bar.is-imperfect{opacity:1;filter:drop-shadow(0 0 8px color-mix(in srgb, var(--bad) 45%, transparent))}.results-chart-item.is-dimmed .results-chart-bar{opacity:.32;filter:none}.results-chart-item.is-dimmed .results-chart-label{opacity:.4}.results-chart-item.is-active .results-chart-label{fill:var(--paper);opacity:1}.results-chart-label{fill:color-mix(in srgb, var(--fog) 90%, var(--paper));font-size:11px;font-family:var(--font-mono);letter-spacing:-.02em}.results-chart.is-angled .results-chart-label{font-size:10px}.results-chart.is-dense .results-chart-label{font-size:9px}.results-chart-tip{--tip-board:#02060ce0;isolation:isolate;border:1px solid color-mix(in srgb, var(--fog) 22%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--fog) 5%, transparent) 0%, transparent 30%), repeating-linear-gradient(0deg, transparent, transparent 2px, #00000029 2px, #00000029 3px), var(--tip-board);min-height:4.6rem;box-shadow:0 0 0 1px #00000080, inset 0 1px 0 color-mix(in srgb, var(--paper) 5%, transparent), inset 0 -8px 20px #0000004d;border-radius:2px;align-items:stretch;margin-top:.7rem;transition:border-color .22s,box-shadow .22s;display:flex;position:relative;overflow:hidden}.results-chart-tip-edge{background:color-mix(in srgb, var(--fog) 28%, transparent);flex:0 0 3px;width:3px;transition:background .22s,box-shadow .22s}.results-chart-tip-scan{pointer-events:none;z-index:2;background:linear-gradient(105deg, transparent 35%, color-mix(in srgb, var(--line) 10%, transparent) 48%, color-mix(in srgb, var(--paper) 7%, transparent) 50%, color-mix(in srgb, var(--line) 9%, transparent) 52%, transparent 65%);mix-blend-mode:screen;opacity:0;position:absolute;inset:0;transform:translate(-120%)}.results-chart-tip.is-idle .results-chart-tip-scan{opacity:.35;animation:4.2s ease-in-out infinite results-board-scan}.results-chart-tip.is-visible{border-color:color-mix(in srgb, var(--line) 48%, transparent);box-shadow:0 0 0 1px #00000080, 0 0 28px color-mix(in srgb, var(--line) 14%, transparent), inset 0 1px 0 color-mix(in srgb, var(--paper) 8%, transparent), inset 0 -8px 20px #0000004d;animation:.28s cubic-bezier(.22,1,.36,1) both results-tip-in}.results-chart-tip.is-visible .results-chart-tip-edge{background:linear-gradient(180deg, color-mix(in srgb, var(--line) 55%, white), var(--line) 35%, color-mix(in srgb, var(--line) 70%, #000));box-shadow:0 0 10px color-mix(in srgb, var(--line) 70%, transparent), 0 0 20px color-mix(in srgb, var(--line) 35%, transparent)}.results-chart-tip.is-visible .results-chart-tip-scan{opacity:.55;animation:2.4s ease-in-out both results-board-scan}.results-chart-tip.is-missed{border-color:color-mix(in srgb, var(--bad) 40%, transparent)}.results-chart-tip.is-missed .results-chart-tip-edge{background:linear-gradient(180deg, color-mix(in srgb, var(--bad) 60%, white), var(--bad) 40%, color-mix(in srgb, var(--bad) 70%, #000));box-shadow:0 0 10px color-mix(in srgb, var(--bad) 55%, transparent), 0 0 18px color-mix(in srgb, var(--bad) 28%, transparent)}.results-chart-tip.is-pinned{border-color:color-mix(in srgb, #7ef9ff 45%, var(--line));box-shadow:0 0 0 1px #7ef9ff29, 0 0 32px color-mix(in srgb, var(--line) 18%, transparent), inset 0 1px 0 #7ef9ff1f, inset 0 -8px 20px #0000004d}.results-chart-tip-body,.results-chart-tip-idle{z-index:1;flex:1;min-width:0;padding:.55rem .75rem .6rem .65rem;position:relative}.results-chart-tip-idle{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;min-height:3.5rem;display:grid}.results-chart-tip-idle-copy{min-width:0}.results-chart-tip-idle-label{color:color-mix(in srgb, var(--fog) 70%, var(--paper));letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:.58rem}.results-chart-tip-placeholder{color:color-mix(in srgb, var(--fog) 78%, transparent);letter-spacing:.02em;margin:.2rem 0 0;font-size:.68rem;line-height:1.35}.results-chart-tip-idle-track{background:color-mix(in srgb, var(--fog) 22%, transparent);width:2.75rem;height:2px;position:relative;overflow:hidden}.results-chart-tip-idle-cursor{background:color-mix(in srgb, var(--line) 55%, var(--fog));width:28%;height:100%;box-shadow:0 0 8px color-mix(in srgb, var(--line) 40%, transparent);animation:2.4s ease-in-out infinite results-tip-seek;position:absolute;top:0;left:0}.results-chart-tip-dot{background:var(--line);width:.45rem;height:.45rem;box-shadow:0 0 8px var(--line), 0 0 14px color-mix(in srgb, var(--line) 45%, transparent);border-radius:1px;flex-shrink:0;animation:1.8s ease-in-out infinite results-pulse}.results-chart-tip-dot.is-idle{background:color-mix(in srgb, var(--fog) 55%, transparent);box-shadow:none;animation:2.6s ease-in-out infinite results-pulse}.results-chart-tip.is-missed .results-chart-tip-dot{background:var(--bad);box-shadow:0 0 8px var(--bad), 0 0 14px color-mix(in srgb, var(--bad) 40%, transparent)}.results-chart-tip-call{align-items:center;gap:.45rem;margin-bottom:.28rem;display:flex}.results-chart-tip-pa{color:#7ef9ff;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 0 10px #7ef9ff59;flex:1;min-width:0;font-size:.55rem}.results-chart-tip-index{color:color-mix(in srgb, var(--fog) 75%, var(--paper));letter-spacing:.1em;font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.55rem}.results-chart-tip-main{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:end;gap:.55rem 1rem;display:grid}.results-chart-tip-name{color:var(--paper);font-family:var(--font-display);letter-spacing:-.03em;text-shadow:0 0 18px color-mix(in srgb, var(--line) 22%, transparent);margin:0;font-size:clamp(1.15rem,3.2vw,1.45rem);font-weight:800;line-height:1.05}.results-chart-tip-stats{border-left:1px solid color-mix(in srgb, var(--fog) 18%, transparent);grid-template-columns:repeat(4,minmax(0,1fr));gap:.2rem .35rem;margin:0;padding-left:.55rem;display:grid}.results-chart-tip-stats dt{color:color-mix(in srgb, var(--fog) 72%, transparent);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.48rem}.results-chart-tip-stats dd{color:var(--paper);font-family:var(--font-mono);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:.08rem 0 0;font-size:.82rem;font-weight:600;line-height:1.1}.results-chart-tip-stats dd.is-ok{color:var(--ok);text-shadow:0 0 8px color-mix(in srgb, var(--ok) 35%, transparent)}.results-chart-tip-stats dd.is-bad{color:var(--bad);text-shadow:0 0 8px color-mix(in srgb, var(--bad) 30%, transparent)}.results-chart-tip-hint{color:color-mix(in srgb, #7ef9ff 55%, var(--fog));letter-spacing:.1em;text-transform:uppercase;margin:.45rem 0 0;font-size:.5rem}@keyframes results-tip-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes results-tip-seek{0%,to{transform:translate(0)}50%{transform:translate(250%)}}@keyframes results-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}@keyframes results-board-scan{0%,18%{opacity:0;transform:translate(-120%)}28%{opacity:.55}55%{opacity:.4;transform:translate(120%)}56%,to{opacity:0;transform:translate(120%)}}@keyframes results-route-crawl{to{background-position:12px 0}}@keyframes results-rule-draw{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.results-line-path-track,.results-line-rule,.results-chart-tip-scan,.results-chart-tip-dot,.results-chart-tip-idle-cursor,.results-chart-tip.is-visible{animation:none}.results-line-rule{opacity:1;transform:none}.results-chart-tip-scan{opacity:.2;background:linear-gradient(180deg, color-mix(in srgb, var(--line) 8%, transparent), transparent 40%);transform:none}.results-chart-tip-dot{opacity:1;transform:none}.results-chart-tip-idle-cursor{left:36%}}@keyframes train-chug{0%,to{transform:translate(-3px)}50%{transform:translate(3px)}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes wpm-pop{0%{opacity:0;transform:scale(.86)}to{opacity:1;transform:scale(1)}}@media (width<=900px){.line-picker-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem 1.25rem}.line-group-list:has(>:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}.app[data-phase=finished] .results,.results{width:min(480px,94vw);max-width:min(480px,94vw)}.results-board{grid-template-columns:1fr;gap:1.35rem}.share-card-frame-scale{width:min(280px,72vw)}}@media (width<=640px){.app{padding:max(.85rem, env(safe-area-inset-top,0px)) max(.85rem, env(safe-area-inset-right,0px)) max(.85rem, env(safe-area-inset-bottom,0px)) max(.85rem, env(safe-area-inset-left,0px))}.app[data-phase=idle],.app[data-phase=finished]{padding-inline:max(.85rem, env(safe-area-inset-left,0px), env(safe-area-inset-right,0px));padding-block:max(3.65rem, calc(env(safe-area-inset-top,0px) + 2.85rem)) max(1.75rem, env(safe-area-inset-bottom,0px));justify-content:flex-start}.drone-backdrop__credit{top:max(.5rem, env(safe-area-inset-top,0px));left:max(.5rem, env(safe-area-inset-left,0px));opacity:.55;max-width:min(8.75rem,34vw);font-size:.52rem;line-height:1.3;animation:none}.app[data-phase=finished] .drone-backdrop__credit,.app[data-phase=idle] .drone-backdrop__credit{opacity:.5;max-width:min(7.75rem,30vw)}.app[data-phase=racing]{--race-rail-height:5.75rem;--race-dock-height:0px;overscroll-behavior-x:none;-webkit-overflow-scrolling:touch;height:100dvh;max-height:100dvh;padding-top:max(.65rem, env(safe-area-inset-top,0px));padding-inline:max(.65rem, env(safe-area-inset-left,0px), env(safe-area-inset-right,0px));padding-bottom:calc(var(--race-rail-height) + var(--race-dock-height) + var(--kb-inset,0px) + env(safe-area-inset-bottom,0px));flex-direction:column;justify-content:flex-start;align-items:center;display:flex;overflow:clip auto}.race-type-dock{z-index:auto;pointer-events:auto;background:0 0;width:100%;margin-top:.45rem;padding:0;position:relative;bottom:auto;left:auto;right:auto}.app[data-phase=racing][data-kb=open]{--race-dock-height:0px;--race-rail-height:0px;top:var(--vv-top,0px);z-index:4;box-sizing:border-box;min-height:0;height:var(--vv-height,100dvh);max-height:var(--vv-height,100dvh);padding-top:max(.55rem, env(safe-area-inset-top,0px));padding-inline:max(.65rem, env(safe-area-inset-left,0px), env(safe-area-inset-right,0px));flex-direction:column;justify-content:flex-start;align-items:center;padding-bottom:0;display:flex;position:fixed;left:0;right:0;overflow:hidden}.app[data-phase=racing][data-kb=open] .race-type-dock{z-index:auto;box-sizing:border-box;pointer-events:auto;background:0 0;width:100%;margin:0;padding:.15rem .15rem .1rem;position:relative;bottom:auto;left:auto;right:auto}.app[data-phase=racing][data-kb=open] .race-type-dock .station-input{background:color-mix(in srgb, var(--ink) 55%, transparent)}.app[data-phase=racing][data-kb=open] .race-type-dock .space-hint{margin-top:.35rem}.app[data-phase=racing][data-kb=open] .station-progress{flex:none;width:100%;position:relative;bottom:auto;left:auto;right:auto}.app[data-phase=racing][data-kb=open] .race-top,.app[data-phase=racing][data-kb=open] .race-controls,.app[data-phase=racing][data-kb=open] .progress-rail,.app[data-phase=racing][data-kb=open] .stop-count{display:none}.app[data-phase=racing][data-kb=open] .race{width:100%;max-width:100%;min-height:0;box-shadow:none;background:0 0;border:none;flex-direction:column;flex:auto;justify-content:flex-start;margin:0;padding:0;display:flex}.app[data-phase=racing][data-kb=open] .race:before{display:none}.app[data-phase=racing][data-kb=open] .station-prompt-panel{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--line) 28%, transparent);background:linear-gradient(160deg, color-mix(in srgb, var(--ink) 82%, transparent) 0%, color-mix(in srgb, var(--ink-2) 88%, transparent) 55%, color-mix(in srgb, var(--ink) 90%, transparent) 100%);width:100%;box-shadow:0 0 0 1px color-mix(in srgb, var(--ink) 55%, transparent), 0 12px 28px color-mix(in srgb, var(--ink) 50%, transparent), inset 0 1px 0 color-mix(in srgb, var(--paper) 7%, transparent);border-radius:.2rem;flex:none;margin:0 0 auto;padding:.7rem .85rem .75rem;display:block;position:relative}.app[data-phase=racing][data-kb=open] .station-prompt-panel:before{content:"";z-index:-1;border-radius:inherit;-webkit-backdrop-filter:blur(14px)saturate(1.2);pointer-events:none;position:absolute;inset:0}.app[data-phase=racing][data-kb=open] .prompt-label{margin:0 0 .35rem}.app[data-phase=racing][data-kb=open] .station-stage{--current-y:34%;--next-y:82%;--rise-gap:1.65rem;height:clamp(4.25rem,22vw,5.5rem);min-height:4.25rem;margin:0}.app[data-phase=idle] .hero{width:100%}.app[data-phase=idle] .brand{letter-spacing:-.05em;overflow-wrap:anywhere;font-size:clamp(1.7rem,9.5vw,2.35rem)}.system-tag{letter-spacing:.14em;font-size:.68rem}.lede{max-width:none;margin-top:1rem;font-size:.95rem}.cta-row{gap:.65rem;margin-top:1.5rem}.btn{min-height:2.75rem;padding:.8rem 1.15rem}.app[data-phase=idle] .btn.primary,.app[data-phase=idle] .cta-row .btn{width:100%;max-width:22rem}.line-picker{margin-top:2rem;padding-top:1.35rem}.line-picker-columns{grid-template-columns:1fr;gap:1.35rem}.line-group-list:has(>:nth-child(4)){grid-template-columns:1fr}.line-pick{min-height:2.85rem;padding:.75rem .8rem}.line-pick-meta{white-space:normal}.line-pick-route{overflow-wrap:anywhere}.hero,.race{width:100%;max-width:100%}.race{border-radius:.15rem;padding:.85rem .85rem .75rem}.race-top{flex-direction:column;gap:.75rem;margin-bottom:.75rem}.stat-block{text-align:left;flex-wrap:wrap;align-items:baseline;gap:.35rem .85rem;min-width:0;display:flex}.stat-label{width:100%}.stat-value{font-size:clamp(1.75rem,11vw,2.35rem)}.stat-sub{margin-top:0}.line-name{font-size:clamp(1.2rem,6.5vw,1.65rem)}.line-route{overflow-wrap:anywhere;font-size:.72rem}.race-controls{gap:.45rem;margin-bottom:.85rem}.btn-compact{flex:auto;justify-content:center;min-height:2.75rem;padding:.55rem .8rem;font-size:.78rem}.btn-compact .key-hint{display:none}.prompt-label{margin-top:1.1rem;font-size:.7rem}.station-stage{--rise-gap:clamp(1.8rem, 8vw, 2.6rem);height:clamp(5.75rem,28vw,7.5rem);margin:.65rem 0}.prompt-word{font-size:clamp(1.2rem,6.2vw,1.85rem)}.prompt-word.preview{font-size:clamp(.85rem,3.8vw,1.05rem)}.station-input{padding:.9rem .7rem;font-size:max(1.1rem,16px)}.space-hint{font-size:.75rem}.stop-count{font-size:.7rem}.station-progress{--station-slot:3.5rem;padding-top:.4rem;padding-bottom:calc(.55rem + env(safe-area-inset-bottom,0px))}.station-progress__chrome{width:min(720px,100% - 1.25rem);margin-bottom:.25rem}.station-progress__kicker{font-size:.58rem}.station-progress__count{font-size:.64rem}.station-progress__track{height:3.9rem;margin-inline:.5rem;padding-top:1.35rem;padding-bottom:1.15rem}.station-progress__rail,.station-progress__fill{top:1.63rem}.station-progress__label{font-size:.55rem}.station-progress__stop.is-current .station-progress__label{max-width:6.75rem;font-size:.58rem}.station-progress.is-dense{--station-slot:2.85rem}.app[data-phase=finished] .results,.results{width:min(440px,96vw);max-width:min(440px,96vw)}.results-board{grid-template-columns:1fr;gap:1.25rem;margin-top:1.25rem}.share-card-frame-scale{width:min(280px,78vw);margin-top:0}.results-perf{border-radius:4px 12px 12px 4px;padding:1rem .85rem 1.1rem}.results-perf-wpm{font-size:clamp(2.4rem,14vw,3.1rem)}.results-perf-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem 0}.results-perf-stat{border-right:none;border-bottom:1px solid color-mix(in srgb, var(--fog) 14%, transparent);padding:.4rem .25rem .5rem}.results-perf-stat:nth-child(3n){border-right:none}.results-perf-stat:nth-last-child(-n+2){border-bottom:none}.results-perf-stat dd{font-size:.95rem}.results-chart-scroll,.results-chart{min-height:230px}.results-chart-tip-main{grid-template-columns:1fr;gap:.55rem}.results-chart-tip-stats{border-left:none;border-top:1px solid color-mix(in srgb, var(--fog) 18%, transparent);grid-template-columns:repeat(4,minmax(0,1fr));padding-top:.45rem;padding-left:0}.results-chart-tip-idle-track{display:none}.results-chart-tip-name{font-size:clamp(1.05rem,5.5vw,1.3rem)}.results-chart-label{font-size:9.5px}.results-chart.is-dense .results-chart-label{font-size:8.5px}.results-kicker{font-size:.68rem}.results-brand-primary{font-size:.72rem}.results-brand-accent{font-size:1rem}.results-line-id{width:min(100%,22rem);max-width:min(360px,96vw)}.results-line-name{font-size:clamp(1.55rem,8vw,2.15rem)}.results-line-system{letter-spacing:.1em;font-size:.52rem}.results-line-route{gap:.35rem .4rem;font-size:.56rem}.results-line-path-track{width:1.65rem}.results .cta-row{flex-direction:column;align-items:stretch}.results .cta-row .btn{width:100%}.share-actions{margin-top:.95rem}.results-nav{margin-top:1.35rem}.drone-backdrop__label{left:max(.75rem, env(safe-area-inset-left,0px));right:auto;bottom:max(.85rem, env(safe-area-inset-bottom,0px));max-width:min(12rem,55vw)}.app[data-phase=idle] .drone-backdrop__label{opacity:.4;max-width:min(9rem,38vw)}.app[data-phase=finished] .drone-backdrop__label{bottom:max(.65rem, env(safe-area-inset-bottom,0px));opacity:.35;max-width:min(9rem,36vw)}.app[data-phase=finished] .drone-backdrop__label-sub{display:none}.drone-backdrop__label-name{font-size:clamp(.9rem,4vw,1.15rem)}.track-glow{bottom:2.5vh}}@media (width<=400px){.app[data-phase=idle] .brand{font-size:clamp(1.55rem,10vw,2rem)}.race-controls{width:100%}.btn-compact{flex:calc(33.33% - .45rem);min-width:0;padding-inline:.55rem}.station-progress{--station-slot:3.15rem}.station-progress.is-dense{--station-slot:2.55rem}.app[data-phase=finished] .results,.results{width:min(400px,96vw);max-width:min(400px,96vw)}.share-card-frame-scale{width:min(280px,82vw)}}@media (width<=560px){.station-progress{--station-slot:3.4rem}.station-progress.is-dense{--station-slot:2.75rem}.station-progress__track{height:3.85rem;padding-top:1.4rem;padding-bottom:1.2rem}.station-progress__rail,.station-progress__fill{top:1.68rem}.station-progress__train{width:2rem}.app[data-phase=racing]{--race-rail-height:5.65rem}}@media (height<=480px) and (orientation:landscape){.app[data-phase=racing]{--race-rail-height:4.75rem;height:100dvh;max-height:100dvh;padding-top:max(.4rem, env(safe-area-inset-top,0px));justify-content:flex-start}.app[data-phase=racing][data-kb=open]{justify-content:flex-start}.race{padding:.55rem .75rem .5rem}.race-top{flex-direction:row;align-items:center;gap:1rem;margin-bottom:.45rem}.stat-block{text-align:right;min-width:4.5rem;display:block}.stat-label{width:auto}.stat-value{font-size:1.55rem}.stat-sub{margin-top:.15rem}.line-route,.stop-count{display:none}.race-controls{margin-bottom:.45rem}.btn-compact{min-height:2.5rem;padding:.4rem .65rem}.prompt-label{margin-top:.45rem}.station-stage{--current-y:34%;--next-y:82%;--rise-gap:1.6rem;height:4.5rem;margin:.35rem 0 .4rem}.prompt-word{font-size:clamp(1.05rem,4.5vh,1.45rem)}.prompt-word.preview{font-size:.85rem}.station-input{padding:.55rem .6rem}.station-progress{--station-slot:3rem;padding-top:.25rem;padding-bottom:calc(.35rem + env(safe-area-inset-bottom,0px))}.station-progress__chrome{margin-bottom:.1rem}.station-progress__track{height:3.35rem;padding-top:1.15rem;padding-bottom:.95rem}.station-progress__rail,.station-progress__fill{top:1.43rem}.station-progress__train{width:1.75rem}.app[data-phase=idle] .brand{font-size:clamp(1.5rem,6vw,2.1rem)}.line-picker{margin-top:1.25rem;padding-top:1rem}.app[data-phase=finished] .results,.results{width:min(340px,94vw);max-width:min(340px,94vw)}.share-card-frame-scale{width:min(280px,70vw)}}@media (hover:none) and (pointer:coarse){.btn:hover,.btn.ghost:hover,.btn.primary:hover,.btn.neon:hover:not(:disabled),.line-pick:hover,.app[data-phase=racing] .btn.ghost:hover{background:inherit;border-color:inherit;color:inherit}.btn.primary:hover{background:var(--signal);color:#1a1000}.btn.ghost:hover{border-color:color-mix(in srgb, var(--fog) 40%, transparent);color:var(--fog);background:0 0}.app[data-phase=racing] .btn.ghost:hover{background:color-mix(in srgb, var(--ink) 62%, transparent);border-color:color-mix(in srgb, var(--fog) 48%, var(--line) 12%);color:var(--paper)}.line-pick:hover{border-color:color-mix(in srgb, var(--fog) 22%, transparent);background:color-mix(in srgb, var(--ink) 72%, transparent)}.btn.neon:hover:not(:disabled){color:#7ef9ff;background:0 0;border-color:#7ef9ff8c}.btn:active,.line-pick:active{transform:translateY(1px)}.btn.primary:active{background:#ffc14d}.line-pick:active{border-color:color-mix(in srgb, var(--line) 65%, transparent);background:color-mix(in srgb, var(--line) 10%, var(--ink))}.app[data-phase=racing] .btn.ghost:active{background:color-mix(in srgb, var(--ink) 45%, var(--line) 8%);border-color:color-mix(in srgb, var(--line) 55%, var(--paper))}}
