@font-face{font-family:Instrument Sans;src:url(/_astro/InstrumentSans-VariableFont_wdth_wght.CtbcNJyk.woff2) format("woff2");font-weight:400 700;font-stretch:75% 100%;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/_astro/JetBrainsMono-VariableFont_wght.B4WL0JG6.woff2) format("woff2");font-weight:100 800;font-style:normal;font-display:swap}:root,[data-theme=dark]{--green-950: oklch(.2 .036 201);--green-900: oklch(.258 .045 201);--green-800: oklch(.318 .051 201);--green-700: oklch(.385 .057 201);--green-600: oklch(.46 .062 199);--green-500: oklch(.545 .07 197);--green-400: oklch(.64 .079 193);--green-300: oklch(.74 .088 191);--green-200: oklch(.83 .075 189);--green-100: oklch(.9 .047 189);--green-050: oklch(.955 .02 189);--font-sans: "Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--text-micro: 11px;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-md: 16px;--text-lg: 20px;--text-xl: 26px;--text-2xl: 34px;--text-3xl: 44px;--text-4xl: 58px;--leading-flat: 1.08;--leading-tight: 1.28;--leading-body: 1.55;--track-display: -.026em;--track-heading: -.016em;--track-body: 0;--track-caps: .12em;--weight-body: 400;--weight-medium: 500;--weight-display: 600;--s1: 2px;--s2: 4px;--s3: 6px;--s4: 8px;--s5: 12px;--s6: 16px;--s7: 20px;--s8: 24px;--s9: 32px;--s10:40px;--s11:56px;--s12:72px;--radius-control: 2px;--radius-inner: 6px;--radius-surface: 8px;--radius-full: 999px;--shadow-float: 0 1px 2px oklch(0 0 0/.3), 0 10px 32px oklch(0 0 0/.26);--dur-press: 80ms;--dur-state: .14s;--dur-move: .22s;--dur-slide: .32s;--ease-standard: cubic-bezier(.2,.7,.3,1);--ease-enter: cubic-bezier(0,.6,.3,1);--ease-exit: cubic-bezier(.4,0,1,1);--control-h: 36px;--control-h-sm: 28px;--row-h: 44px;--row-h-dense: 34px;--focus-w: 2px;color-scheme:dark;--surface-sunken: oklch(.165 .024 201);--surface: oklch(.212 .028 201);--surface-raised: oklch(.245 .03 201);--surface-inset: oklch(.185 .026 201);--surface-overlay: oklch(.27 .032 201);--surface-brand: var(--green-800);--scrim: oklch(.13 .02 201/.72);--ink-primary: oklch(.96 .008 201);--ink-secondary: oklch(.79 .014 201);--ink-tertiary: oklch(.64 .018 201);--ink-inverse: oklch(.185 .03 201);--line-hairline: oklch(.262 .026 201);--line-standard: oklch(.298 .028 201);--line-control: oklch(.54 .014 200);--line-control-hover: oklch(.63 .018 195);--accent: oklch(.775 .105 189);--accent-hover: oklch(.835 .095 189);--accent-ink: oklch(.185 .03 200);--accent-wash: oklch(.775 .105 182/.12);--accent-line: oklch(.775 .105 182/.32);--focus-ring: oklch(.86 .09 189);--success: oklch(.79 .14 152);--success-wash: oklch(.79 .14 152/.13);--caution: oklch(.83 .13 85);--caution-wash: oklch(.83 .13 85/.13);--critical:oklch(.74 .155 25);--critical-wash:oklch(.74 .155 25/.13);--state-ink: oklch(.17 .02 200)}[data-theme=light]{color-scheme:light;--surface-sunken: oklch(.952 .005 200);--surface: oklch(.988 .002 200);--surface-raised: oklch(1 0 0 );--surface-inset: oklch(.968 .004 200);--surface-overlay: oklch(1 0 0 );--surface-brand: var(--green-800);--scrim: oklch(.3 .01 200/.42);--ink-primary: oklch(.235 .015 200);--ink-secondary: oklch(.44 .014 200);--ink-tertiary: oklch(.565 .014 200);--ink-inverse: oklch(1 0 0);--line-hairline: oklch(.918 .006 200);--line-standard: oklch(.876 .008 200);--line-control: oklch(.615 .014 200);--line-control-hover: oklch(.505 .018 195);--accent: oklch(.42 .062 199);--accent-hover: oklch(.33 .057 201);--accent-ink: oklch(1 0 0);--accent-wash: oklch(.42 .058 192/.08);--accent-line: oklch(.42 .058 192/.3);--focus-ring: oklch(.42 .062 199);--success: oklch(.48 .12 150);--success-wash: oklch(.48 .12 150/.1);--caution: oklch(.52 .11 75);--caution-wash: oklch(.52 .11 75/.1);--critical:oklch(.5 .15 27);--critical-wash:oklch(.5 .15 27/.1);--state-ink: oklch(1 0 0);--shadow-float: 0 1px 2px oklch(.3 .01 200/.08), 0 10px 32px oklch(.3 .01 200/.12)}:root,[data-theme=dark],[data-theme=light]{--bg: var(--surface-sunken);--surface-2: var(--surface-inset);--nav: var(--surface-brand);--ink: var(--ink-primary);--ink-2: var(--ink-secondary);--ink-3: var(--ink-tertiary);--rule: var(--line-hairline);--rule-strong: var(--line-standard);--edge: var(--line-control)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--surface-sunken);color:var(--ink-primary);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-body);letter-spacing:var(--track-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0;font-weight:var(--weight-display);line-height:var(--leading-tight);letter-spacing:var(--track-heading)}h1{font-size:var(--text-2xl);line-height:var(--leading-flat);letter-spacing:var(--track-display)}h2{font-size:var(--text-lg)}h3{font-size:var(--text-md)}h4{font-size:var(--text-base)}p{margin:0;text-wrap:pretty}a{color:var(--accent);text-decoration:none;text-underline-offset:3px;transition:color var(--dur-press) var(--ease-standard)}a:hover{color:var(--accent-hover);text-decoration:underline}hr{border:0;border-top:1px solid var(--line-hairline);margin:0}:focus-visible{outline:var(--focus-w) solid var(--focus-ring);outline-offset:1px;border-radius:var(--radius-control)}::selection{background:var(--accent-wash)}.mono,.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:0}.num{font-feature-settings:"tnum"}.label{font-family:var(--font-mono);font-size:var(--text-micro);line-height:1.4;text-transform:uppercase;letter-spacing:var(--track-caps);color:var(--ink-tertiary)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.btn{--btn-h:var(--control-h);appearance:none;font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1;height:var(--btn-h);padding:0 var(--s5);display:inline-flex;align-items:center;justify-content:center;gap:var(--s3);white-space:nowrap;color:var(--ink-secondary);background:var(--surface-raised);border:1px solid var(--line-control);border-radius:var(--radius-control);cursor:pointer;transition:color var(--dur-press) var(--ease-standard),background var(--dur-press) var(--ease-standard),border-color var(--dur-press) var(--ease-standard)}.btn:hover{color:var(--ink-primary);border-color:var(--line-control-hover)}.btn[disabled],.btn:disabled{opacity:.44;cursor:not-allowed}.btn.sm{--btn-h:var(--control-h-sm);font-size:var(--text-xs);padding:0 var(--s4)}.btn.lg{--btn-h:46px;font-size:var(--text-base);padding:0 var(--s7)}.btn.primary{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-ink)}.btn.quiet{background:none;border-color:transparent;color:var(--ink-tertiary)}.btn.quiet:hover{background:var(--surface-raised);border-color:transparent;color:var(--ink-primary)}.btn.danger{color:var(--critical);background:none;border-color:var(--line-control)}.btn.danger:hover{color:var(--state-ink);background:var(--critical);border-color:var(--critical)}.btn:active{background:var(--surface-overlay)}.btn.primary:active{background:var(--accent);border-color:var(--accent)}.btn.quiet:active{background:var(--surface-overlay)}.btn.icon{width:var(--btn-h);padding:0}.btn-group{display:inline-flex}.btn-group .btn{border-radius:0;margin-left:-1px}.btn-group .btn:first-child{border-radius:var(--radius-control) 0 0 var(--radius-control);margin-left:0}.btn-group .btn:last-child{border-radius:0 var(--radius-control) var(--radius-control) 0}.btn-group .btn:hover,.btn-group .btn[aria-pressed=true]{position:relative;z-index:1}.btn[aria-pressed=true]{color:var(--ink-primary);background:var(--surface-overlay);border-color:var(--line-control-hover)}.field{--fh:var(--control-h);appearance:none;font:inherit;font-size:var(--text-sm);height:var(--fh);width:100%;padding:0 var(--s5);color:var(--ink-primary);background:var(--surface-inset);border:1px solid var(--line-control);border-radius:var(--radius-control);transition:border-color var(--dur-press) var(--ease-standard),box-shadow var(--dur-press) var(--ease-standard)}.field::placeholder{color:var(--ink-tertiary)}.field:hover{border-color:var(--line-control-hover)}.field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.field:disabled{opacity:.5;cursor:not-allowed}.field.sm{--fh:var(--control-h-sm);font-size:var(--text-xs);padding:0 var(--s4)}textarea.field{height:auto;padding:var(--s4) var(--s5);line-height:var(--leading-body);resize:vertical}select.field{padding-right:var(--s9);background-image:none}.select{position:relative;display:inline-block}.select:after{content:"";position:absolute;right:var(--s5);top:calc(50% - 4px);width:5px;height:5px;border-right:1.5px solid var(--ink-tertiary);border-bottom:1.5px solid var(--ink-tertiary);transform:rotate(45deg);pointer-events:none;transition:border-color var(--dur-press) var(--ease-standard)}.select:hover:after{border-color:var(--ink-primary)}.form-row{display:flex;flex-direction:column;gap:var(--s3)}.hint{font-size:var(--text-xs);color:var(--ink-tertiary)}.hint.bad{color:var(--critical)}.switch{position:relative;display:inline-flex;align-items:center;gap:var(--s4);cursor:pointer;font-size:var(--text-sm)}.switch input{appearance:none;margin:0;width:34px;height:20px;flex:none;background:var(--surface-inset);border:1px solid var(--line-control);border-radius:var(--radius-full);cursor:pointer;transition:background var(--dur-state) var(--ease-standard),border-color var(--dur-state) var(--ease-standard)}.switch input:after{content:"";position:absolute;left:3px;top:50%;width:14px;height:14px;margin-top:-7px;border-radius:var(--radius-full);background:var(--ink-tertiary);transition:transform var(--dur-state) var(--ease-standard),background var(--dur-state) var(--ease-standard)}.switch input:checked{background:var(--accent);border-color:var(--accent)}.switch input:checked:after{transform:translate(14px);background:var(--accent-ink)}.check{display:inline-flex;align-items:center;gap:var(--s4);cursor:pointer;font-size:var(--text-sm)}.check input{appearance:none;margin:0;position:relative;width:16px;height:16px;flex:none;background:var(--surface-inset);border:1px solid var(--line-control);border-radius:var(--radius-control);cursor:pointer;transition:background var(--dur-state) var(--ease-standard),border-color var(--dur-state) var(--ease-standard)}.check input:checked{background:var(--accent);border-color:var(--accent)}.check input:after{content:"";position:absolute;left:4px;top:1px;width:6px;height:10px;border-right:2px solid var(--accent-ink);border-bottom:2px solid var(--accent-ink);transform:rotate(40deg) scale(.7);opacity:0;transition:opacity var(--dur-state) var(--ease-standard),transform var(--dur-state) var(--ease-enter)}.check input:checked:after{opacity:1;transform:rotate(40deg) scale(1)}.check input[type=radio],.check input[type=radio]:after{border-radius:var(--radius-full)}.check input[type=radio]:after{left:3px;top:3px;width:8px;height:8px;border:0;background:var(--accent-ink);transform:scale(.4)}.check input[type=radio]:checked:after{transform:scale(1)}.seg{display:inline-flex;gap:var(--s1);padding:3px;background:var(--surface-inset);border:1px solid var(--line-standard);border-radius:var(--radius-control)}.seg button{appearance:none;font:inherit;font-size:var(--text-xs);font-weight:var(--weight-medium);height:calc(var(--control-h) - 8px);padding:0 var(--s5);color:var(--ink-tertiary);background:none;border:0;border-radius:1px;cursor:pointer;transition:color var(--dur-state) var(--ease-standard),background var(--dur-state) var(--ease-standard)}.seg button:hover{color:var(--ink-primary)}.seg button[aria-selected=true]{color:var(--ink-primary);background:var(--surface-overlay)}.chip{display:inline-flex;align-items:center;gap:var(--s3);font-size:var(--text-xs);line-height:1;padding:4px var(--s4);color:var(--ink-secondary);background:none;border:1px solid var(--line-standard);border-radius:var(--radius-control);white-space:nowrap}.chip.on{color:var(--accent);border-color:var(--accent-line);background:var(--accent-wash)}.chip.good{color:var(--success);border-color:var(--success);background:var(--success-wash)}.chip.warn{color:var(--caution);border-color:var(--caution);background:var(--caution-wash)}.chip.bad{color:var(--critical);border-color:var(--critical);background:var(--critical-wash)}.count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;font-family:var(--font-mono);font-size:var(--text-micro);color:var(--ink-secondary);background:var(--surface-inset);border-radius:var(--radius-full)}.dot{width:7px;height:7px;flex:none;border-radius:var(--radius-full)}.dot.sq{border-radius:1px}.avatar{display:inline-grid;place-items:center;width:24px;height:24px;font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:.04em;color:var(--accent);background:var(--accent-wash);border:1px solid var(--accent-line);border-radius:var(--radius-full)}.kbd{font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:.06em;color:var(--ink-tertiary);background:var(--surface-inset);border:1px solid var(--line-standard);border-radius:var(--radius-control);padding:2px 5px}.card{background:var(--surface-raised);border:1px solid var(--line-standard);border-radius:var(--radius-surface);overflow:hidden}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s5);padding:var(--s6) var(--s7)}.card-head+.card-body{padding-top:0}.card-title{font-size:var(--text-md);font-weight:var(--weight-display);letter-spacing:var(--track-heading)}.card-sub{font-size:var(--text-sm);color:var(--ink-tertiary);margin-top:var(--s1)}.card-body{padding:var(--s6) var(--s7)}.card-foot{padding:var(--s5) var(--s7);background:var(--surface-inset);border-top:1px solid var(--line-hairline);display:flex;align-items:center;gap:var(--s4)}.panel{display:flex;flex-direction:column;min-height:0;background:var(--surface);border:1px solid var(--line-standard);border-radius:var(--radius-surface);overflow:hidden}.panel-head{flex:none;display:flex;align-items:center;gap:var(--s5);padding:var(--s5) var(--s6);border-bottom:1px solid var(--line-standard)}.panel-title{font-size:var(--text-base);font-weight:var(--weight-medium)}.panel-tools{margin-left:auto;display:flex;align-items:center;gap:var(--s4)}.panel-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.overlay{background:var(--surface-overlay);border:1px solid var(--line-standard);border-radius:var(--radius-surface);box-shadow:var(--shadow-float);animation:float-in var(--dur-move) var(--ease-enter)}@keyframes float-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.well{background:var(--surface-inset);border:1px solid var(--line-hairline);border-radius:var(--radius-inner);padding:var(--s5)}.facts{display:flex;flex-direction:column;margin:0}.facts>div{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s5);padding:var(--s4) 0;border-bottom:1px solid var(--line-hairline)}.facts>div:last-child{border-bottom:0}.facts dt{font-size:var(--text-sm);color:var(--ink-tertiary);margin:0}.facts dd{margin:0;font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--ink-primary);text-align:right}.note{font-size:var(--text-xs);line-height:var(--leading-body);color:var(--ink-tertiary);border-left:2px solid var(--line-standard);padding-left:var(--s5)}.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-sm)}.tbl th{height:32px;padding:0 var(--s5);text-align:left;font-family:var(--font-mono);font-size:var(--text-micro);font-weight:var(--weight-body);text-transform:uppercase;letter-spacing:var(--track-caps);color:var(--ink-tertiary);background:var(--surface);border-bottom:1px solid var(--line-standard);white-space:nowrap;position:sticky;top:0;z-index:1}.tbl td{height:var(--row-h);padding:0 var(--s5);color:var(--ink-secondary);border-bottom:1px solid var(--line-hairline);vertical-align:middle}.tbl.dense td{height:var(--row-h-dense)}.tbl tbody tr{transition:background var(--dur-state) var(--ease-standard)}.tbl tbody tr:hover{background:var(--surface-raised)}.tbl tbody tr:last-child td{border-bottom:0}.tbl tbody tr[aria-selected=true]{background:var(--accent-wash);box-shadow:inset 2px 0 0 var(--accent)}.tbl td.name{color:var(--ink-primary);font-weight:var(--weight-medium)}.tbl td.name .holder{font-weight:var(--weight-body);color:var(--ink-tertiary)}.tbl td.n,.tbl th.n{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.tbl th button{appearance:none;font:inherit;color:inherit;background:none;border:0;padding:0;display:inline-flex;align-items:center;gap:var(--s3);cursor:pointer;text-transform:inherit;letter-spacing:inherit;transition:color var(--dur-press) var(--ease-standard)}.tbl th button:hover,.tbl th[aria-sort] button{color:var(--ink-primary)}.tbl th[aria-sort] button:after{content:"";width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-1px)}.tbl th[aria-sort=ascending] button:after{transform:rotate(-135deg) translateY(-1px)}.tbl th.n button{flex-direction:row-reverse}.cellstack{display:flex;align-items:center;gap:var(--s4);min-width:0}.cellstack>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rows{display:flex;flex-direction:column}.row{display:flex;align-items:center;gap:var(--s5);min-height:var(--row-h);padding:var(--s3) var(--s6);border-bottom:1px solid var(--line-hairline);transition:background var(--dur-state) var(--ease-standard)}.row:last-child{border-bottom:0}.row:hover{background:var(--surface-raised)}.row-main{flex:1;min-width:0}.row-title{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink-primary)}.row-sub{font-size:var(--text-xs);color:var(--ink-tertiary)}.row-end{margin-left:auto;display:flex;align-items:center;gap:var(--s5)}.banner{display:flex;align-items:center;gap:var(--s5);padding:var(--s4) var(--s6);font-size:var(--text-sm);color:var(--ink-primary);background:var(--surface-inset);border-left:2px solid var(--line-control);border-radius:var(--radius-control)}.banner.warn{background:var(--caution-wash);border-left-color:var(--caution)}.banner.bad{background:var(--critical-wash);border-left-color:var(--critical)}.banner.good{background:var(--success-wash);border-left-color:var(--success)}.banner .btn{margin-left:auto}.empty{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s4);padding:var(--s9) var(--s7);color:var(--ink-tertiary);font-size:var(--text-sm);max-width:46ch}.empty strong{color:var(--ink-primary);font-size:var(--text-base);font-weight:var(--weight-medium)}.skel{background:linear-gradient(90deg,var(--surface-inset) 0%,var(--surface-raised) 50%,var(--surface-inset) 100%);background-size:200% 100%;border-radius:var(--radius-control);animation:skel 1.4s var(--ease-standard) infinite}@keyframes skel{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){:root{--dur-press:1ms;--dur-state:1ms;--dur-move:1ms;--dur-slide:1ms }*{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}svg.tt-viz{display:block;width:100%;height:100%}svg.tt-viz-hero{height:auto}svg.tt-viz .k-line{stroke:var(--line-standard)}svg.tt-viz .k-rail{stroke:var(--line-control-hover)}svg.tt-viz .k-ink3{stroke:var(--ink-tertiary)}svg.tt-viz .k-ink2{stroke:var(--ink-secondary)}svg.tt-viz .k-accent{stroke:var(--accent)}svg.tt-viz .k-raised{fill:var(--surface-raised)}svg.tt-viz .k-wash{fill:var(--accent-wash)}svg.tt-viz .k-accent-f{fill:var(--accent)}svg.tt-viz text{font-family:var(--font-mono);font-size:12px;font-weight:var(--weight-body);fill:var(--ink-tertiary);font-variant-numeric:tabular-nums;paint-order:stroke;stroke:var(--surface-inset);stroke-width:3px;stroke-linejoin:round}svg.tt-viz-hero text{font-size:13px;stroke:var(--surface-sunken)}@media(max-width:880px){svg.tt-viz-hero .hy-mark{display:none}}svg.tt-viz .k-accent-t{fill:var(--accent)}@keyframes tt-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes tt-fade{0%{opacity:0}to{opacity:1}}@keyframes tt-rise{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes tt-slide-x{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:none}}@keyframes tt-ld-breathe{0%,to{opacity:1}50%{opacity:.45}}.is-visible .tt-viz-loadout .ld-rail{animation:tt-draw .8s var(--ease-enter) both}.is-visible .tt-viz-loadout .ld-ties{animation:tt-fade .6s var(--ease-standard) .3s both}.is-visible .tt-viz-loadout .ld-pile{animation:tt-rise .6s var(--ease-enter) .2s both}.is-visible .tt-viz-loadout .ld-belt{animation:tt-draw .9s var(--ease-enter) .4s both}.is-visible .tt-viz-loadout .ld-spout-in{animation:tt-fade var(--dur-slide) var(--ease-standard) .9s both}.is-visible .tt-viz-loadout .ld-spout{animation:tt-ld-breathe 4.5s linear 1.3s infinite}.is-visible .tt-viz-loadout .ld-car{animation:tt-rise var(--dur-slide) var(--ease-enter) both}.is-visible .tt-viz-loadout .ld-car-1{animation-delay:.7s}.is-visible .tt-viz-loadout .ld-car-3{animation-delay:.77s}.is-visible .tt-viz-loadout .ld-car-2{animation-delay:.84s}.is-visible .tt-viz-loadout .ld-truck{animation:tt-fade var(--dur-slide) var(--ease-standard) both}.is-visible .tt-viz-loadout .ld-truck-1{animation-delay:.76s}.is-visible .tt-viz-loadout .ld-truck-2{animation-delay:.9s}.is-visible .tt-viz-loadout .ld-truck-3{animation-delay:.83s}.is-visible .tt-viz-loadout .ld-wash{animation:tt-fade .6s var(--ease-standard) 1.1s both}.is-visible .tt-viz-loadout .ld-level{animation:tt-draw .7s var(--ease-enter) 1.1s both}.is-visible .tt-viz-loadout .ld-mark{animation:tt-rise var(--dur-slide) var(--ease-enter) 1.5s both}@keyframes tt-ut-flow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-36}}.is-visible .tt-viz-unittrain .ut-main{animation:tt-draw .9s var(--ease-enter) both}.is-visible .tt-viz-unittrain .ut-siding{animation:tt-draw .9s var(--ease-enter) .16s both}.is-visible .tt-viz-unittrain .ut-ties{animation:tt-fade .6s var(--ease-standard) .4s both}.is-visible .tt-viz-unittrain .ut-car{animation:tt-rise var(--dur-slide) var(--ease-enter) both}.is-visible .tt-viz-unittrain .ut-car-1{animation-delay:.62s}.is-visible .tt-viz-unittrain .ut-car-2{animation-delay:.68s}.is-visible .tt-viz-unittrain .ut-car-3{animation-delay:.74s}.is-visible .tt-viz-unittrain .ut-car-4{animation-delay:.8s}.is-visible .tt-viz-unittrain .ut-car-5{animation-delay:.86s}.is-visible .tt-viz-unittrain .ut-car-6{animation-delay:.92s}.is-visible .tt-viz-unittrain .ut-car-7{animation-delay:.98s}.is-visible .tt-viz-unittrain .ut-car-8{animation-delay:1.04s}.is-visible .tt-viz-unittrain .ut-car-9{animation-delay:1.1s}.is-visible .tt-viz-unittrain .ut-loco{animation:tt-rise var(--dur-slide) var(--ease-enter) 1.16s both}.is-visible .tt-viz-unittrain .ut-man{animation:tt-rise var(--dur-slide) var(--ease-enter) both}.is-visible .tt-viz-unittrain .ut-man-1{animation-delay:1s}.is-visible .tt-viz-unittrain .ut-man-2{animation-delay:1.07s}.is-visible .tt-viz-unittrain .ut-man-3{animation-delay:1.14s}.is-visible .tt-viz-unittrain .ut-fig{animation:tt-rise var(--dur-slide) var(--ease-enter) 1.3s both}.is-visible .tt-viz-unittrain .ut-flow{animation:tt-ut-flow 4.4s linear 1.4s infinite,tt-fade var(--dur-slide) var(--ease-standard) 1.4s both}@keyframes tt-tl-blink{0%,62%{opacity:1}72%{opacity:.3}82%,to{opacity:1}}.is-visible .tt-viz-transload .tl-rail{animation:tt-draw .8s var(--ease-enter) both}.is-visible .tt-viz-transload .tl-ties{animation:tt-fade .6s var(--ease-standard) .26s both}.is-visible .tt-viz-transload .tl-car{animation:tt-rise var(--dur-slide) var(--ease-enter) .32s both}.is-visible .tt-viz-transload .tl-pit{animation:tt-draw .7s var(--ease-enter) .52s both}.is-visible .tt-viz-transload .tl-belt{animation:tt-draw .8s var(--ease-enter) .72s both}.is-visible .tt-viz-transload .tl-head{animation:tt-fade var(--dur-slide) var(--ease-standard) 1s both}.is-visible .tt-viz-transload .tl-pile{animation:tt-rise .6s var(--ease-enter) 1s both}.is-visible .tt-viz-transload .tl-ground{animation:tt-draw .7s var(--ease-enter) 1.12s both}.is-visible .tt-viz-transload .tl-deck{animation:tt-fade var(--dur-slide) var(--ease-standard) 1.32s both}.is-visible .tt-viz-transload .tl-truck{animation:tt-rise .6s var(--ease-enter) 1.4s both}.is-visible .tt-viz-transload .tl-fig-in{animation:tt-rise var(--dur-slide) var(--ease-enter) 1.66s both}.is-visible .tt-viz-transload .tl-fig{animation:tt-tl-blink 5s linear 2s infinite}@keyframes tt-hy-pulse{0%{stroke-dashoffset:0}to{stroke-dashoffset:-100}}@keyframes tt-hy-breathe{0%,to{opacity:1}50%{opacity:.4}}.is-visible .tt-viz-hero .hy-ties{animation:tt-fade .6s var(--ease-standard) .2s both}.is-visible .tt-viz-hero .hy-rail{animation:tt-draw 1.1s var(--ease-enter) both}.is-visible .tt-viz-hero .hy-rail-2{animation-delay:90ms}.is-visible .tt-viz-hero .hy-rail-3{animation-delay:.18s}.is-visible .tt-viz-hero .hy-rail-4{animation-delay:.27s}.is-visible .tt-viz-hero .hy-rail-5{animation-delay:.36s}.is-visible .tt-viz-hero .hy-rail-6{animation-delay:.45s}.is-visible .tt-viz-hero .hy-car{animation:tt-rise .6s var(--ease-enter) both}.is-visible .tt-viz-hero .hy-in-1{animation-delay:.7s}.is-visible .tt-viz-hero .hy-in-2{animation-delay:.77s}.is-visible .tt-viz-hero .hy-in-3{animation-delay:.84s}.is-visible .tt-viz-hero .hy-car-1{animation-delay:.91s}.is-visible .tt-viz-hero .hy-car-2{animation-delay:.98s}.is-visible .tt-viz-hero .hy-car-3{animation-delay:1.05s}.is-visible .tt-viz-hero .hy-car-4{animation-delay:1.12s}.is-visible .tt-viz-hero .hy-car-5{animation-delay:1.19s}.is-visible .tt-viz-hero .hy-car-6{animation-delay:1.26s}.is-visible .tt-viz-hero .hy-car-7{animation-delay:1.33s}.is-visible .tt-viz-hero .hy-car-8{animation-delay:1.4s}.is-visible .tt-viz-hero .hy-car-9{animation-delay:1.47s}.is-visible .tt-viz-hero .hy-node{animation:tt-rise var(--dur-slide) var(--ease-enter) both}.is-visible .tt-viz-hero .hy-node-1{animation-delay:1.2s}.is-visible .tt-viz-hero .hy-node-2{animation-delay:1.27s}.is-visible .tt-viz-hero .hy-node-3{animation-delay:1.34s}.is-visible .tt-viz-hero .hy-dot{animation:tt-hy-breathe 5s linear 1.8s infinite}.is-visible .tt-viz-hero .hy-route{animation:tt-fade .6s var(--ease-standard) 1.4s both}.is-visible .tt-viz-hero .hy-move{animation:tt-fade .6s var(--ease-standard) 1.6s both}.is-visible .tt-viz-hero .hy-pulse{animation:tt-hy-pulse 4s linear 2.1s infinite,tt-fade var(--dur-slide) var(--ease-standard) 2.1s both}:root{--tt-nav-h: calc(var(--s9) * 2);--tt-wordmark-h: var(--s8);--tt-wordmark-h-sm: var(--s7);--tt-well-h: 120px;--tt-hero-viz-min: calc(var(--s12) * 4 + var(--s9));--leading-caps: 1.4}html{scroll-behavior:smooth;scroll-padding-top:var(--tt-nav-h)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{min-height:100vh}.tt-wrap{width:100%;max-width:1120px;margin-inline:auto;padding-inline:var(--s9)}.tt-section{padding-block:var(--s12);border-top:1px solid var(--line-standard);scroll-margin-top:var(--tt-nav-h)}.tt-section-raised{background:var(--surface)}.tt-skip{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.tt-skip:focus{position:fixed;left:var(--s6);top:var(--s6);z-index:70;display:inline-flex;align-items:center;width:auto;height:var(--control-h);padding-inline:var(--s5);overflow:visible;clip-path:none;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink-primary);background:var(--surface-overlay);border:1px solid var(--line-control);border-radius:var(--radius-control);text-decoration:none}a.btn,a.btn:hover{text-decoration:none}.tt-head{margin-bottom:var(--s10)}.tt-head-rule{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s6);padding-bottom:var(--s4);border-bottom:1px solid var(--line-standard)}.tt-head-range{flex:none;font-size:var(--text-micro);line-height:var(--leading-caps);color:var(--ink-tertiary)}.tt-head>h2{margin-top:var(--s7);max-width:26ch;font-size:var(--text-3xl);line-height:var(--leading-flat);letter-spacing:var(--track-display);text-wrap:balance}.tt-head-intro{margin-top:var(--s6);max-width:62ch;font-size:var(--text-md);color:var(--ink-secondary)}.tt-nav{position:sticky;top:0;z-index:50;height:var(--tt-nav-h);background:color-mix(in oklab,var(--surface-sunken) 85%,transparent);border-bottom:1px solid var(--line-hairline);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background var(--dur-move) var(--ease-standard),border-color var(--dur-move) var(--ease-standard)}.tt-nav.is-condensed{background:color-mix(in oklab,var(--surface) 92%,transparent);border-bottom-color:var(--line-standard)}.tt-nav-inner{display:flex;align-items:center;gap:var(--s9);height:100%}.tt-brand{display:inline-flex;align-items:center;min-height:var(--control-h);color:var(--ink-primary);transition:color var(--dur-press) var(--ease-standard)}.tt-brand:hover{color:var(--ink-primary);text-decoration:none}.tt-brand .tt-wordmark{display:block;height:var(--tt-wordmark-h);width:auto}.tt-nav-links{display:flex;align-items:center;gap:var(--s8);margin-left:auto}.tt-nav-link{position:relative;display:inline-flex;align-items:center;min-height:var(--control-h);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--ink-secondary);transition:color var(--dur-press) var(--ease-standard)}.tt-nav-link:hover,.tt-nav-link.is-active{color:var(--ink-primary);text-decoration:none}.tt-nav-link:after{content:"";position:absolute;left:0;right:0;bottom:var(--s3);height:1px;background:var(--accent);opacity:0;transition:opacity var(--dur-press) var(--ease-standard)}.tt-nav-link:hover:after,.tt-nav-link.is-active:after{opacity:1}.tt-nav-cta{flex:none}.tt-burger{display:none;flex:none;margin-left:auto}.tt-menu{position:fixed;inset:0;z-index:60;display:block}.tt-menu[hidden]{display:none}.tt-menu-scrim{position:absolute;inset:0;background:var(--scrim)}.tt-menu-panel{position:absolute;top:var(--s4);right:var(--s4);left:var(--s4);display:flex;flex-direction:column;gap:var(--s1);padding:var(--s5)}.tt-menu-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s6);padding:0 var(--s3) var(--s5);margin-bottom:var(--s3);border-bottom:1px solid var(--line-hairline);color:var(--ink-primary)}.tt-menu-head .tt-wordmark{display:block;height:var(--tt-wordmark-h-sm);width:auto}.tt-menu-link{display:flex;align-items:center;min-height:var(--row-h);padding-inline:var(--s3);font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--ink-secondary);border-radius:var(--radius-control);transition:color var(--dur-state) var(--ease-standard),background var(--dur-state) var(--ease-standard)}.tt-menu-link:hover{color:var(--ink-primary);background:var(--surface-raised);text-decoration:none}.tt-menu-cta{width:100%;margin-top:var(--s5)}body.tt-noscroll{overflow:hidden}.tt-hero{padding-block:var(--s12);scroll-margin-top:var(--tt-nav-h)}.tt-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(var(--tt-hero-viz-min),.8fr);align-items:center;gap:var(--s11)}.tt-hero h1{margin-top:var(--s5);font-size:var(--text-4xl);line-height:var(--leading-flat);letter-spacing:var(--track-display);text-wrap:balance}.tt-hero-body{margin-top:var(--s7);max-width:56ch;font-size:var(--text-md);color:var(--ink-secondary)}.tt-hero-actions{display:flex;flex-wrap:wrap;gap:var(--s5);margin-top:var(--s9)}.tt-hero-viz{width:100%}.tt-contexts{padding-block:var(--s9);background:var(--surface);border-top:1px solid var(--line-standard)}.tt-contexts-inner{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s5) var(--s7)}.tt-contexts-list{display:flex;flex-wrap:wrap;gap:var(--s4)}.tt-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,auto);gap:var(--s6)}.tt-card{display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:0;padding:var(--s8);background:var(--surface-raised);border:1px solid var(--line-standard);border-radius:var(--radius-surface)}.tt-card-n{font-size:var(--text-micro);line-height:var(--leading-caps);color:var(--ink-tertiary)}.tt-viz-well{height:var(--tt-well-h);margin-top:var(--s5);overflow:hidden;background:var(--surface-inset);border:1px solid var(--line-hairline);border-radius:var(--radius-inner)}.tt-card h3{margin-top:var(--s6);font-size:var(--text-lg)}.tt-card-detail{margin-top:var(--s3);font-size:var(--text-sm);color:var(--ink-secondary)}.tt-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s6)}.tt-step{display:flex;flex-direction:column;padding:var(--s8);background:var(--surface-raised);border:1px solid var(--line-standard);border-radius:var(--radius-surface)}.tt-step-n{padding-bottom:var(--s5);border-bottom:1px solid var(--line-hairline);font-size:var(--text-2xl);font-weight:var(--weight-medium);line-height:var(--leading-flat);letter-spacing:var(--track-display);color:var(--ink-tertiary)}.tt-step h3{margin-top:var(--s6);font-size:var(--text-lg)}.tt-step p{margin-top:var(--s4);font-size:var(--text-base);color:var(--ink-secondary)}.tt-why{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;background:var(--surface-raised);border:1px solid var(--line-standard);border-radius:var(--radius-surface)}.tt-why-cell{padding:var(--s9) var(--s8);border-right:1px solid var(--line-hairline)}.tt-why-cell:last-child{border-right:0}.tt-why-cell h3{font-size:var(--text-lg)}.tt-why-cell p{margin-top:var(--s4);max-width:46ch;font-size:var(--text-base);color:var(--ink-secondary)}.tt-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:var(--s11)}.tt-contact-col{display:flex;flex-direction:column}.tt-contact-grid .tt-head{margin-bottom:0}.tt-contact-body{margin-top:var(--s7);max-width:52ch;font-size:var(--text-md);color:var(--ink-secondary)}.tt-contact-sig{display:flex;align-items:center;gap:var(--s5);margin-top:0;padding-top:var(--s10);padding-bottom:var(--s6);border-bottom:1px solid var(--line-hairline)}.tt-contact-sig .tt-mark{display:block;flex:none;height:var(--tt-wordmark-h-sm);width:auto;color:var(--ink-secondary)}.tt-contact-footnote{font-size:var(--text-sm);color:var(--ink-secondary)}.tt-form{padding:var(--s9);background:var(--surface-raised);border:1px solid var(--line-standard);border-radius:var(--radius-surface)}.tt-form .label .hint{margin-left:var(--s3);font-family:var(--font-sans);font-size:var(--text-xs);text-transform:none;letter-spacing:var(--track-body)}.tt-form-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s6)}.tt-form>.form-row+.form-row,.tt-form>.tt-form-pair+.form-row{margin-top:var(--s6)}.tt-form textarea.field{min-height:calc(var(--s12) + var(--s11))}.tt-form-submit{width:100%;margin-top:var(--s7)}.tt-form-error{margin-top:var(--s5)}.tt-form-success{align-items:flex-start;padding:var(--s7) var(--s8)}.tt-form-success[hidden]{display:none}.tt-form-success strong{display:block;font-size:var(--text-md);font-weight:var(--weight-medium)}.tt-form-success p{margin-top:var(--s2);font-size:var(--text-sm);color:var(--ink-secondary)}.tt-footer{border-top:1px solid var(--green-700);background:var(--surface-brand)}.tt-footer-top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--s6) var(--s9);padding-block:var(--s9)}.tt-footer-top .tt-wordmark{display:block;height:var(--tt-wordmark-h-sm);width:auto;color:var(--ink-primary)}.tt-footer-blurb{margin-top:var(--s5);max-width:40ch;font-size:var(--text-sm);color:var(--ink-tertiary)}.tt-footer-links{display:flex;flex-wrap:wrap;gap:var(--s4) var(--s8)}.tt-footer-link{display:inline-flex;align-items:center;min-height:var(--control-h);font-size:var(--text-sm);color:var(--ink-secondary);transition:color var(--dur-press) var(--ease-standard)}.tt-footer-link:hover{color:var(--ink-primary);text-decoration:none}.tt-footer-legal{padding-block:var(--s6);border-top:1px solid var(--line-hairline);font-size:var(--text-micro);color:var(--ink-tertiary)}html.js [data-reveal]{opacity:0;translate:0 6px;transition:opacity var(--dur-slide) var(--ease-enter),translate var(--dur-slide) var(--ease-enter);transition-delay:var(--reveal-delay, 0ms)}html.js [data-reveal].is-visible{opacity:1;translate:none}@media(max-width:880px){.tt-section,.tt-hero{padding-block:var(--s10)}.tt-nav-links,.tt-nav-cta{display:none}.tt-burger{display:inline-flex}.tt-hero-grid{grid-template-columns:minmax(0,1fr);gap:var(--s8)}.tt-hero-viz{order:-1;justify-self:start;max-width:calc(var(--s12) * 6)}.tt-hero h1,.tt-head>h2{font-size:var(--text-2xl)}.tt-cards{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(8,auto)}.tt-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.tt-why{grid-template-columns:minmax(0,1fr)}.tt-why-cell{border-right:0;border-bottom:1px solid var(--line-hairline)}.tt-why-cell:last-child{border-bottom:0}.tt-contact-grid{grid-template-columns:minmax(0,1fr);gap:var(--s9)}html.js [data-reveal]{opacity:1;translate:none;transition:none}}@media(max-width:560px){.tt-wrap{padding-inline:var(--s6)}.tt-steps{grid-template-columns:minmax(0,1fr)}.tt-cards{grid-template-columns:minmax(0,1fr);grid-template-rows:none}.tt-card{display:flex;flex-direction:column;grid-row:auto}.tt-hero-viz{max-width:100%}.tt-hero-actions{flex-direction:column;align-items:stretch}.tt-hero h1,.tt-head>h2{font-size:var(--text-xl);letter-spacing:var(--track-heading)}.tt-form{padding:var(--s7)}.tt-form-pair{grid-template-columns:minmax(0,1fr)}.tt-footer-top{justify-content:flex-start}}.tt-footer .tt-footer-blurb,.tt-footer .tt-footer-legal{color:var(--ink-secondary)}.tt-footer .tt-footer-link{color:var(--ink-primary)}.tt-footer [class*=rule],.tt-footer hr{border-color:var(--green-700)}
