@font-face{font-family:Overpass Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/overpass-cyrillic-ext-wght-normal.B1PfurAb.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Overpass Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/overpass-cyrillic-wght-normal.Bb0oHPsy.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Overpass Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/overpass-vietnamese-wght-normal.BfgOsjc9.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Overpass Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/overpass-latin-ext-wght-normal.DvafStyF.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Overpass Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/overpass-latin-wght-normal.qAR8M_co.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Overpass Mono Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/overpass-mono-cyrillic-ext-wght-normal.CM3vVNo5.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Overpass Mono Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/overpass-mono-cyrillic-wght-normal.BV0qkOfe.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Overpass Mono Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/overpass-mono-vietnamese-wght-normal.B_p7sZEm.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Overpass Mono Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/overpass-mono-latin-ext-wght-normal.D14p1K_g.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Overpass Mono Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/overpass-mono-latin-wght-normal.CujxpGkb.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--muted:color-mix(in srgb, var(--text) 72%, transparent);--rule:color-mix(in srgb, var(--text) 16%, transparent);--sans:"Overpass Variable", system-ui, sans-serif;--mono:"Overpass Mono Variable", ui-monospace, monospace;color-scheme:light dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-variant-numeric:tabular-nums;margin:0;font-size:1.0625rem;line-height:1.6}a{color:var(--link);text-underline-offset:.18em}:focus-visible{outline:3px solid var(--link);outline-offset:3px}code,pre{font-family:var(--mono);font-size:.92em}h1,h2,h3{text-wrap:balance;margin:0;line-height:1.1}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.wrap{--gutter:24px;width:100%;max-width:1168px;padding:0 var(--gutter);margin:0 auto}.mark,.button{background:var(--panel);color:var(--legend)}.mark{box-shadow:inset 0 0 0 3px var(--panel), inset 0 0 0 4.5px var(--legend);letter-spacing:.01em;white-space:nowrap;border-radius:8px;padding:5px 13px 3px;font-size:1.0625rem;font-weight:800;line-height:1.5;text-decoration:none;display:inline-block}.top .mark{font-size:1.625rem}.mark.small{font-size:.9375rem}.mark{position:relative}.mark .toque{width:1.45em;color:var(--panel);pointer-events:none;line-height:0;position:absolute;top:-.9em;left:-.55em}.mark .toque svg{width:100%;height:auto;display:block}.top{justify-content:space-between;align-items:center;gap:24px;min-height:76px;padding-top:24px;display:flex}.top nav{align-items:center;gap:28px;font-weight:600;display:flex}.top nav a{color:var(--text);text-decoration:none}.top nav a:hover{text-decoration:underline}.top nav>a[aria-current=page]{text-decoration:underline 2px}.lang{position:relative}.lang summary{cursor:pointer;padding:6px 4px 4px;list-style:none}.lang summary::-webkit-details-marker{display:none}.lang summary:after{content:"";border:5px solid #0000;border-top-color:currentColor;border-bottom:0;margin:0 0 3px 7px;display:inline-block}.lang ul{z-index:1;border:1px solid var(--rule);background:var(--surface);border-radius:10px;min-width:170px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 30px #0000002e}.top .lang a{border-radius:6px;padding:8px 12px 6px;font-weight:500;display:block}.top .lang a:hover{background:var(--concrete);text-decoration:none}.top .lang a[aria-current=page]{font-weight:750}.top .signin{border:2px solid var(--rule);border-radius:8px;padding:6px 14px 4px}.hero{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:64px;padding-top:64px;padding-bottom:112px;display:grid}h1{letter-spacing:-.015em;font-size:clamp(2.25rem,4.2vw,3.75rem);font-weight:800;line-height:1.02}.kicker{letter-spacing:normal;border-bottom:2px solid;flex-wrap:wrap;align-items:center;gap:.3em;width:fit-content;margin:24px 0 0;padding-bottom:6px;font-size:clamp(1.375rem,2.2vw,1.75rem);font-weight:600;line-height:1.3;display:flex}.kicker .gh{color:inherit;padding:.18em .35em}.kicker .gh:hover{border-color:currentColor}.kicker .gh svg{width:auto;height:.95em;display:block}h1+.lead{margin-top:8px}.lead a{text-decoration:none}.lead a:hover{text-decoration:underline}.lead{max-width:32em;color:var(--muted);margin:24px 0 36px;font-size:1.25rem;line-height:1.55}.actions{flex-wrap:wrap;align-items:center;gap:16px 28px;font-weight:650;display:flex}.button{box-shadow:inset 0 0 0 3px var(--panel), inset 0 0 0 5px var(--legend);border-radius:10px;padding:15px 24px 12px;font-size:1.0625rem;font-weight:750;text-decoration:none;transition:background-color .15s;display:inline-block}.button:hover{background:var(--panel-deep);box-shadow:inset 0 0 0 3px var(--panel-deep), inset 0 0 0 5px var(--legend)}.hero-figure{margin:0}.route-sign{background:var(--sign,var(--panel));color:var(--legend);box-shadow:inset 0 0 0 6px var(--sign,var(--panel)), inset 0 0 0 10px var(--legend);border-radius:22px;padding:11px}.route-sign .dest{margin:0;padding:26px 30px 22px;line-height:1.3}.route-sign .dest strong{justify-content:space-between;align-items:baseline;gap:16px;font-size:clamp(2rem,3.4vw,2.75rem);font-weight:800;line-height:1.05;display:flex}.route-sign .dest .sign-icon{filter:brightness(0)invert();margin:0;font-size:.7em;display:inline}.route-sign .dest span{opacity:.9;max-width:30em;margin-top:8px;display:block}.route-sign table{border-collapse:collapse;width:100%}.route-sign thead th{opacity:.85;text-align:right;padding:0 24px 10px 0;font-size:clamp(1rem,1.6vw,1.25rem);font-weight:600}.route-sign tbody tr{border-top:4px solid var(--legend)}.route-sign tbody{--way:clamp(1.125rem, 1.9vw, 1.5rem)}.route-sign tbody th,.route-sign tbody td{font-size:var(--way);white-space:nowrap;padding:18px 24px 14px 0;font-weight:750;line-height:1.15}.route-sign tbody tr.java th,.route-sign tbody tr.java td{color:color-mix(in srgb, var(--legend) 85%, var(--sign,var(--panel)));font-size:clamp(1rem,1.6vw,1.25rem)}.route-sign tbody th{text-align:left;white-space:normal;padding-left:30px}.route-sign tbody td{text-align:right}.route-sign .way{align-items:center;gap:calc(.5 * var(--way));display:flex}.route-sign .way .arrow{width:calc(1.15 * var(--way));height:calc(1.15 * var(--way))}.arrow{flex:none;width:1.15em;height:1.15em;margin-top:-.12em;transform:rotate(90deg)}.hero-figure figcaption{margin-top:16px}.notes{max-width:48em;color:var(--muted);margin:0;padding-left:1.25em;font-size:.9375rem;line-height:1.5}.band,.bottom{position:relative}.band:before,.bottom:before{content:"";top:0;right:var(--gutter);left:var(--gutter);background:var(--rule);height:1px;position:absolute}.band{padding-top:88px;padding-bottom:88px}h2{letter-spacing:-.01em;max-width:22em;font-size:clamp(1.75rem,3vw,2.25rem);font-weight:800}h3{font-size:1.3125rem;font-weight:750}.intro{max-width:38em;margin:18px 0 0}.pillars{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px 48px;margin:0;padding:0;list-style:none;display:grid}.pillars h2{font-size:1.3125rem;font-weight:750}.pillars p{margin:10px 0 0}.switches{flex-wrap:wrap;gap:16px 40px;margin:32px 0 0;display:flex}.switch{border:0;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0;padding:0;display:flex}.switch legend{float:left;padding:0;font-size:.9375rem;font-weight:700}.switch .options{border:1px solid var(--rule);background:var(--concrete);border-radius:999px;padding:3px;display:inline-flex}.switch input{opacity:0;width:1px;height:1px;position:absolute}.switch label{color:var(--muted);white-space:nowrap;cursor:pointer;border-radius:999px;padding:6px 16px;font-size:.9375rem;font-weight:600;transition:background-color .15s,color .15s}.switch label:hover{color:var(--text)}.switch input:checked+label{background:var(--panel);color:var(--legend)}.switch input:focus-visible+label{outline:2px solid var(--link);outline-offset:2px}.costs .when{display:none}.costs:has(#cost-ram-store:checked):has(#cost-hour:checked) .when-ramStore-hour,.costs:has(#cost-ram-store:checked):has(#cost-year:checked) .when-ramStore-year,.costs:has(#cost-mmap:checked):has(#cost-hour:checked) .when-mmap-hour,.costs:has(#cost-mmap:checked):has(#cost-year:checked) .when-mmap-year{display:revert}.costs .rented{color:var(--muted);font-size:.8125rem;font-weight:500}.notes+h3{margin-top:56px}.measures{border-collapse:collapse;width:100%;max-width:900px;margin:40px 0 16px}.measures th,.measures td{border-bottom:1px solid var(--rule);text-align:right;white-space:nowrap;padding:14px 0 12px 24px}.measures th:first-child{text-align:left;white-space:normal;padding-left:0}.measures thead th{border-bottom:2px solid var(--text);font-size:.9375rem;font-weight:700}.measures tbody th{font-weight:500}.measures tbody td:last-child{font-weight:750}.route{counter-reset:stop;max-width:720px;margin:40px 0 0;padding:0;list-style:none}.route li{counter-increment:stop;padding:0 0 44px 64px;position:relative}.route li:last-child{padding-bottom:0}.route li:before{content:counter(stop);border:4px solid var(--panel);background:var(--bg);border-radius:50%;place-items:center;width:36px;height:36px;font-weight:800;line-height:1;display:grid;position:absolute;top:-4px;left:0}.route li:not(:last-child):after{content:"";background:var(--panel);width:4px;position:absolute;top:32px;bottom:0;left:16px}.route p{max-width:34em;margin:8px 0 0}.route pre{background:var(--concrete);border-radius:8px;max-width:34em;margin:16px 0 0;padding:16px 20px;line-height:1.7;overflow-x:auto}.faq{max-width:44em;margin:32px 0 0}.faq dt{margin-top:28px;font-size:1.1875rem;font-weight:750}.faq dd{margin:6px 0 0}.bottom{color:var(--muted);align-items:flex-start;gap:24px;padding-top:40px;padding-bottom:56px;font-size:.9375rem;line-height:1.55;display:flex}.bottom p{max-width:52em;margin:2px 0 0}.langs{flex-wrap:wrap;gap:6px 20px;margin-top:16px;display:flex}.langs a[aria-current=page]{color:var(--text);font-weight:700;text-decoration:none}.chooser{flex-direction:column;align-items:flex-start;gap:24px;padding-top:64px;padding-bottom:64px;display:flex}.chooser ul{margin:0;padding:0;font-size:1.25rem;line-height:2;list-style:none}@media (width<=960px){.hero{grid-template-columns:minmax(0,1fr);gap:48px;padding-top:40px;padding-bottom:80px}}@media (width<=640px){.wrap{--gutter:16px}.wide-only{display:none}.top nav{gap:16px}.band{padding-top:64px;padding-bottom:64px}.route-sign .dest{padding:20px 20px 18px}.route-sign thead{display:none}.route-sign tbody tr{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;padding:16px 20px 14px;display:grid}.route-sign tbody th,.route-sign tbody td{text-align:left;padding:0}.route-sign tbody th{grid-column:1/-1}.route-sign td:before{content:attr(data-label);opacity:.85;margin-bottom:2px;font-size:1rem;font-weight:600;display:block}.measures thead{display:none}.measures tbody tr{border-bottom:1px solid var(--rule);grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;padding:16px 0 14px;display:grid}.measures tbody th,.measures tbody td{text-align:left;border:0;padding:0}.measures tbody th{grid-column:1/-1;margin-bottom:4px}.measures td:before{content:attr(data-label);color:var(--muted);white-space:normal;font-size:.8125rem;font-weight:500;display:block}.bottom{flex-direction:column}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.switch label{transition:none}}.docs{padding-top:48px;padding-bottom:72px}.docs .route{margin-top:48px}.docs .route pre{max-width:44em}.docs p code{white-space:nowrap}.bottom .docs-links{margin-top:12px}.docs .step{font-size:1.375rem}.works{background:var(--works);color:var(--on-works);border-radius:4px;padding:2px 10px;font-size:.9375rem;font-weight:700;display:inline-block}.soon{cursor:default;position:relative}.button.soon:hover{background:var(--panel);box-shadow:inset 0 0 0 3px var(--panel), inset 0 0 0 5px var(--legend)}.soon:after{content:attr(data-soon);background:var(--works);color:var(--on-works);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:4px;padding:1px 7px 0;font-size:.6875rem;font-weight:800;line-height:1.5;position:absolute;bottom:-11px;right:-10px;transform:rotate(-6deg)}.hero .coming-soon{background:var(--works);color:var(--on-works);letter-spacing:.02em;text-transform:uppercase;border-radius:10px;grid-column:1/-1;justify-self:center;margin:0;padding:10px 28px 7px;font-size:clamp(1.25rem,2.4vw,1.75rem);font-weight:800}.version{border:1px solid var(--rule);font-family:var(--mono);border-radius:5px;padding:0 6px;font-size:.875em;line-height:1.5;display:inline-block}.route .button{margin-top:16px}.price-soon{background:var(--works);color:var(--on-works);border-radius:4px;padding:1px 8px 0;font-size:.8125rem;font-weight:700;display:inline-block}.subtitle{max-width:40em;color:var(--muted);margin:12px 0 0;font-size:1.25rem}
