@font-face{font-family:Chakra Petch;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/3926fa88ed32c251-s.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c3206c67a3393998-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b7d7f401753dc0c4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6681946d7a6ccbb7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/1fc9a8acda3903f0-s.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/7b750d5bfef15842-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/2a7c45462b39533e-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/4c7c43bdd7a35c63-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8d541ca8617572f0-s.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/3955bbd902881c26-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/f6d84cc3be9d6158-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/84f090e3b62fb9e3-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Chakra Petch Fallback;src:local("Arial");ascent-override:96.77%;descent-override:30.05%;line-gap-override:0.00%;size-adjust:102.51%}.__className_dacc69{font-family:Chakra Petch,Chakra Petch Fallback;font-style:normal}.__variable_dacc69{--font-display:"Chakra Petch","Chakra Petch Fallback"}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans Fallback;src:local("Arial");ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.00%;size-adjust:101.17%}.__className_1bc20f{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.__variable_1bc20f{--font-body:"IBM Plex Sans","IBM Plex Sans Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_6d24ac{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_6d24ac{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}:root{--bg:#0a0c0e;--bg-raised:#101317;--bg-panel:#14181d;--line:#232a31;--line-bright:#39434d;--ink:#d7dde2;--ink-dim:#8b95a0;--ink-faint:#7d8794;--amber:#f2a33c;--amber-dim:rgba(242,163,60,.14);--green:#4cc38a;--green-dim:rgba(76,195,138,.12);--red:#e5534b;--red-dim:rgba(229,83,75,.12);--blue:#539bf5;--blue-dim:rgba(83,155,245,.12);--radius:3px}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--bg);color:var(--ink);font-family:var(--font-body),sans-serif;font-size:14px;line-height:1.55;min-height:100vh}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 2px,hsla(0,0%,100%,.012) 2px 4px),radial-gradient(ellipse 80% 50% at 50% -10%,rgba(242,163,60,.05),transparent 60%);z-index:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}*{scrollbar-width:thin;scrollbar-color:var(--line-bright) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-bright);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--ink-faint)}.btn:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--amber);outline-offset:2px;border-radius:var(--radius)}.rail nav a:focus-visible{outline-offset:-2px}.skip-link{position:absolute;left:8px;top:-40px;z-index:10;background:var(--amber);color:#14100a;padding:6px 12px;border-radius:var(--radius);font-family:var(--font-mono),monospace;font-size:12px;transition:top .12s}.skip-link:focus{top:8px}.mono{font-family:var(--font-mono),monospace}.shell{display:flex;min-height:100vh;position:relative;z-index:1}.rail{width:216px;flex-shrink:0;border-right:1px solid var(--line);background:var(--bg-raised);padding:20px 0;display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh}.rail-brand{padding:0 20px 18px;border-bottom:1px solid var(--line);margin-bottom:14px}.rail-brand .mark{font-family:var(--font-display),sans-serif;font-weight:700;font-size:15px;letter-spacing:.04em;color:var(--amber)}.rail-brand .sub{font-family:var(--font-mono),monospace;font-size:10px;color:var(--ink-faint);letter-spacing:.14em;text-transform:uppercase;margin-top:2px}.rail nav{display:flex;flex-direction:column;gap:1px;padding:0 10px}.rail nav .section{font-family:var(--font-mono),monospace;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);padding:14px 10px 5px}.rail nav a{padding:7px 10px;border-radius:var(--radius);color:var(--ink-dim);font-size:13.5px;border-left:2px solid transparent;transition:color .12s,background .12s}.rail nav a:hover{color:var(--ink);background:hsla(0,0%,100%,.03)}.rail nav a.active{color:var(--amber);background:var(--amber-dim);border-left-color:var(--amber)}.rail .foot{margin-top:auto;padding:14px 20px 0;border-top:1px solid var(--line);color:var(--ink-faint)}.rail .foot,.rail .foot button{font-family:var(--font-mono),monospace;font-size:10.5px}.rail .foot button{background:none;border:none;color:var(--ink-dim);letter-spacing:.1em;text-transform:uppercase;padding:0}.rail .foot button:hover{color:var(--red)}.main{flex:1 1;min-width:0;padding:30px 38px 60px;max-width:1180px}.page-head{margin-bottom:26px}.page-head h1{font-family:var(--font-display),sans-serif;font-size:22px;font-weight:600;letter-spacing:.02em}.page-head .crumb{font-family:var(--font-mono),monospace;font-size:11px;color:var(--ink-faint);letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}.page-head p{color:var(--ink-dim);margin-top:4px;max-width:640px}.panel{background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;margin-bottom:18px;overflow-x:auto}.panel h2{font-family:var(--font-mono),monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:14px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-family:var(--font-mono),monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-weight:500;padding:8px 12px;border-bottom:1px solid var(--line-bright)}td{padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top}tr:hover td{background:hsla(0,0%,100%,.018)}td.mono,th.mono{font-size:12.5px}.badge,td.mono,th.mono{font-family:var(--font-mono),monospace}.badge{display:inline-block;padding:2px 9px;border-radius:2px;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;border:1px solid transparent}.badge.ok{color:var(--green);background:var(--green-dim);border-color:rgba(76,195,138,.35)}.badge.warn{color:var(--amber);background:var(--amber-dim);border-color:rgba(242,163,60,.35)}.badge.bad{color:var(--red);background:var(--red-dim);border-color:rgba(229,83,75,.35)}.badge.info{color:var(--blue);background:var(--blue-dim);border-color:rgba(83,155,245,.35)}.badge.neutral{color:var(--ink-dim);background:hsla(0,0%,100%,.04);border-color:var(--line-bright)}.stage-rail{display:flex;align-items:flex-start;gap:0;overflow-x:auto;padding:10px 2px 4px}.stage-node{display:flex;flex-direction:column;align-items:center;min-width:96px;position:relative}.stage-node:not(:last-child):after{content:"";position:absolute;top:9px;left:calc(50% + 12px);width:calc(100% - 24px);height:2px;background:var(--line-bright)}.stage-node.done:not(:last-child):after{background:var(--green)}.stage-node.failed:not(:last-child):after{background:var(--red)}.stage-dot{width:18px;height:18px;border-radius:50%;border:2px solid var(--line-bright);background:var(--bg);z-index:1;transition:all .2s}.stage-node.done .stage-dot{border-color:var(--green);background:var(--green);box-shadow:0 0 8px rgba(76,195,138,.5)}.stage-node.failed .stage-dot{border-color:var(--red);background:var(--red);box-shadow:0 0 8px rgba(229,83,75,.5)}.stage-node.running .stage-dot{border-color:var(--amber);animation:pulse 1.2s ease-in-out infinite}.stage-node.skipped .stage-dot{border-style:dashed}.stage-label{margin-top:7px;font-family:var(--font-mono),monospace;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);text-align:center;max-width:92px}@keyframes pulse{0%,to{box-shadow:0 0 0 0 rgba(242,163,60,.5)}50%{box-shadow:0 0 0 6px rgba(242,163,60,0)}}label.field{display:block;margin-bottom:14px}label.field span{display:block;font-family:var(--font-mono),monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:5px}input,select,textarea{width:100%;background:var(--bg);border:1px solid var(--line-bright);border-radius:var(--radius);color:var(--ink);padding:9px 11px;font:inherit;font-size:13.5px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--amber);box-shadow:0 0 0 2px var(--amber-dim)}.btn{display:inline-block;background:var(--amber);color:#14100a;border:none;border-radius:var(--radius);font-family:var(--font-display),sans-serif;font-weight:600;font-size:13.5px;letter-spacing:.03em;padding:10px 22px;transition:filter .12s}.btn:hover{filter:brightness(1.12)}.btn:disabled{opacity:.45;cursor:default}.btn.ghost{background:transparent;color:var(--ink-dim);border:1px solid var(--line-bright)}.btn.ghost:hover{color:var(--ink);border-color:var(--ink-faint)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:14px;gap:14px;margin-bottom:18px}.kpi{background:var(--bg-panel);border-radius:var(--radius);padding:16px 18px;border:1px solid var(--line);border-top:2px solid var(--line-bright)}.kpi.accent{border-top-color:var(--amber)}.kpi .n{font-family:var(--font-display),sans-serif;font-size:30px;font-weight:700;line-height:1.1;overflow-wrap:anywhere}.kpi .t{font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin-top:4px}.empty,.kpi .t{font-family:var(--font-mono),monospace;color:var(--ink-faint)}.empty{font-size:12px;padding:26px 0;text-align:center}.err{color:var(--red);font-size:12.5px}.err,pre.log{font-family:var(--font-mono),monospace}pre.log{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:14px;font-size:12px;white-space:pre-wrap;word-break:break-word;max-height:420px;overflow-y:auto;color:var(--ink-dim)}.row{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.spacer{flex:1 1}.login-wrap{min-height:100vh;display:grid;place-items:center;position:relative;z-index:1}.login-card{width:380px;background:var(--bg-panel);border:1px solid var(--line-bright);border-top:3px solid var(--amber);border-radius:var(--radius);padding:34px 32px;animation:rise .4s ease both}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.login-card .mark{font-family:var(--font-display),sans-serif;font-weight:700;font-size:19px;color:var(--amber);letter-spacing:.03em}.login-card .sub{font-family:var(--font-mono),monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin:3px 0 26px}.term{--ph:#4ade80;--ph-dim:rgba(74,222,128,.45);--ph-glow:rgba(74,222,128,.12);border:1px solid #1c2127;border-radius:8px;overflow:hidden;background:#050607;margin-top:8px}.term[data-theme=amber]{--ph:var(--amber);--ph-dim:rgba(242,163,60,.45);--ph-glow:rgba(242,163,60,.1)}.term[data-theme=ice]{--ph:#7dd3fc;--ph-dim:rgba(125,211,252,.45);--ph-glow:rgba(125,211,252,.1)}.term-bar{display:flex;align-items:center;gap:10px;padding:7px 12px;background:#0d1014;border-bottom:1px solid #1c2127}.term-dots{display:flex;gap:5px}.term-dots i{width:10px;height:10px;border-radius:50%;display:block}.term-dots .d1{background:#f87171}.term-dots .d2{background:#fbbf24}.term-dots .d3{background:#34d399}.term-title{flex:1 1;font-size:11px;color:var(--ink-dim);letter-spacing:.06em}.term-actions{display:flex;align-items:center;gap:6px}.term-btn{font-family:var(--font-mono),monospace;font-size:10px;background:transparent;border:1px solid #2a313a;border-radius:4px;color:var(--ink-dim);padding:2px 8px;cursor:pointer}.term-btn:hover{color:var(--ink);border-color:#3a434e}.term-swatch{width:12px;height:12px;border-radius:3px;cursor:pointer;border:1px solid transparent;padding:0}.term-swatch.sw-green{background:#4ade80}.term-swatch.sw-amber{background:#f2a33c}.term-swatch.sw-ice{background:#7dd3fc}.term-swatch.on{outline:2px solid var(--ink-dim);outline-offset:1px}.term-body{position:relative;height:360px;overflow-y:auto;padding:12px 14px 18px;font-family:var(--font-mono),monospace;font-size:12px;line-height:1.55;background:radial-gradient(ellipse at 50% 0,var(--ph-glow),transparent 70%),#050607}.term-scanlines{pointer-events:none;position:absolute;inset:0;background:repeating-linear-gradient(0deg,hsla(0,0%,100%,.025) 0 1px,transparent 1px 3px);mix-blend-mode:overlay}.term-line{white-space:pre-wrap;word-break:break-word;color:var(--ph);text-shadow:0 0 6px var(--ph-glow)}.term-ts{color:var(--ph-dim);margin-right:8px}.term-stage{color:var(--ink-dim);margin-right:8px}.term-line.lvl-debug .term-msg{color:var(--ph-dim)}.term-line.lvl-warning .term-msg{color:#fbbf24}.term-line.lvl-critical .term-msg,.term-line.lvl-error .term-msg{color:#f87171}.term-line.lvl-dim{color:var(--ink-faint)}.term-cursor{color:var(--ph);animation:term-blink 1.1s steps(1) infinite;text-shadow:0 0 8px var(--ph-dim)}@keyframes term-blink{50%{opacity:0}}.detail-section{margin:14px 0 18px}.detail-section summary{cursor:pointer;font-family:var(--font-mono),monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:10px}.detail-section summary:hover{color:var(--amber)}.detail-section textarea{width:100%;resize:vertical;min-height:44px}.rail-brand .brand-link{display:block}.rail-toggle{display:none;background:none;border:1px solid var(--line-bright);border-radius:var(--radius);color:var(--ink-dim);font-size:18px;line-height:1;padding:6px 11px}.rail-toggle:hover{color:var(--amber);border-color:var(--amber)}@media (max-width:768px){.shell{flex-direction:column}.rail{position:-webkit-sticky;position:sticky;top:0;z-index:5;width:100%;height:auto;flex-direction:row;flex-wrap:wrap;gap:0 12px;padding:12px 16px;border-right:none;border-bottom:1px solid var(--line)}.rail,.rail-brand{align-items:center}.rail-brand{flex:1 1;display:flex;justify-content:space-between;gap:12px;padding:0;margin:0;border-bottom:none}.rail-toggle{display:block}.rail nav{flex-basis:100%;padding:8px 0 0;display:none}.rail.open nav{display:flex}.rail nav .section{padding-top:10px}.rail .foot{flex-basis:100%;margin-top:10px;padding:10px 0 0;display:none}.rail.open .foot{display:block}.main{padding:20px 16px 48px;max-width:100%}.page-head h1{font-size:19px}.stage-rail{padding-bottom:8px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}