@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:block;src:url(../media/Inter-latin-ext.3xt4epvyjlv6l.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:block;src:url(../media/Inter-latin.10f31zp4gc5wb.woff2)format("woff2");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{--ink:#0c111d;--sky:#c6d3e7;--denim:#5f87ab;--glaucous:#6681a3;--denim-ink:#3f6690;--sky-wash:#e9eff7;--surface:#fff;--surface-subtle:#f7f8fb;--surface-muted:#eff2f6;--line:#e3e7ee;--line-strong:#cdd4de;--control:#7d889a;--text:var(--ink);--text-2:#3d4758;--text-3:#5e6a7c;--on-ink:#fff;--danger:#b42318;--danger-wash:#fef3f2;--danger-line:#f4c7c3;--font:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fs-xs:12px;--lh-xs:16px;--fs-sm:13px;--lh-sm:18px;--fs-md:14px;--lh-md:20px;--fs-lg:16px;--lh-lg:24px;--fs-xl:20px;--lh-xl:28px;--fs-2xl:24px;--lh-2xl:32px;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-12:48px;--r-sm:4px;--r-md:6px;--t-fast:.12s;--t-base:.16s;--t-slow:.2s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.5, 0, .75, 0);--shadow-overlay:0 16px 40px -12px #0c111d38, 0 0 0 1px #0c111d0f;--scrim:#0c111d47;--focus:0 0 0 2px var(--surface), 0 0 0 4px var(--denim)}@media (prefers-reduced-motion:reduce){:root{--t-fast:0s;--t-base:0s;--t-slow:0s}}
:root{--s-link:var(--accent,var(--denim-ink));--s-ind:var(--accent,var(--denim));--s-wash:var(--accent-wash,var(--sky-wash));--s-soft:var(--accent-soft,var(--sky));--s-built-fg:var(--done,var(--ink));--s-built-bg:var(--done-wash,var(--sky));--s-proto-fg:var(--review,var(--denim-ink));--s-proto-bg:var(--review-wash,var(--sky-wash));--s-next-fg:var(--new,var(--on-ink));--s-next-bg:var(--new-wash,var(--denim-ink));--s-plan-fg:var(--wait,var(--text-2));--s-plan-bg:var(--wait-wash,var(--surface-muted));--mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--bar-h:56px;--gut:24px}@media (max-width:599px){:root{--gut:16px}}*,:before,:after{box-sizing:border-box}html.site{background:var(--surface);scroll-padding-top:calc(var(--bar-h) + 16px);-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:no-preference){html.site{scroll-behavior:smooth}}html.site body{background:var(--surface);color:var(--text);font-family:var(--font);font-size:var(--fs-lg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:26px}:where(html.site) :where(h1,h2,h3,p,ol,ul,dl,dd,figure){margin:0}:where(html.site) :where(ol,ul){padding:0;list-style:none}[hidden]{display:none!important}button,input{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline-offset:2px;box-shadow:var(--focus);border-radius:var(--r-sm);outline:2px solid #0000}[tabindex="-1"]:focus{outline:none}section[tabindex="-1"]:focus-visible,main[tabindex="-1"]:focus-visible{box-shadow:none}.num{font-variant-numeric:tabular-nums}.sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wrap{width:100%;max-width:1168px;padding:0 var(--gut);margin:0 auto}.skip{left:var(--sp-2);top:var(--sp-2);z-index:100;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);background:var(--ink);color:var(--on-ink);font-size:var(--fs-sm);text-decoration:none;position:fixed;transform:translateY(-200%)}.skip:focus,.skip:focus-visible{transform:none}p,li,dd{text-wrap:pretty}.btn{height:32px;padding:0 var(--sp-3);justify-content:center;align-items:center;gap:var(--sp-2);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:nowrap;transition:transform var(--t-fast);line-height:1;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-subtle);border-color:var(--control)}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.btn-primary:hover{background:var(--ink-hover,#1e2638);border-color:var(--ink-hover,#1e2638)}.btn-sm{height:28px;font-size:var(--fs-xs);padding:0 10px}.btn-lg{height:44px;padding:0 var(--sp-5);font-size:var(--fs-md)}.btn:disabled,.btn:disabled:hover{cursor:default;background:var(--surface-subtle);border-color:var(--line);color:var(--text-3);transform:none}.btn[aria-disabled=true],.btn[aria-disabled=true]:hover{cursor:progress;background:var(--surface-subtle);border-color:var(--line);color:var(--text-3);transform:none}.how-step-nav .btn[aria-disabled=true]{cursor:default}.btn[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.link{color:var(--s-link);text-underline-offset:3px;font-size:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline;text-decoration-thickness:1px}.link:hover{color:var(--ink)}.input{appearance:none;width:100%;height:32px;padding:0 var(--sp-3);border:1px solid var(--control);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font-size:var(--fs-sm)}.input::placeholder{color:var(--text-3)}.input:focus-visible{border-color:var(--s-ind)}.input[aria-invalid=true]{border-color:var(--danger)}.input-lg{height:44px;font-size:var(--fs-lg)}.form{gap:var(--sp-4);flex-direction:column;display:flex}.form-field{gap:var(--sp-2);flex-direction:column;display:flex}.field-label{font-size:var(--fs-sm);line-height:var(--lh-sm);font-weight:var(--fw-medium)}.field-hint{font-size:var(--fs-xs);line-height:var(--lh-xs);color:var(--text-3)}.field-error{font-size:var(--fs-sm);line-height:var(--lh-sm);color:var(--danger)}.mark{border-radius:var(--r-sm);background:var(--ink);flex:none;place-items:center;width:22px;height:22px;display:inline-grid}.mark svg{width:16px;height:16px}.mark-l{fill:var(--on-ink)}.mark-r{fill:var(--s-soft)}.tag{height:22px;padding:0 var(--sp-2);border-radius:var(--r-sm);font-size:var(--fs-xs);line-height:1;font-weight:var(--fw-medium);color:var(--text-2);background:var(--surface-muted);white-space:nowrap;flex:none;align-items:center;gap:6px;display:inline-flex}.tag-built{color:var(--s-built-fg);background:var(--s-built-bg)}.tag-prototype{color:var(--s-proto-fg);background:var(--s-proto-bg)}.tag-next{color:var(--s-next-fg);background:var(--s-next-bg)}.tag-planned{color:var(--s-plan-fg);background:var(--s-plan-bg)}.tag-later{color:var(--text-3);box-shadow:inset 0 0 0 1px var(--line-strong);background:0 0}.tag-pick{color:var(--on-ink);background:var(--ink)}.summary{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);text-align:left;grid-template-columns:120px minmax(0,1fr);margin:0;display:grid}.summary dt,.summary dd{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);font-size:var(--fs-sm);line-height:var(--lh-sm);margin:0}.summary dt{color:var(--text-3)}.summary dd{overflow-wrap:anywhere;min-width:0}.summary dd small{color:var(--text-3);font-size:var(--fs-xs);line-height:var(--lh-xs);margin-top:2px;display:block}.summary>:nth-last-child(-n+2){border-bottom:0}@media (max-width:479px){.summary{grid-template-columns:1fr}.summary dt{border-bottom:0;padding-bottom:0}.summary dd{padding-top:2px}}.bar{z-index:20;height:var(--bar-h);border-bottom:1px solid var(--line);-webkit-backdrop-filter:saturate(1.4)blur(10px);backdrop-filter:saturate(1.4)blur(10px);background:#ffffffeb;position:sticky;top:0}.bar-in{max-width:1168px;height:100%;padding:0 var(--gut);align-items:center;gap:var(--sp-6);margin:0 auto;display:flex}.bar-brand{align-items:center;gap:var(--sp-2);color:var(--text);font-weight:var(--fw-semibold);font-size:var(--fs-md);letter-spacing:-.01em;text-decoration:none;display:inline-flex}.bar-nav{flex:1;min-width:0}.bar-nav ul{gap:var(--sp-1);display:flex}.bar-nav a{border-radius:var(--r-sm);height:32px;color:var(--text-2);font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:nowrap;align-items:center;padding:0 10px;text-decoration:none;display:inline-flex;position:relative}.bar-nav a:hover{background:var(--surface-subtle);color:var(--text)}.bar-nav a[aria-current]{color:var(--text)}.bar-nav a[aria-current]:after{content:"";background:var(--s-ind);height:2px;position:absolute;bottom:-12px;left:10px;right:10px}.bar-end{gap:var(--sp-2);margin-left:auto;display:flex}.bar-menu{display:none}.bar-sheet{left:0;right:0;top:var(--bar-h);max-height:calc(100svh - var(--bar-h));background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow-overlay);position:absolute;overflow:auto}.bar-sheet ul{max-width:1168px;padding:var(--sp-2) var(--gut) var(--sp-4);margin:0 auto}.bar-sheet a{column-gap:var(--sp-2);padding:var(--sp-3) var(--sp-2);border-radius:var(--r-sm);color:var(--text);grid-template-columns:28px 1fr;text-decoration:none;display:grid}.bar-sheet a:hover,.bar-sheet a[aria-current]{background:var(--s-wash)}.bar-sheet .num{color:var(--text-3);font-size:var(--fs-sm);grid-row:span 2;padding-top:1px}.bar-sheet b{font-weight:var(--fw-semibold);font-size:var(--fs-md);line-height:var(--lh-md)}.bar-sheet span:last-child{color:var(--text-3);font-size:var(--fs-sm);line-height:var(--lh-sm)}@media (max-width:1079px){.bar-nav{display:none}.bar-menu{display:inline-flex}}@media (max-width:399px){.bar-join{display:none}}@media (prefers-reduced-motion:no-preference){.bar-sheet:not([hidden]){animation:s-drop var(--t-slow) var(--ease-out) both}}@keyframes s-drop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.intro{min-height:calc(100svh - var(--bar-h));padding:var(--sp-12) var(--gut) 96px;background:var(--surface);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.intro-col{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:640px;display:flex}.intro-kicker{align-items:center;gap:var(--sp-2);color:var(--text-3);font-size:var(--fs-sm);font-weight:var(--fw-medium);display:inline-flex}.intro-title{margin-top:var(--sp-5);font-size:clamp(30px,4.6vw,52px);line-height:1.08;font-weight:var(--fw-semibold);letter-spacing:-.03em;text-wrap:balance;max-width:18ch}.intro[data-phase=done] .intro-title{max-width:20ch}.drop{margin-top:var(--sp-8);border:1.5px dashed var(--line-strong);border-radius:var(--r-md);background:var(--surface);width:100%;transition:transform var(--t-slow) var(--ease-out)}.intro[data-phase=over] .drop{border-color:var(--ink);background:var(--surface-subtle);border-style:solid;transform:scale(1.01)}.drop[data-panel]{background:var(--ink);color:var(--on-ink);text-align:left;border:0;overflow:hidden}.drop-idle{padding:var(--sp-12) var(--sp-6) var(--sp-8);flex-direction:column;align-items:center;display:flex}.drop-ico{fill:none;width:36px;height:36px;stroke:var(--glaucous,var(--icon));stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round}.intro[data-phase=over] .drop-ico{stroke:var(--ink)}.drop-say{margin-top:var(--sp-3);font-size:var(--fs-xl);line-height:var(--lh-xl);font-weight:var(--fw-semibold);letter-spacing:-.01em}.drop-actions{margin-top:var(--sp-6);justify-content:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.drop-hint{margin-top:var(--sp-4);font-size:var(--fs-sm);line-height:var(--lh-sm);color:var(--text-3)}.drop-error{margin-top:var(--sp-4);padding:var(--sp-2) var(--sp-3);border:1px solid var(--danger-line);border-radius:var(--r-sm);background:var(--danger-wash);color:var(--danger);font-size:var(--fs-sm);line-height:var(--lh-sm)}@media (hover:none) and (pointer:coarse){.drop-say{font-size:var(--fs-lg)}}.code-head{align-items:center;gap:var(--sp-3);height:40px;padding:0 var(--sp-4);border-bottom:1px solid #ffffff1f;display:flex}.code-dots{gap:6px;display:inline-flex}.code-dots i{background:#ffffff3d;border-radius:50%;width:8px;height:8px}.code-title{min-width:0;font-size:var(--fs-xs);color:#ffffffc7;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.code-count{font-size:var(--fs-xs);color:var(--s-soft)}.code-body{height:300px;padding:var(--sp-3) var(--sp-4) var(--sp-4);scrollbar-width:thin;scrollbar-color:#ffffff3d transparent;overflow:auto}.code-body:focus-visible{box-shadow:inset 0 0 0 2px var(--s-soft);border-radius:0}.code{font-family:var(--mono);font-size:12.5px;line-height:20px}.code li{white-space:pre-wrap;overflow-wrap:anywhere;padding:1px 0}.code-c{color:#ffffffa8;margin-top:var(--sp-2)}.code-c:first-child{margin-top:0}.code-code{color:var(--on-ink)}.code-out{color:var(--s-soft)}.code-caret{background:var(--s-soft);width:8px;height:16px;margin-top:4px}.code-bar{background:#ffffff1a;height:3px}.code-bar i{background:var(--s-soft);transform-origin:0;height:100%;transform:scaleX(var(--p,0));transition:transform var(--t-base) linear;display:block}@media (prefers-reduced-motion:no-preference){.code li{animation:s-line .18s var(--ease-out) both}.code-caret{animation:1s step-end infinite s-caret}.intro-after{animation:s-rise .32s var(--ease-out) both}}@keyframes s-line{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes s-caret{50%{opacity:0}}@keyframes s-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (max-width:599px){.code-body{height:260px}.code{font-size:11.5px;line-height:18px}}.intro-after{width:100%;margin-top:var(--sp-4);gap:var(--sp-4);flex-direction:column;display:flex}.hex{font-family:var(--mono);font-size:var(--fs-xs);line-height:var(--lh-xs);letter-spacing:.02em;word-spacing:2px}.ellipsis-2{-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.intro-check{font-size:var(--fs-md);line-height:var(--lh-md);color:var(--text);font-weight:var(--fw-medium)}.intro-note{font-size:var(--fs-sm);line-height:var(--lh-sm);color:var(--text-3);max-width:56ch;margin:0 auto}.intro-actions{justify-content:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.intro-next{left:50%;bottom:var(--sp-6);align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);color:var(--text-3);font-size:var(--fs-sm);border-radius:var(--r-sm);white-space:nowrap;text-decoration:none;display:inline-flex;position:absolute;transform:translate(-50%)}.intro-next:hover{color:var(--text)}.intro-next svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}@media (max-height:640px){.intro-next{display:none}}.ch{border-top:1px solid var(--line);padding:112px 0}.ch-alt{background:var(--surface-subtle)}.ch-head{max-width:760px;margin-bottom:var(--sp-12)}.ch-kicker{align-items:baseline;gap:var(--sp-2);font-size:var(--fs-sm);line-height:var(--lh-sm);font-weight:var(--fw-medium);color:var(--text-3);display:flex}.ch-kicker .num{color:var(--s-link)}.ch-title{margin-top:var(--sp-3);font-size:clamp(28px,3.6vw,44px);line-height:1.1;font-weight:var(--fw-semibold);letter-spacing:-.028em;text-wrap:balance}.ch-lead{margin-top:var(--sp-4);color:var(--text-2);max-width:64ch;font-size:18px;line-height:28px}.ch-sub{margin:72px 0 var(--sp-5);font-size:var(--fs-xl);line-height:var(--lh-xl);font-weight:var(--fw-semibold);letter-spacing:-.01em;scroll-margin-top:calc(var(--bar-h) + 16px)}.ch-foot{margin-top:var(--sp-8);max-width:72ch;color:var(--text-2);font-size:var(--fs-md);line-height:22px}@media (max-width:767px){.ch{padding:72px 0}.ch-head{margin-bottom:var(--sp-8)}.ch-lead{font-size:var(--fs-lg);line-height:26px}.ch-sub{margin-top:var(--sp-12)}}.way-top{justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.ways{gap:var(--sp-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.way{padding:var(--sp-6);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);flex-direction:column;display:flex}.way h3{font-size:var(--fs-lg);line-height:var(--lh-lg);font-weight:var(--fw-semibold)}.way>p{margin-top:var(--sp-2);color:var(--text-2);font-size:var(--fs-md);line-height:22px}.way-k{padding-top:var(--sp-6);font-size:var(--fs-xs);line-height:var(--lh-xs);font-weight:var(--fw-medium);color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;margin-top:auto}.who-can{margin-top:var(--sp-2);flex-wrap:wrap;gap:6px;display:flex}.who-can li{padding:3px var(--sp-2);border-radius:var(--r-sm);background:var(--surface-muted);color:var(--text-2);font-size:var(--fs-sm);line-height:var(--lh-sm)}.way[data-tessr]{border-color:var(--ink);box-shadow:inset 0 3px 0 var(--ink)}.way[data-tessr] .who-can li{background:var(--s-built-bg);color:var(--s-built-fg)}.way[data-tessr] .who-can li.cant{color:var(--text-2);box-shadow:inset 0 0 0 1px var(--line-strong);background:0 0}@media (max-width:899px){.ways{grid-template-columns:1fr}}.how{gap:var(--sp-6);grid-template-columns:minmax(0,360px) minmax(0,1fr);align-items:start;display:grid}.how-tabs{gap:var(--sp-1);flex-direction:column;display:flex}.how-tab{column-gap:var(--sp-3);width:100%;padding:var(--sp-3) var(--sp-4);text-align:left;border-radius:var(--r-md);background:0 0;border:1px solid #0000;grid-template-columns:28px 1fr;grid-template-areas:"n t""n g";align-items:start;row-gap:6px;display:grid}.how-tab:hover{background:var(--surface-muted)}.how-tab[aria-selected=true]{background:var(--surface);border-color:var(--line);box-shadow:inset 2px 0 0 var(--s-ind)}.how-tab[aria-selected=true]:focus-visible{box-shadow:inset 2px 0 0 var(--s-ind), var(--focus)}.how-n{width:28px;height:28px;font-size:var(--fs-sm);font-weight:var(--fw-semibold);background:var(--surface-muted);color:var(--text-2);border-radius:50%;grid-area:n;place-items:center;display:grid}.how-tab[aria-selected=true] .how-n{background:var(--ink);color:var(--on-ink)}.how-t{font-size:var(--fs-lg);line-height:28px;font-weight:var(--fw-semibold);grid-area:t}.how-tab .tag{grid-area:g;justify-self:start}.how-panel{padding:var(--sp-6);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.how-panel:focus-visible{box-shadow:var(--focus);border-radius:var(--r-md)}.how-map{padding:var(--sp-2) 0 var(--sp-6);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid;position:relative}.how-map:before{content:"";background:var(--line-strong);height:1px;position:absolute;top:30px;left:16.67%;right:16.67%}.how-place{text-align:center;padding:0 var(--sp-2);flex-direction:column;align-items:center;gap:2px;display:flex;position:relative}.how-node{width:44px;height:44px;margin-bottom:var(--sp-2);background:var(--surface-muted);color:var(--glaucous,var(--icon));box-shadow:0 0 0 4px var(--surface);border-radius:50%;place-items:center;display:grid}.how-node svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.how-place[data-on] .how-node{background:var(--ink);color:var(--on-ink)}.how-place b{font-size:var(--fs-sm);line-height:var(--lh-sm);font-weight:var(--fw-semibold)}.how-place span{font-size:var(--fs-xs);line-height:var(--lh-xs);color:var(--text-3)}.how-box{pointer-events:none;width:100%;height:12px;transition:transform .48s var(--ease-out);position:absolute;top:24px;left:0;transform:translate(-33.33%)}.how-box:after{content:"";background:var(--s-ind);width:12px;height:12px;box-shadow:0 0 0 3px var(--surface);border-radius:3px;position:absolute;top:0;left:calc(50% - 6px)}.how-box[data-step="1"]{transform:translate(0)}.how-box[data-step="2"]{transform:translate(16.67%)}.how-box[data-step="3"]{transform:translate(33.33%)}.how-body{margin-top:var(--sp-6);font-size:18px;line-height:28px}.how-note{margin-top:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);background:var(--surface-subtle);border:1px solid var(--line);color:var(--text-2);font-size:var(--fs-sm);line-height:var(--lh-sm)}.how-holds{margin-top:var(--sp-6)}.how-holds-k{font-size:var(--fs-xs);line-height:var(--lh-xs);font-weight:var(--fw-medium);color:var(--text-3);text-transform:uppercase;letter-spacing:.06em}.how-holds ol{margin-top:var(--sp-2);border:1px solid var(--line);border-radius:var(--r-md)}.how-holds li{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--line);font-size:var(--fs-sm);line-height:var(--lh-sm);color:var(--text-2)}.how-holds li:last-child{border-bottom:0}.how-holds li[data-new]{color:var(--text);background:var(--s-wash)}@media (prefers-reduced-motion:no-preference){.how-holds li[data-new]{animation:s-line .24s var(--ease-out) both}}.how-step-nav{margin-top:var(--sp-6);justify-content:flex-end;gap:var(--sp-2);display:flex}@media (max-width:899px){.how{grid-template-columns:1fr}.how-tabs{gap:var(--sp-2);contain:inline-size layout;scrollbar-width:none;flex-direction:row;margin:-5px;padding:5px;overflow-x:auto}.how-tab{width:auto;padding:var(--sp-2) var(--sp-3);column-gap:var(--sp-2);flex:none;grid-template-columns:24px auto}.how-tab .tag{display:none}.how-n{width:24px;height:24px;font-size:var(--fs-xs)}.how-t{font-size:var(--fs-md);white-space:nowrap;line-height:24px}.how-panel{padding:var(--sp-4)}.how-body{font-size:var(--fs-lg);line-height:26px}}@media (max-width:479px){.how-place>span:last-child{display:none}}.who{gap:var(--sp-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.who-card{padding:var(--sp-6);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);gap:var(--sp-2);flex-direction:column;display:flex}.who-card h3{font-size:var(--fs-lg);line-height:var(--lh-lg);font-weight:var(--fw-semibold)}.who-card p{color:var(--text-2);font-size:var(--fs-md);line-height:22px}.who-ico{border-radius:var(--r-md);width:40px;height:40px;font-weight:var(--fw-semibold);font-size:var(--fs-lg);margin-bottom:var(--sp-3);place-items:center;display:grid}.who-ico-1{color:var(--cc1-fg,var(--ink));background:var(--cc1-bg,var(--sky))}.who-ico-2{color:var(--cc2-fg,var(--denim-ink));background:var(--cc2-bg,var(--sky-wash))}.who-ico-3{color:var(--cc5-fg,var(--text-2));background:var(--cc5-bg,var(--surface-muted))}.who-ico-4{color:var(--on-ink);background:var(--ink)}.who-client{background:var(--surface-subtle)}@media (max-width:1023px){.who{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:599px){.who{grid-template-columns:1fr}}.sees{gap:var(--sp-4);grid-template-columns:1.4fr 1fr;display:grid}.sees-col{padding:var(--sp-6);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.sees-col h3{font-size:var(--fs-lg);line-height:var(--lh-lg);font-weight:var(--fw-semibold)}.sees-col ul{margin-top:var(--sp-3)}.sees-col li{padding:var(--sp-2) 0 var(--sp-2) var(--sp-5);border-top:1px solid var(--line);font-size:var(--fs-md);color:var(--text-2);line-height:22px;position:relative}.sees-col li:before{content:"";background:var(--line-strong);border-radius:50%;width:6px;height:6px;position:absolute;top:16px;left:2px}.sees-never{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.sees-never li{color:var(--on-ink);border-top-color:#ffffff24}.sees-never li:before{background:var(--s-soft)}.parts{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.part{gap:var(--sp-1);padding:var(--sp-4) var(--sp-4) var(--sp-4) 0;border-bottom:1px solid var(--line);flex-direction:column;display:flex}.part:nth-child(2n){padding:var(--sp-4) 0 var(--sp-4) var(--sp-4);border-left:1px solid var(--line)}.part b{font-size:var(--fs-md);line-height:var(--lh-md);font-weight:var(--fw-semibold)}.part span{font-size:var(--fs-sm);color:var(--text-2);line-height:20px}.limits{column-gap:var(--sp-8);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.limits li{padding:var(--sp-3) 0;border-top:1px solid var(--line);font-size:var(--fs-md);color:var(--text-2);grid-template-columns:32px 1fr;line-height:22px;display:grid}.limits b{color:var(--text);font-weight:var(--fw-semibold)}.limit-n{color:var(--text-3);font-size:var(--fs-sm)}@media (max-width:899px){.sees,.parts,.limits{grid-template-columns:1fr}.part:nth-child(2n){padding:var(--sp-4) 0;border-left:0}.part{padding:var(--sp-4) 0}}.plans{gap:var(--sp-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.plan{padding:var(--sp-6);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);flex-direction:column;display:flex}.plan[data-pick]{border-color:var(--ink);box-shadow:inset 0 3px 0 var(--ink)}.plan-top{justify-content:space-between;align-items:center;gap:var(--sp-2);min-height:24px;display:flex}.plan h3{font-size:var(--fs-lg);line-height:var(--lh-lg);font-weight:var(--fw-semibold)}.plan-tag{color:var(--text-3);font-size:var(--fs-sm);line-height:var(--lh-sm)}.plan-price{margin-top:var(--sp-5);font-size:30px;line-height:36px;font-weight:var(--fw-semibold);letter-spacing:-.02em}.plan-extra{margin-top:var(--sp-1);color:var(--text-2);font-size:var(--fs-sm);line-height:var(--lh-sm);min-height:36px}.plan-list{margin-top:var(--sp-5);gap:var(--sp-2);flex-direction:column;display:flex}.plan-list li{padding-left:var(--sp-5);font-size:var(--fs-sm);line-height:20px;position:relative}.plan-list li:before{content:"";border-left:1.5px solid var(--s-ind);border-bottom:1.5px solid var(--s-ind);width:9px;height:5px;position:absolute;top:6px;left:1px;transform:rotate(-45deg)}.plan-sees{margin-top:var(--sp-5);padding-top:var(--sp-3);border-top:1px solid var(--line);font-size:var(--fs-sm);line-height:var(--lh-sm)}.plan-sees span{color:var(--text-3);font-size:var(--fs-xs);line-height:var(--lh-xs);display:block}.plan-note{margin-top:var(--sp-2);color:var(--text-3);font-size:var(--fs-xs);line-height:var(--lh-xs)}.plan .btn{margin-top:auto}.plan-note+.btn,.plan-sees+.btn{margin-top:var(--sp-5)}@media (max-width:1079px){.plans{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:599px){.plans{grid-template-columns:1fr}.plan-extra{min-height:0}}.road{gap:var(--sp-8);padding-left:var(--sp-8);flex-direction:column;display:flex;position:relative}.road:before{content:"";background:var(--line-strong);width:2px;position:absolute;top:8px;bottom:8px;left:7px}.road-group{position:relative}.road-dot{left:calc(-1 * var(--sp-8));background:var(--surface);width:16px;height:16px;box-shadow:inset 0 0 0 2px var(--line-strong);border-radius:50%;position:absolute;top:3px}.road-group[data-status=built] .road-dot{background:var(--ink);box-shadow:none}.road-group[data-status=prototype] .road-dot{background:var(--s-ind);box-shadow:none}.road-group[data-status=next] .road-dot{box-shadow:inset 0 0 0 4px var(--s-ind)}.road-group>ul{margin-top:var(--sp-3);gap:var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.road-item{gap:var(--sp-1);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);flex-direction:column;display:flex}.road-item b{font-size:var(--fs-md);line-height:var(--lh-md);font-weight:var(--fw-semibold)}.road-item span{font-size:var(--fs-sm);color:var(--text-2);line-height:20px}.road-group[data-status=later] .road-item{background:0 0;border-style:dashed}@media (max-width:767px){.road-group>ul{grid-template-columns:1fr}.road{padding-left:var(--sp-6)}.road-dot{left:calc(-1 * var(--sp-6))}}.qa{border-top:1px solid var(--line);max-width:820px}.qa details{border-bottom:1px solid var(--line)}.qa summary{cursor:pointer;justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-5) 0;font-size:18px;line-height:26px;font-weight:var(--fw-medium);border-radius:var(--r-sm);list-style:none;display:flex}.qa summary::-webkit-details-marker{display:none}.qa summary:after{content:"";border-right:1.5px solid var(--icon,var(--text-3));border-bottom:1.5px solid var(--icon,var(--text-3));width:10px;height:10px;transition:transform var(--t-base) var(--ease-out);flex:none;transform:translateY(-3px)rotate(45deg)}.qa details[open] summary:after{transform:translateY(2px)rotate(-135deg)}.qa summary:hover{color:var(--s-link)}.qa details p{padding:0 var(--sp-8) var(--sp-5) 0;color:var(--text-2);font-size:var(--fs-lg);max-width:70ch;line-height:26px}@media (max-width:599px){.qa summary{font-size:var(--fs-lg);line-height:24px}.qa details p{font-size:var(--fs-md);padding-right:0;line-height:22px}}.ch-join{background:var(--surface-subtle)}.join{gap:var(--sp-8);grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;display:grid}.join-card{padding:var(--sp-6);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);gap:var(--sp-4);flex-direction:column;display:flex}.join-row{gap:var(--sp-2);display:flex}.join-row .input{flex:1;min-width:0}.join-trap{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.join-done{font-size:var(--fs-lg);line-height:var(--lh-lg);font-weight:var(--fw-medium)}.join-seen{padding:var(--sp-3);border-radius:var(--r-sm);background:var(--surface-subtle);border:1px solid var(--line)}.join-seen-k{font-size:var(--fs-xs);line-height:var(--lh-xs);color:var(--text-3);font-weight:var(--fw-medium)}.join-blob{margin-top:var(--sp-1);font-family:var(--mono);color:var(--text-2);overflow-wrap:anywhere;font-size:11px;line-height:16px;display:block}.join-blob-empty{font-family:var(--font);font-size:var(--fs-sm);line-height:var(--lh-sm)}.join-switch{font-size:var(--fs-sm);align-self:flex-start}.join-facts{gap:var(--sp-4);flex-direction:column;display:flex}.join-facts li{padding-top:var(--sp-4);border-top:1px solid var(--line);color:var(--text-2);font-size:var(--fs-md);line-height:22px}.join-facts b{color:var(--text)}@media (max-width:767px){.join{grid-template-columns:1fr}}@media (max-width:479px){.join-row{flex-direction:column}.join-card{padding:var(--sp-4)}}.foot{background:var(--ink);color:var(--on-ink);padding:96px 0 var(--sp-8)}.foot a{color:var(--on-ink);text-decoration:none}.foot a:hover{text-underline-offset:3px;text-decoration:underline}.foot-top{justify-content:space-between;align-items:flex-end;gap:var(--sp-6);padding-bottom:var(--sp-12);border-bottom:1px solid #ffffff24;flex-wrap:wrap;display:flex}.foot-word{font-size:clamp(30px,4.4vw,52px);line-height:1.08;font-weight:var(--fw-semibold);letter-spacing:-.03em}.foot-word span{color:var(--s-soft)}.foot .btn-primary{background:var(--on-ink);color:var(--ink);border-color:var(--on-ink)}.foot .btn-primary:hover{background:var(--s-soft);border-color:var(--s-soft);text-decoration:none}.foot .mark{background:var(--on-ink)}.foot .mark-l{fill:var(--ink)}.foot .mark-r{fill:var(--s-link)}.foot-cols{gap:var(--sp-8);padding:var(--sp-12) 0;grid-template-columns:1.4fr 1fr 1fr;display:grid}.foot-name{align-items:center;gap:var(--sp-2);font-weight:var(--fw-semibold);display:flex}.foot-brand p{color:#ffffffc7;font-size:var(--fs-md);max-width:40ch;line-height:22px}.foot-brand .foot-name{color:var(--on-ink);margin-bottom:var(--sp-3)}.foot-status{margin-top:var(--sp-4);align-items:center;gap:var(--sp-2);display:flex;font-size:var(--fs-sm)!important}.foot-status .dot{background:var(--s-soft);border-radius:50%;width:6px;height:6px}.foot-k{margin-bottom:var(--sp-3);font-size:var(--fs-xs);line-height:var(--lh-xs);color:#ffffffa8;text-transform:uppercase;letter-spacing:.06em;font-weight:var(--fw-medium);display:block}.foot nav li{font-size:var(--fs-md);padding:3px 0;line-height:22px}.foot-base{justify-content:space-between;gap:var(--sp-4);padding-top:var(--sp-6);font-size:var(--fs-sm);line-height:var(--lh-sm);color:#ffffffb8;border-top:1px solid #ffffff24;flex-wrap:wrap;display:flex}.foot-base p:first-child{max-width:64ch}@media (max-width:767px){.foot{padding-top:72px}.foot-cols{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}.cmp{background:var(--surface-subtle);flex-direction:column;height:100svh;display:flex}.cmp-bar{height:var(--bar-h);align-items:center;gap:var(--sp-4);padding:0 var(--gut);background:var(--surface);border-bottom:1px solid var(--line);flex:none;display:flex}.cmp-note{color:var(--text-3);font-size:var(--fs-sm);line-height:var(--lh-sm);margin-left:auto}.cmp-switch{gap:var(--sp-1);display:none}.cmp-panes{background:var(--line);flex:1;grid-template-columns:1fr 1fr;gap:1px;min-height:0;display:grid}.cmp-pane{background:var(--surface);flex-direction:column;min-height:0;display:flex}.cmp-head{align-items:center;gap:var(--sp-2);height:40px;padding:0 var(--sp-4);border-bottom:1px solid var(--line);font-size:var(--fs-sm);color:var(--text-2);flex:none;display:flex}.cmp-head .link{margin-left:auto}.cmp-pane iframe{background:var(--surface);border:0;flex:1;width:100%;min-height:0}@media (max-width:899px){.cmp-switch{display:inline-flex}.cmp-note{display:none}.cmp-bar{justify-content:space-between}.cmp-panes{grid-template-columns:1fr}.cmp-panes[data-show=old] .cmp-pane[data-pane=new],.cmp-panes[data-show=new] .cmp-pane[data-pane=old]{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
.tb{--tb-here:#2154d0;--tb-here-ink:#fff;--tb-blur:none}.tb[data-finish=cream]{--tb-bg:#fbf9f3;--tb-solid:#fbf9f3;--tb-ink:#0e0e0c;--tb-ink-2:#5e5a52;--tb-tile:#0e0e0c29;--tb-done:#0e0e0c12;--tb-hover:#0e0e0c0d;--tb-here:#0e0e0c;--tb-here-ink:#f3efe6;--tb-shadow:0 0 0 1px #e2ddd3, 0 14px 34px -18px #0e0e0c4d}.tb[data-finish=frost]{--tb-bg:#ffffffbd;--tb-solid:#fff;--tb-blur:saturate(1.6) blur(18px);--tb-ink:#0c111d;--tb-ink-2:#46443f;--tb-tile:#0c111d2b;--tb-done:#0c111d17;--tb-hover:#0c111d0f;--tb-shadow:0 0 0 1px #0c111d12, inset 0 1px 0 #ffffffb3, 0 14px 34px -16px #0c111d57}.tb[data-finish=bone]{--tb-bg:#ebe7de;--tb-solid:#ebe7de;--tb-ink:#16171a;--tb-ink-2:#4a4740;--tb-tile:#16171a33;--tb-done:#dad4c5;--tb-hover:#16171a0f;--tb-shadow:0 0 0 1px #d5cebf, inset 0 1px 0 #ffffff8c, 0 14px 34px -16px #463a2266}.tb[data-finish=pewter]{--tb-bg:#66645e;--tb-solid:#66645e;--tb-ink:#fff;--tb-ink-2:#eeedeb;--tb-tile:#ffffff57;--tb-done:#0000003d;--tb-hover:#00000024;--tb-here:#2d5bea;--tb-shadow:0 0 0 1px #0000002e, inset 0 1px 0 #ffffff24, 0 14px 34px -16px #0c111d80}.tb[data-finish=graphite]{--tb-bg:#1a1b1de6;--tb-solid:#1a1b1d;--tb-blur:saturate(1.3) blur(16px);--tb-ink:#f2f2f0;--tb-ink-2:#b9bbc0;--tb-tile:#ffffff38;--tb-done:#ffffff21;--tb-hover:#ffffff14;--tb-here:#2d5bea;--tb-shadow:0 0 0 1px #ffffff14, 0 14px 34px -16px #000000b3}.k18 .bar.tb{pointer-events:none;-webkit-backdrop-filter:none;backdrop-filter:none;margin-bottom:calc(-1 * var(--bar-h));background:0 0;border:0;padding-top:8px}.k18 .tb~main>.intro{min-height:100svh;padding-top:calc(var(--sp-12) + var(--bar-h))}.k18 .tb~main>.pg-hero{padding-top:calc(88px + var(--bar-h))}@media (max-width:767px){.k18 .tb~main>.pg-hero{padding-top:calc(56px + var(--bar-h))}}.k18 .tb .tb-dock{pointer-events:auto;width:min(calc(100% - 2 * var(--gut)), 940px);align-items:center;gap:var(--sp-3);background:var(--tb-bg);height:44px;color:var(--tb-ink);box-shadow:var(--tb-shadow);-webkit-backdrop-filter:var(--tb-blur);backdrop-filter:var(--tb-blur);border-radius:14px;margin:0 auto;padding:0 6px 0 12px;display:flex;position:relative}.tb-brand{align-items:center;gap:var(--sp-2);height:32px;color:inherit;font-weight:var(--fw-semibold);font-size:var(--fs-md);letter-spacing:-.01em;flex:none;text-decoration:none;display:inline-flex}.k18 .tb-brand .brk{width:15px;height:15px}.tb-page{background:var(--tb-here);height:30px;color:var(--tb-here-ink);font-size:var(--fs-sm);font-weight:var(--fw-medium);border-radius:8px;flex:none;align-items:center;padding:0 12px;display:inline-flex}.tb-strip{flex:1;justify-content:center;min-width:0;display:flex}.tb-strip ol{gap:4px;display:flex}.tb-tile{height:30px;color:var(--tb-ink);white-space:nowrap;box-shadow:inset 0 0 0 1px var(--tb-tile);transition:grid-template-columns var(--hover), background-color var(--hover), box-shadow var(--hover), color var(--hover);border-radius:8px;grid-template-columns:30px 0fr;align-items:center;text-decoration:none;display:inline-grid}.tb-n{width:30px;font-family:var(--mono);font-variant-numeric:tabular-nums;place-items:center;font-size:11px;display:grid}.tb-t{min-width:0;font-size:var(--fs-sm);font-weight:var(--fw-medium);overflow:hidden}.tb-t>span{padding-right:12px;display:block}.tb-tile[data-s=done]{background:var(--tb-done);box-shadow:none}.tb-tile:hover{background:var(--tb-hover)}.tb-tile[data-s=done]:hover{background:var(--tb-done);box-shadow:inset 0 0 0 1px var(--tb-tile)}.tb-tile[aria-current],.tb-tile[aria-current]:hover{background:var(--tb-here);color:var(--tb-here-ink);box-shadow:none}.tb-tile[aria-current],.tb-tile:hover,.tb-tile:focus-visible{grid-template-columns:30px 1fr}:is(.tb-strip:has(.tb-tile:hover) .tb-tile[aria-current]:not(:hover),.tb-strip:has(.tb-tile:focus-visible) .tb-tile[aria-current]:not(:focus-visible)){grid-template-columns:30px 0fr}.tb :is(.tb-tile,.tb-menu,.tb-index a):focus-visible{box-shadow:var(--focus)}.tb-end{align-items:center;gap:var(--sp-2);flex:none;margin-left:auto;display:flex}.k18 .tb .tb-join{height:32px}.tb-menu{align-items:center;gap:var(--sp-2);height:32px;color:inherit;cursor:pointer;font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-medium);box-shadow:inset 0 0 0 1px var(--tb-tile);transition:background-color var(--hover);background:0 0;border:0;border-radius:8px;padding:0 10px 0 9px;line-height:1;display:none}.tb-menu:hover,.tb-menu[aria-expanded=true]{background:var(--tb-hover)}.tb-mosaic{grid-template-columns:repeat(4,5px);gap:2px;display:grid}.tb-mosaic i{width:5px;height:5px;box-shadow:inset 0 0 0 1px var(--tb-ink-2);border-radius:1.5px}.tb-mosaic i[data-s=done]{background:var(--tb-ink-2)}.tb-mosaic i[data-s=here]{background:var(--tb-here);box-shadow:0 0 0 1px var(--tb-solid)}.k18 .tb .tb-sheet{pointer-events:auto;width:min(calc(100% - 2 * var(--gut)), 940px);background:var(--tb-solid);max-height:calc(100svh - 70px);color:var(--tb-ink);box-shadow:var(--tb-shadow);border-radius:14px;margin:0 auto;padding:8px;position:absolute;top:58px;left:0;right:0;overflow:auto}.tb-index{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.tb-index a{height:100%;min-height:86px;color:inherit;box-shadow:inset 0 0 0 1px var(--tb-tile);transition:background-color var(--hover);border-radius:10px;flex-direction:column;gap:2px;padding:12px;text-decoration:none;display:flex}.tb-index a:hover{background:var(--tb-hover)}.tb-index .num{font-family:var(--mono);color:var(--tb-ink-2);font-size:11px;line-height:16px}.tb-index b{font-size:var(--fs-md);line-height:var(--lh-md);font-weight:var(--fw-semibold)}.tb-index a>span:last-child{font-size:var(--fs-xs);line-height:var(--lh-xs);color:var(--tb-ink-2)}.tb-index a[data-s=done]{background:var(--tb-done);box-shadow:none}.tb-index a[aria-current]{box-shadow:inset 0 0 0 2px var(--tb-here)}.tb-index-join{grid-column:1/-1}.tb-index .tb-index-join a{background:var(--tb-here);min-height:0;color:var(--tb-here-ink);box-shadow:none}.tb-index .tb-index-join a>span:last-child{color:inherit}@media (min-width:720px){.tb-index{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:1079px),(hover:none){.tb-strip{display:none}.tb-menu{display:inline-flex}}@media (max-width:399px){.tb-join,.tb-page{display:none}}@media (prefers-reduced-motion:reduce){.tb-tile,.tb-menu,.tb-index a{transition:none}}@media (prefers-reduced-motion:no-preference){.tb-sheet:not([hidden]){animation:s-drop var(--t-slow) var(--ease-out) both}}
