:root{--canvas:#0b0313;--surface:#170b21;--surface-high:#241333;--hairline:#2a2038;--ink:#f7f4fa;--ink-dim:#ada5b5;--ink-faint:#78707f;--best:#b64dff;--accent-full:#a100ff;--caution:#ffd60a;--caution-ink:#140a00;--font-display:"Bai Jamjuree", ui-sans-serif, system-ui, sans-serif;--font-body:"Archivo", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--edge:clamp(16px, 5vw, 48px);--ease-quick:cubic-bezier(.19, 1, .22, 1);--ease-standard:cubic-bezier(.165, .84, .44, 1);--ease-settle:cubic-bezier(.23, 1, .32, 1);--dur-quick:.22s;--dur-standard:.34s;--dur-settle:.5s}@font-face{font-family:Bai Jamjuree;font-weight:600;font-display:swap;src:url(/fonts/BaiJamjuree-SemiBold.woff2)format("woff2")}@font-face{font-family:Archivo;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/Archivo-Regular.woff2)format("woff2")}*,:before,:after{box-sizing:border-box}html{background:var(--canvas);color:var(--ink);font-family:var(--font-body);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased}body{margin:0;line-height:1.5}h1,h2,h3{font-family:var(--font-display);margin:0 0 .5em;font-weight:600;line-height:1.08}h1{font-size:clamp(1.85rem,1.5rem + 1.6vw,2.75rem)}h2{font-size:clamp(1.25rem,1.1rem + .6vw,1.5rem)}h3{font-size:clamp(1.05rem,.98rem + .3vw,1.15rem)}p{max-width:65ch}a{color:var(--ink);text-underline-offset:.2em}:focus-visible{outline:2px solid var(--caution);outline-offset:3px}::selection{background:var(--best);color:var(--canvas)}html{scrollbar-color:var(--hairline) var(--canvas);caret-color:var(--caution)}:root{--head-h:calc(env(safe-area-inset-top) + 60px)}.site-head{z-index:30;height:var(--head-h);padding-top:env(safe-area-inset-top);background:color-mix(in oklab, var(--canvas) 86%, transparent);backdrop-filter:blur(14px);border-bottom:.5px solid var(--hairline);position:sticky;top:0}.site-head-in{max-width:72rem;height:100%;padding:0 var(--edge);justify-content:space-between;align-items:center;gap:16px;margin:0 auto;display:flex}.head-store{border:1px solid var(--ink-dim);min-width:40px;height:40px;color:var(--ink);transition:border-color var(--dur-quick) var(--ease-quick), transform var(--dur-quick) var(--ease-quick);background:#000;border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:0 11px;text-decoration:none;display:inline-flex}.head-store:hover,.head-store:focus-visible{border-color:var(--ink)}.head-store:active{transform:scale(.96)}.wordmark{text-decoration:none;display:inline-block}.wordmark-mark{font-family:var(--font-display);letter-spacing:.01em;align-items:baseline;font-size:1.0625rem;font-weight:600;line-height:1;display:flex}.wordmark-colon{color:var(--best)}.wordmark-name{color:var(--ink)}.wordmark-bars{align-self:center;gap:3px;margin-left:5px;display:inline-flex}.wordmark-bars i{width:3px;height:.82em;transform:skew(-18deg)}.wordmark-bars i:first-child{background:var(--accent-full)}.wordmark-bars i:last-child{background:var(--caution)}.wordmark-rule{background:linear-gradient(90deg, var(--accent-full), var(--caution));height:1px;margin-top:6px;display:block}.page{max-width:72rem;padding:calc(env(safe-area-inset-top) + 32px) var(--edge) calc(env(safe-area-inset-bottom) + 56px);margin:0 auto}.dim{color:var(--ink-dim)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.hero{flex-direction:column;gap:20px;padding-bottom:clamp(40px,7vw,72px);display:flex}.hero>*{animation:hero-arrive var(--dur-settle) var(--ease-settle) both;margin:0}.hero>:nth-child(2){animation-delay:90ms}.hero>:nth-child(3){animation-delay:.17s}.hero>:nth-child(4){animation-delay:.25s}.hero>:nth-child(5){animation-delay:.33s}.hero>p{font-size:clamp(1.0625rem,1rem + .3vw,1.1875rem)}@keyframes hero-arrive{0%{transform:translateY(14px)}to{transform:translateY(0)}}.download{border-top:.5px solid var(--hairline);flex-direction:column;gap:32px;margin-top:32px;padding-top:24px;display:flex}.download .option+.option{border-top:.5px solid var(--hairline);padding-top:24px}.download .option+.option h2{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim);font-size:.9375rem;font-weight:600}.cta{background:var(--caution);min-height:52px;color:var(--caution-ink);transition:opacity var(--dur-quick) var(--ease-quick);border-radius:0;align-items:center;margin:0;padding:0 24px;font-weight:700;text-decoration:none;display:inline-flex}.cta:hover,.cta:focus-visible{opacity:.85}.cta-coming{color:var(--ink-dim);border:.5px solid var(--hairline);background:0 0}.outline{margin:24px 0}.outline svg{width:min(100%,520px);height:auto;color:var(--ink);display:block}.field-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);font-size:.8125rem;font-weight:600;display:block}.feature{border-top:.5px solid var(--hairline);align-items:center;gap:28px;padding:clamp(36px,6vw,64px) 0;display:grid}@media (width>=800px){.feature{grid-template-columns:360px 1fr;gap:48px}}.feature img{border:.5px solid var(--hairline);width:100%;height:auto;display:block}.feature>div:not(.circuit-trio){flex-direction:column;gap:10px;display:flex}.feature>div:not(.circuit-trio)>*{margin:0}.hero-circuits{grid-template-columns:repeat(3,1fr);gap:clamp(12px,3vw,28px);margin:0;padding:0;list-style:none;display:grid}.hero-circuits a{border-top:.5px solid var(--hairline);color:var(--ink-dim);transition:color var(--dur-quick) var(--ease-quick), border-color var(--dur-quick) var(--ease-quick);gap:10px;padding:14px 0 0;text-decoration:none;display:grid}.hero-circuits a:hover,.hero-circuits a:focus-visible{color:var(--ink);border-top-color:var(--best)}.hero-circuits .shape{aspect-ratio:4/3;display:block}.hero-circuits svg{color:currentColor;width:100%;height:100%;display:block}.hero-circuits .name{font-family:var(--font-display);color:var(--ink);font-size:clamp(.9375rem,.88rem + .3vw,1.0625rem);font-weight:600}.hero-circuits .where{font-size:.8125rem}.circuits{gap:6px;padding-left:1.1em;display:grid}.circuits a{text-decoration-color:var(--hairline);transition:text-decoration-color var(--dur-quick) var(--ease-quick)}.circuits a:hover,.circuits a:focus-visible{text-decoration-color:var(--ink)}.site-foot{padding:0 var(--edge) calc(env(safe-area-inset-bottom) + 40px);border-top:1px solid #0000;border-image:linear-gradient(90deg, var(--accent-full), var(--caution)) 1;margin-top:clamp(56px,9vw,96px)}.foot-inner{gap:clamp(32px,5vw,56px);max-width:72rem;margin:0 auto;padding-top:clamp(36px,5vw,56px);display:grid}@media (width>=900px){.foot-inner{grid-template-columns:22rem 1fr;gap:64px}}.foot-brand{align-content:start;gap:14px;display:grid}.foot-line{color:var(--ink-dim);max-width:34ch;margin:0;font-size:.9375rem}.foot-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,40px);display:grid}@media (width>=640px){.foot-nav{grid-template-columns:repeat(4,minmax(0,1fr))}}.foot-col h2{font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);margin:0 0 14px;font-size:.75rem;font-weight:600}.foot-col ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.foot-col a{color:var(--ink-dim);transition:color var(--dur-quick) var(--ease-quick);align-content:center;gap:1px;min-height:26px;font-size:.9375rem;text-decoration:none;display:grid}.foot-col a:hover,.foot-col a:focus-visible{color:var(--ink)}.foot-short{font-family:var(--font-display);color:var(--ink);font-weight:600}.foot-where{color:var(--ink-dim);font-size:.75rem}.foot-mark{max-width:72rem;font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink-faint);user-select:none;margin:clamp(40px,6vw,72px) auto 0;padding-bottom:.2em;font-size:clamp(3.25rem,16vw,12rem);font-weight:600;line-height:.82}.foot-fine{border-top:.5px solid var(--hairline);max-width:72rem;color:var(--ink-dim);flex-wrap:wrap;gap:6px 20px;margin:0 auto;padding-top:24px;font-size:.75rem;display:flex}.foot-fine p{max-width:none;margin:0}.closing{border-top:.5px solid var(--hairline);padding:clamp(36px,6vw,64px) 0}.closing h2{margin-bottom:10px}.prose{max-width:65ch}.prose h1{margin-bottom:8px}.prose h2{margin-top:40px}.prose p{line-height:1.6}.prose table{border-collapse:collapse;width:100%;max-width:65ch}.prose th,.prose td{text-align:left;border-bottom:.5px solid var(--hairline);padding:8px 12px 8px 0}.store-button{border:1px solid var(--ink-dim);min-height:56px;color:var(--ink);transition:border-color var(--dur-quick) var(--ease-quick), transform var(--dur-quick) var(--ease-quick);background:#000;border-radius:12px;align-self:flex-start;align-items:center;gap:12px;padding:0 22px 0 18px;text-decoration:none;display:inline-flex}.store-button:hover,.store-button:focus-visible{border-color:var(--ink)}.store-button:active{transform:scale(.98)}.store-button svg{flex:none}.store-button .lines{flex-direction:column;line-height:1.05;display:flex}.store-button .small{letter-spacing:.02em;font-size:.6875rem}.store-button .big{font-family:var(--font-display);letter-spacing:.005em;font-size:1.4375rem;font-weight:600}.circuits-row{border-top:.5px solid var(--hairline);padding:clamp(36px,6vw,64px) 0 0}.hero{padding-bottom:clamp(28px,5vw,48px)}.get-app{border-top:.5px solid var(--hairline);padding:clamp(36px,6vw,64px) 0}.get-app h2{margin-bottom:0}.get-app .download{border-top:0;margin-top:0;padding-top:20px}.browser{border-top:.5px solid var(--hairline);padding:clamp(36px,6vw,64px) 0 0}.browser>p{margin:0 0 20px}.chips{margin:0 calc(var(--edge) * -1) 8px;padding:0 var(--edge) 6px;scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chips button{appearance:none;background:var(--surface);min-height:40px;color:var(--ink-dim);font:inherit;cursor:pointer;border:0;border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 16px;font-size:.875rem;font-weight:600;display:inline-flex}.chips button .count{color:var(--ink-dim);font-variant-numeric:tabular-nums}.chips button[aria-pressed=true]{background:var(--ink);color:var(--canvas)}.chips button[aria-pressed=true] .count{color:color-mix(in oklab, var(--canvas) 70%, transparent)}.chips button:focus-visible{outline:2px solid var(--caution);outline-offset:2px}.country{margin-top:24px}.is-filtered .country{margin-top:12px}.is-filtered .country-name{display:none}.country-name{color:var(--ink-dim);margin-bottom:8px;font-size:1rem}.circuit-list{border-top:.5px solid var(--hairline);margin:0;padding:0;list-style:none}.circuit-list li{border-bottom:.5px solid var(--hairline)}.circuit-list a{min-height:72px;color:var(--ink);grid-template-columns:56px 1fr auto auto;align-items:center;gap:16px;padding:14px 0;text-decoration:none;display:grid}.circuit-list .meta,.circuit-list .chev{transition:translate .3s var(--gate)}@media (hover:hover){.circuit-list a:hover .meta{translate:8px}.circuit-list a:hover .chev{translate:6px}}.circuit-list a:focus-visible .meta{translate:8px}.circuit-list a:focus-visible .chev{translate:6px}@media (prefers-reduced-motion:reduce){.circuit-list .meta,.circuit-list .chev{transition:none;translate:none!important}.circuit-list a:hover .name{text-decoration:underline}}.circuit-list .shape{width:56px;height:44px;color:var(--ink-dim);display:block}.circuit-list svg{width:100%;height:100%;display:block}.circuit-list .meta{flex-direction:column;gap:2px;min-width:0;display:flex}.circuit-list .name{font-weight:600;line-height:1.25}.circuit-list .where{color:var(--ink-dim);font-size:.8125rem}.circuit-list .length{color:var(--ink-dim);font-variant-numeric:tabular-nums;font-size:.875rem}.circuit-list .chev{color:var(--ink-faint);font-size:1.5rem;line-height:1}@media (width<=460px){.circuit-list a{grid-template-columns:48px 1fr auto}.circuit-list .length{display:none}}.crumbs{color:var(--ink-dim);margin:0 0 12px;font-size:.875rem}.crumbs a{color:var(--ink-dim)}.facts{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:20px 24px;margin:28px 0;display:grid}.facts dt{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:4px;font-size:.75rem}.facts dd{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin:0;font-size:1.25rem;font-weight:600}.facts a{color:var(--ink)}.record-time{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin:0 0 6px;font-size:2rem;font-weight:600}.plain-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}:root{--gate:cubic-bezier(.19, 1, .22, 1)}.skip-link{z-index:100;background:var(--ink);color:var(--canvas);border-radius:8px;padding:10px 14px;font-weight:600;text-decoration:none;position:absolute;top:-100px;left:16px}.skip-link:focus{top:12px}.store-button,.head-store{isolation:isolate;position:relative;overflow:clip}.store-button:before,.head-store:before{content:"";z-index:-1;background:var(--ink);transform-origin:100%;transition:transform .38s var(--gate);position:absolute;inset:0;transform:scaleX(0)}.store-button,.head-store{transition:color .12s linear .14s, border-color var(--dur-quick) var(--ease-quick), transform var(--dur-quick) var(--ease-quick)}@media (hover:hover){.store-button:hover:before,.head-store:hover:before{transform-origin:0;transform:scaleX(1)}.store-button:hover,.head-store:hover{color:var(--canvas)}}.store-button:focus-visible:before,.head-store:focus-visible:before{transform-origin:0;transform:scaleX(1)}.store-button:focus-visible,.head-store:focus-visible{color:var(--canvas);outline-offset:3px}@media (prefers-reduced-motion:reduce){.store-button:before,.head-store:before,.store-button,.head-store{transition:none}}.circuit-list path{stroke-dasharray:1;stroke-dashoffset:0}@media (hover:hover){.circuit-list a:hover .shape{color:var(--ink)}.circuit-list a:hover path{animation:1s linear lap-draw}}.circuit-list a:focus-visible .shape{color:var(--ink)}.circuit-list a:focus-visible path{animation:1s linear lap-draw}@keyframes lap-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.circuit-list path{animation:none!important}}.outline path{stroke-dasharray:1;animation:lap-draw 1.6s var(--gate) both}@media (prefers-reduced-motion:reduce){.outline path{animation:none}}@view-transition{navigation:auto}.site-head{view-transition-name:site-head}@media (prefers-reduced-motion:no-preference){::view-transition-old(root){animation:none}::view-transition-new(root){animation:gate-wipe .5s var(--gate) both}}@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none}}@keyframes gate-wipe{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.offtrack{align-items:center;gap:32px;padding-top:clamp(24px,6vw,64px);display:grid}@media (width>=821px){.offtrack{grid-template-columns:minmax(0,1fr) minmax(0,28rem)}}.offtrack h1{letter-spacing:-.035em;margin:0 0 16px;font-size:clamp(2.9rem,1rem + 7vw,7rem);line-height:.92}.offtrack .flag{background:var(--caution);color:var(--caution-ink);letter-spacing:.08em;text-transform:uppercase;border-radius:6px;margin:0 0 14px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-block}.offtrack>svg{width:100%;height:auto;display:block;overflow:visible}.offtrack .track{fill:none;stroke:var(--ink-dim);stroke-opacity:.5;stroke-width:5px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.offtrack .away{stroke:var(--caution);stroke-width:2px;stroke-dasharray:5 5;vector-effect:non-scaling-stroke}.offtrack .car{fill:var(--caution)}.wordmark-bars i{transition:translate .32s var(--gate)}@media (hover:hover){.wordmark:hover .wordmark-bars i:first-child{translate:3px}.wordmark:hover .wordmark-bars i:nth-child(2){translate:7px}}.wordmark:focus-visible .wordmark-bars i:first-child{translate:3px}.wordmark:focus-visible .wordmark-bars i:nth-child(2){translate:7px}@media (prefers-reduced-motion:reduce){.wordmark-bars i{transition:none;translate:none!important}.wordmark:hover .wordmark-name{text-decoration:underline}}.chips button{transition:translate .25s var(--gate), background-color .2s linear}@media (hover:hover){.chips button:hover{translate:0 -2px}.chips button[aria-pressed=false]:hover{background:var(--surface-high);color:var(--ink)}}@media (prefers-reduced-motion:reduce){.chips button{transition:none}.chips button:hover{translate:none}}.head-right{align-items:center;gap:clamp(14px,3vw,28px);display:flex}.head-right nav a{color:var(--ink);padding:10px 2px;font-size:.9375rem;text-decoration:none}.draw{transition:background-size .4s var(--gate);background:linear-gradient(currentColor 0 0) 0 calc(100% - 8px)/0% 1px no-repeat}@media (hover:hover){.draw:hover{background-size:100% 1px}}.draw:focus-visible{background-size:100% 1px}.head-store-label{letter-spacing:.01em;font-size:.875rem;font-weight:600}@media (prefers-reduced-motion:reduce){.draw{transition:none}.draw:hover{text-decoration:underline}}.wordmark:focus-visible{outline-offset:10px;border-radius:4px}.store-button.is-primary{background:var(--ink);color:var(--canvas);border-color:var(--ink);gap:14px;min-height:68px;padding:0 30px 0 24px}.store-button.is-primary:before{background:var(--canvas)}.store-button.is-primary .big{font-size:1.75rem}.store-button.is-primary .small{font-size:.75rem}@media (hover:hover){.store-button.is-primary:hover{color:var(--ink)}}.store-button.is-primary:focus-visible{color:var(--ink)}.circuit-list a{position:relative}.circuit-list a:after{content:"";background:var(--ink);transform-origin:100%;height:2px;transition:transform .45s var(--gate);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}@media (hover:hover){.circuit-list a:hover:after{transform-origin:0;transform:scaleX(1)}}.circuit-list a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.browser.draws .circuit-list li:not(.is-seen) path{stroke-dashoffset:1px}.browser.draws .circuit-list li.is-seen path{animation:lap-draw 1.1s var(--gate) both}@media (prefers-reduced-motion:reduce){.circuit-list a:after{transition:none}.browser .circuit-list path{stroke-dashoffset:0!important;animation:none!important}}@media (width<=700px){.chips{mask-image:linear-gradient(90deg,#000 calc(100% - 36px),#0000)}}.browser-body{gap:32px;display:grid}.preview{display:none}@media (width>=900px){.browser-body{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:clamp(32px,5vw,72px)}.preview:not([hidden]){top:calc(var(--head-h) + 32px);justify-items:start;gap:8px;padding-top:12px;display:grid;position:sticky}}.preview svg{aspect-ratio:1;width:min(100%,22rem);color:var(--ink);display:block;overflow:visible}.preview path{stroke-width:5px;vector-effect:non-scaling-stroke;stroke-dasharray:1}.preview path.is-drawing{animation:lap-draw 1.1s var(--gate) both}.preview-name{font-family:var(--font-display);margin:8px 0 0;font-size:1.375rem;font-weight:600;line-height:1.15}.preview-meta{color:var(--ink-dim);font-variant-numeric:tabular-nums;margin:0;font-size:.9375rem}@media (prefers-reduced-motion:reduce){.preview path.is-drawing{animation:none}}.head-right nav{align-items:center;gap:clamp(12px,2.4vw,24px);display:flex}@media (width<=639px){.nav-circuits{display:none}}
