@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/space-mono-400.Wy3NpCq4.woff2) format("woff2")}@font-face{font-family:Space Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/_astro/space-mono-400-italic.DqWwKfNc.woff2) format("woff2")}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_astro/space-mono-700.6NnW1qxO.woff2) format("woff2")}@font-face{font-family:Space Mono;font-style:italic;font-weight:700;font-display:swap;src:url(/_astro/space-mono-700-italic.BystHaQz.woff2) format("woff2")}.etc,.etc *{box-sizing:border-box}.etc{--c-bg: #14161A;--c-bg-deep: #0E0F12;--c-surface: #1B1E23;--c-surface-2: #21252B;--c-line: rgba(244,241,236,.1);--c-line-soft: rgba(244,241,236,.055);--c-fg: #F4F1EC;--c-fg-2: rgba(244,241,236,.6);--c-fg-3: rgba(244,241,236,.34);--c-copper: #BC7A4E;--c-copper-deep: #8A4B2A;--c-grid: rgba(244,241,236,.06);--c-green: #8ED29A;--c-red: #DD8597;--c-amber: #D9C270;--c-blue: #82A6D1;--c-pe: #2EA3C9;--c-pp: #B88B2A;--c-ps: #D94060;--c-pet: #8ED29A;--c-pvc: #D9C270;--c-pc: #82A6D1;--c-mono: "Space Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--c-serif: "Source Serif 4", Georgia, "Times New Roman", serif;--c-disp: "Sixtyfour", "Source Serif 4", Georgia, serif;--c-r: 3px;font-family:var(--c-serif);background:var(--c-bg);color:var(--c-fg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html.console-light .etc{--c-bg: #F8F8F6;--c-bg-deep: #EFEFED;--c-surface: #FDFDFC;--c-surface-2: #FFFFFF;--c-line: rgba(20,22,26,.14);--c-line-soft: rgba(20,22,26,.07);--c-fg: #1A1D22;--c-fg-2: rgba(26,29,34,.62);--c-fg-3: rgba(26,29,34,.38);--c-copper: #8A4B2A;--c-copper-deep: #6F3B20;--c-grid: rgba(20,22,26,.08);--c-green: #4F8E5C;--c-red: #A85764;--c-amber: #866E32;--c-blue: #3E6398}.etc .eyebrow,.etc .snum{font-family:var(--c-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--c-fg-2)}.etc .mono{font-family:var(--c-mono);font-variant-numeric:tabular-nums}.etc .num{font-family:var(--c-mono);font-variant-numeric:tabular-nums;letter-spacing:.01em;font-weight:400}.etc .serif-h{font-family:var(--c-serif);font-weight:500;font-size:18px;letter-spacing:-.01em;color:var(--c-fg);margin:0}.etc .panel{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--c-r);display:flex;flex-direction:column;min-height:0;min-width:0}.etc .panel-h{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--c-line);flex:0 0 auto}.etc .panel-h .title{font-family:var(--c-mono);font-size:12px;font-weight:400;letter-spacing:.13em;text-transform:uppercase;color:var(--c-fg)}.etc .panel-h .meta{margin-left:auto;font-family:var(--c-mono);font-size:11px;letter-spacing:.06em;color:var(--c-fg-3)}.etc .panel-b{padding:16px;flex:1 1 auto;min-height:0}.etc .card{background:var(--c-surface);border-radius:var(--c-r);display:flex;flex-direction:column;min-height:0;min-width:0}html.console-light .etc .card{box-shadow:inset 0 0 0 1px var(--c-line-soft)}.etc .card-h{display:flex;align-items:center;gap:10px;padding:14px 16px 0;flex:0 0 auto}.etc .card-h .title{font-family:var(--c-mono);font-size:12px;font-weight:400;letter-spacing:.13em;text-transform:uppercase;color:var(--c-fg)}.etc .card-h .meta{margin-left:auto;font-family:var(--c-mono);font-size:11px;letter-spacing:.05em;color:var(--c-fg-3)}.etc .card-b{padding:14px 16px 16px;flex:1 1 auto;min-height:0}.etc .pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--c-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:4px 9px;border-radius:999px;border:1px solid var(--c-line);color:var(--c-fg-2);white-space:nowrap}.etc .pill:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:0 0 auto}.etc .pill.live{color:var(--c-copper);border-color:color-mix(in srgb,var(--c-copper) 45%,transparent)}.etc .pill.ok{color:var(--c-green)}.etc .pill.warn{color:var(--c-amber)}.etc .pill.fault{color:var(--c-red)}.etc .pill.idle{color:var(--c-blue)}.etc .pill.live:before{animation:etc-pulse 1.4s ease-in-out infinite}@keyframes etc-pulse{0%,to{opacity:1}50%{opacity:.5}}.etc .dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto;display:inline-block;background:var(--c-fg-3)}.etc .dot.ok{background:var(--c-green)}.etc .dot.warn{background:var(--c-amber)}.etc .dot.fault{background:var(--c-red)}.etc .dot.idle{background:var(--c-blue)}.etc .dot.live{background:var(--c-copper);animation:etc-pulse 1.4s ease-in-out infinite}.etc .dot.off{background:var(--c-fg-3)}.etc .ebtn{font-family:var(--c-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--c-line);background:transparent;color:var(--c-fg);padding:9px 16px;border-radius:var(--c-r);cursor:pointer;white-space:nowrap;transition:border-color .15s,color .15s,background .15s;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.etc .ebtn:hover{border-color:var(--c-copper);color:var(--c-copper);background:color-mix(in srgb,var(--c-copper) 7%,transparent)}.etc .ebtn:disabled{opacity:.45;cursor:not-allowed}.etc .ebtn:disabled:hover{border-color:var(--c-line);color:var(--c-fg);background:transparent}.etc .ebtn.primary{border-color:var(--c-copper);color:var(--c-bg);background:var(--c-copper)}.etc .ebtn.primary:hover{background:var(--c-copper-deep);border-color:var(--c-copper-deep);color:var(--c-bg)}.etc .ebtn.danger:hover{border-color:var(--c-red);color:var(--c-red);background:color-mix(in srgb,var(--c-red) 8%,transparent)}.etc .ebtn.sm{padding:6px 10px;font-size:10.5px}.etc .icon-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--c-line);border-radius:var(--c-r);background:transparent;color:var(--c-fg-2);cursor:pointer;transition:border-color .15s,color .15s}.etc .icon-btn:hover{border-color:var(--c-copper);color:var(--c-copper)}.etc .seg{display:inline-flex;border:1px solid var(--c-line);border-radius:var(--c-r);overflow:hidden}.etc .seg button{font-family:var(--c-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;background:transparent;border:none;border-right:1px solid var(--c-line);color:var(--c-fg-3);padding:7px 12px;cursor:pointer;transition:background .14s,color .14s}.etc .seg button:last-child{border-right:none}.etc .seg button:hover{color:var(--c-fg)}.etc .seg button[aria-checked=true]{background:color-mix(in srgb,var(--c-fg) 8%,transparent);color:var(--c-fg)}.etc .readout{display:flex;flex-direction:column;gap:4px}.etc .readout .v{font-family:var(--c-mono);font-size:16px;font-weight:500;line-height:1;color:var(--c-fg);font-variant-numeric:tabular-nums;letter-spacing:0}.etc .readout .v small{font-size:11px;font-weight:400;color:var(--c-fg-3);letter-spacing:.04em;margin-left:3px}.etc .readout .k{font-family:var(--c-mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--c-fg-3)}.etc table.tbl{width:100%;border-collapse:collapse;font-family:var(--c-mono)}.etc table.tbl th{font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--c-fg-3);text-align:left;font-weight:400;padding:9px 12px;border-bottom:1px solid var(--c-line)}.etc table.tbl td{font-size:12.5px;font-weight:400;color:var(--c-fg);padding:10px 12px;border-bottom:1px solid var(--c-line-soft);font-variant-numeric:tabular-nums}.etc table.tbl tr:last-child td{border-bottom:none}.etc table.tbl td.r,.etc table.tbl th.r{text-align:right}.etc table.tbl tr.sel td{background:color-mix(in srgb,var(--c-copper) 10%,transparent)}.etc table.tbl tr.run td{background:color-mix(in srgb,var(--c-copper) 5%,transparent)}.etc .rail-item{display:flex;align-items:center;gap:11px;padding:10px 13px;border-radius:var(--c-r);cursor:pointer;color:var(--c-fg-2);font-family:var(--c-mono);font-size:12px;letter-spacing:.06em;border:1px solid transparent;text-decoration:none;transition:background .14s,color .14s,border-color .14s}.etc .rail-item:hover{color:var(--c-fg);background:color-mix(in srgb,var(--c-fg) 5%,transparent)}.etc .rail-item.active{color:var(--c-fg);background:color-mix(in srgb,var(--c-copper) 12%,transparent);border-color:color-mix(in srgb,var(--c-copper) 30%,transparent)}.etc .rail-clean .rail-item.active{border-color:transparent}.etc .rail-item .ico{width:16px;height:16px;flex:0 0 auto;color:currentColor}.etc .hr{height:1px;background:var(--c-line);border:0}.etc .vr{width:1px;align-self:stretch;background:var(--c-line)}.etc canvas{display:block}html.console-light .etc .crest-img{filter:invert(1)}.etc .scroll{overflow:auto;min-height:0}.etc .scroll::-webkit-scrollbar{width:0;height:0}.etc .bar{height:3px;background:var(--c-line);border-radius:999px;overflow:hidden}.etc .bar>i{display:block;height:100%;background:var(--c-copper);border-radius:999px;transition:width .2s ease}.etc .conf{display:flex;align-items:center;gap:8px}.etc .conf .track{flex:1;height:4px;background:var(--c-line);border-radius:999px;overflow:hidden}.etc .conf .track>i{display:block;height:100%;border-radius:999px;background:var(--c-copper)}.etc input[type=text],.etc input[type=password],.etc input[type=number],.etc select,.etc textarea{font-family:var(--c-mono);font-size:12.5px;color:var(--c-fg);background:var(--c-surface-2);border:1px solid var(--c-line);border-radius:var(--c-r);padding:8px 11px;outline:none;transition:border-color .15s}.etc input:focus,.etc select:focus,.etc textarea:focus{border-color:var(--c-copper)}.etc input[type=file]{display:none}.etc .log-line{display:flex;gap:8px;padding:2px 0;font-family:var(--c-mono);font-size:11.5px;line-height:1.55}.etc .log-line .t{color:var(--c-fg-3);flex-shrink:0}.etc .log-line .m{color:var(--c-fg-2)}.etc .console-toggle-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:10px 6px;border-radius:var(--c-r);cursor:pointer;user-select:none;font-family:var(--c-mono);text-align:center;color:var(--c-fg);background:var(--c-surface-2);border:1px solid color-mix(in srgb,var(--c-fg) 22%,transparent);transition:color .14s,border-color .14s,background .14s,transform .08s}.etc .console-toggle-chip:hover{border-color:var(--c-copper);background:color-mix(in srgb,var(--c-copper) 10%,var(--c-surface-2))}.etc .console-toggle-chip:active{transform:scale(.98)}.etc .console-toggle-chip:focus-visible{outline:1px solid var(--c-copper);outline-offset:2px}.etc .console-toggle-chip.on,.etc .console-toggle-chip[aria-pressed=true]{color:#fff;background:var(--c-copper);border-color:var(--c-copper)}.etc .console-toggle-chip.on:hover,.etc .console-toggle-chip[aria-pressed=true]:hover{background:var(--c-copper-deep);border-color:var(--c-copper-deep)}.etc .console-toggle-chip-name{font-size:11.5px;font-weight:700;letter-spacing:.02em;color:inherit}.etc .console-toggle-chip-sub{font-size:9.5px;color:var(--c-fg-3);font-variant-numeric:tabular-nums}.etc .console-toggle-chip.on .console-toggle-chip-sub,.etc .console-toggle-chip[aria-pressed=true] .console-toggle-chip-sub{color:#ffffffc7}.etc .metrics-grid .metric-k{font-family:var(--c-mono);font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--c-fg-3);display:block;margin-bottom:4px}.etc .metrics-grid .metric-v{font-family:var(--c-mono);font-size:16px;font-weight:500;color:var(--c-fg);font-variant-numeric:tabular-nums}.etc .csv-file-item{display:flex;align-items:center;gap:10px;padding:7px 11px;background:var(--c-surface-2);border-radius:var(--c-r);margin-bottom:5px;font-family:var(--c-mono)}.etc .csv-file-name{font-size:11px;color:var(--c-fg);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.etc .csv-file-meta{font-size:10px;color:var(--c-fg-3);font-variant-numeric:tabular-nums;flex:0 0 auto}.etc .csv-file-remove{background:none;border:none;cursor:pointer;color:var(--c-fg-3);font-size:15px;line-height:1;padding:0 2px;flex:0 0 auto;transition:color .14s}.etc .csv-file-remove:hover{color:var(--c-red)}.etc #mj-plot-2d canvas{display:block}@media(max-width:900px){.etc .rail-collapse{display:none!important}}html,body.console-body{margin:0;height:100%;background:#14161a;color:#f4f1ec;font-family:"Source Serif 4",Georgia,serif}html.console-light,html.console-light body.console-body{background:#f8f8f6;color:#1a1d22}.gate{position:fixed;inset:0;z-index:100;background:#14161a;display:flex;align-items:center;justify-content:center}.gate-box{display:flex;flex-direction:column;gap:.6rem;width:280px}.gate-label{font-family:Space Mono,monospace;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:#f4f1ec99}.gate-input{background:#21252b;border:1px solid rgba(244,241,236,.1);border-radius:3px;padding:9px 11px;font-family:Space Mono,monospace;font-size:13px;color:#f4f1ec;outline:none;transition:border-color .16s ease}.gate-input:focus{border-color:#bc7a4e}.gate-error{font-family:Space Mono,monospace;font-size:9.5px;color:#dd8597;min-height:1.2em;margin:0}.etc[data-astro-cid-k3lgor5q]{width:100%;min-height:100svh;display:flex;flex-direction:column}.topbar[data-astro-cid-k3lgor5q]{display:flex;align-items:center;gap:20px;padding:0 24px;height:64px;border-bottom:1px solid var(--c-line);flex:0 0 auto}.lockup[data-astro-cid-k3lgor5q]{display:flex;align-items:center;gap:12px}.lockup-text[data-astro-cid-k3lgor5q]{display:flex;flex-direction:column;gap:2px}.product-name[data-astro-cid-k3lgor5q]{font-size:13px;letter-spacing:.12em;font-weight:500;color:var(--c-fg)}.crest-btn[data-astro-cid-k3lgor5q]{background:transparent;border:0;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:opacity .16s ease}.crest-btn[data-astro-cid-k3lgor5q]:hover{opacity:.75}.crest-btn[data-astro-cid-k3lgor5q]:focus-visible{outline:1px solid var(--c-copper);outline-offset:4px;border-radius:2px}.crest-img-dark[data-astro-cid-k3lgor5q] svg,.crest-img-light[data-astro-cid-k3lgor5q] svg{display:block;width:36px;height:36px}.crest-img-light[data-astro-cid-k3lgor5q],html.console-light .etc[data-astro-cid-k3lgor5q] .crest-img-dark[data-astro-cid-k3lgor5q]{display:none}html.console-light .etc[data-astro-cid-k3lgor5q] .crest-img-light[data-astro-cid-k3lgor5q]{display:inline-flex}.breadcrumb[data-astro-cid-k3lgor5q]{font-size:11px;letter-spacing:.1em;color:var(--c-fg-3)}.topbar-right[data-astro-cid-k3lgor5q]{margin-left:auto;display:flex;align-items:center;gap:14px}.clock[data-astro-cid-k3lgor5q]{font-size:13px;color:var(--c-fg-2)}.topbar-demo[data-astro-cid-k3lgor5q]{font-family:var(--c-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;padding:4px 10px;border-radius:var(--c-r);border:1px dashed var(--c-amber);color:var(--c-amber);background:color-mix(in srgb,var(--c-amber) 6%,transparent)}.frame[data-astro-cid-k3lgor5q]{flex:1 1 auto;display:flex;min-height:0}.rail[data-astro-cid-k3lgor5q]{width:184px;flex:0 0 auto;padding:18px 12px;display:flex;flex-direction:column;gap:2px}.rail-label[data-astro-cid-k3lgor5q]{padding:0 12px 10px}.rail-item[data-astro-cid-k3lgor5q]{display:flex;align-items:center;gap:8px}.rail-label-text[data-astro-cid-k3lgor5q]{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-demo-tag[data-astro-cid-k3lgor5q]{font-family:var(--c-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--c-amber);flex:0 0 auto}.rail-section[data-astro-cid-k3lgor5q]{display:flex;align-items:center;gap:8px;padding:16px 13px 6px}.rail-section[data-astro-cid-k3lgor5q]:first-child{padding-top:0}.rail-section-label[data-astro-cid-k3lgor5q]{font-family:var(--c-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--c-fg-3);font-weight:700}.rail-sites[data-astro-cid-k3lgor5q]{margin-top:auto;padding:0 12px}.rail-sites-label[data-astro-cid-k3lgor5q]{margin-bottom:10px}.rail-site[data-astro-cid-k3lgor5q]{display:flex;align-items:center;gap:8px;padding:4px 0}.rail-site-code[data-astro-cid-k3lgor5q]{font-size:11px;color:var(--c-fg-2)}.content[data-astro-cid-k3lgor5q]{flex:1 1 auto;display:flex;flex-direction:column;gap:14px;padding:18px 22px 18px 8px;min-width:0;min-height:0}@media(max-width:900px){.content[data-astro-cid-k3lgor5q]{padding:14px}}.kv-row[data-astro-cid-qpso2a6o]{display:flex;justify-content:space-between;align-items:baseline;padding:6px 0}.kv-k[data-astro-cid-qpso2a6o]{font-size:10px;color:var(--c-fg-2)}.kv-v[data-astro-cid-qpso2a6o]{font-size:11px;color:var(--c-fg)}
