@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-thai-cyrillic-ext-400-normal-Dn6MWgci.woff2)format("woff2"),url(/assets/ibm-plex-sans-thai-cyrillic-ext-400-normal-BEjoQ6U0.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-thai-thai-400-normal-Bt1rR4gi.woff2)format("woff2"),url(/assets/ibm-plex-sans-thai-thai-400-normal-DKc8V4lk.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-thai-latin-ext-400-normal-DBkYO1u-.woff2)format("woff2"),url(/assets/ibm-plex-sans-thai-latin-ext-400-normal-n-X-g5Z4.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-thai-latin-400-normal-CwmoKdEh.woff2)format("woff2"),url(/assets/ibm-plex-sans-thai-latin-400-normal-YXrLwNa7.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-thai-cyrillic-ext-500-normal-Cm2I9ryc.woff2)format("woff2"),url(/assets/ibm-plex-sans-thai-cyrillic-ext-500-normal-Do1XVVIP.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-thai-thai-500-normal-BrMc1XKn.woff2)format("woff2"),url(/assets/ibm-plex-sans-thai-thai-500-normal-BoHUoq0p.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-thai-latin-ext-500-normal-n470B0cW.woff2)format("woff2"),url(/assets/ibm-plex-sans-thai-latin-ext-500-normal-DcylQI4B.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-thai-latin-500-normal-DQcnnbdd.woff2)format("woff2"),url(/assets/ibm-plex-sans-thai-latin-500-normal-h5t7erDE.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-thai-cyrillic-ext-600-normal-BCRlenFg.woff2)format("woff2"),url(/assets/ibm-plex-sans-thai-cyrillic-ext-600-normal-BcmZofZJ.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-thai-thai-600-normal-DvfsyWAn.woff2)format("woff2"),url(/assets/ibm-plex-sans-thai-thai-600-normal-BOwfviun.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-thai-latin-ext-600-normal-BXI6PlF4.woff2)format("woff2"),url(/assets/ibm-plex-sans-thai-latin-ext-600-normal-iH120vlL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-thai-latin-600-normal-BR-dhaTH.woff2)format("woff2"),url(/assets/ibm-plex-sans-thai-latin-600-normal-P_JjY83V.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-thai-cyrillic-ext-700-normal-BkOR9aUi.woff2)format("woff2"),url(/assets/ibm-plex-sans-thai-cyrillic-ext-700-normal-C2Vjft6n.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-thai-thai-700-normal-0moayseG.woff2)format("woff2"),url(/assets/ibm-plex-sans-thai-thai-700-normal-Bo0ALcDh.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-thai-latin-ext-700-normal-BKYUUsrV.woff2)format("woff2"),url(/assets/ibm-plex-sans-thai-latin-ext-700-normal-CIKhqm8k.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-thai-latin-700-normal-Ct-BCS9V.woff2)format("woff2"),url(/assets/ibm-plex-sans-thai-latin-700-normal-SmVfMUPf.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Thai Looped;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-thai-looped-cyrillic-ext-400-normal-Bm1Nqcw4.woff2)format("woff2"),url(/assets/ibm-plex-sans-thai-looped-cyrillic-ext-400-normal-BbkrCb7A.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Thai Looped;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-thai-looped-thai-400-normal-CAqL3w-J.woff2)format("woff2"),url(/assets/ibm-plex-sans-thai-looped-thai-400-normal-DsN5duVm.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai Looped;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-thai-looped-latin-ext-400-normal-DTKOYwi_.woff2)format("woff2"),url(/assets/ibm-plex-sans-thai-looped-latin-ext-400-normal-D2_1kxe7.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Thai Looped;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-thai-looped-latin-400-normal-Dy-mY0VS.woff2)format("woff2"),url(/assets/ibm-plex-sans-thai-looped-latin-400-normal-CQ5mzAwe.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Thai Looped;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-thai-looped-cyrillic-ext-600-normal-R74bHJQX.woff2)format("woff2"),url(/assets/ibm-plex-sans-thai-looped-cyrillic-ext-600-normal-BxooQWIL.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Thai Looped;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-thai-looped-thai-600-normal-Bgzp2ueZ.woff2)format("woff2"),url(/assets/ibm-plex-sans-thai-looped-thai-600-normal-Zut2UJVf.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai Looped;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-thai-looped-latin-ext-600-normal-BQTsZ2ia.woff2)format("woff2"),url(/assets/ibm-plex-sans-thai-looped-latin-ext-600-normal-C2XODVbZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Thai Looped;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-thai-looped-latin-600-normal-DG8pQvH_.woff2)format("woff2"),url(/assets/ibm-plex-sans-thai-looped-latin-600-normal-BLz5_RwB.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Mitr;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/mitr-thai-400-normal-CXWaAdVj.woff2)format("woff2"),url(/assets/mitr-thai-400-normal-CS4Do6aM.woff)format("woff")}@font-face{font-family:Mitr;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/mitr-thai-500-normal-CVdBrEVH.woff2)format("woff2"),url(/assets/mitr-thai-500-normal-CW_B5D-i.woff)format("woff")}@font-face{font-family:Mitr;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/mitr-latin-400-normal-CwbkLQ4a.woff2)format("woff2"),url(/assets/mitr-latin-400-normal-Cb18vPmZ.woff)format("woff")}@font-face{font-family:Mitr;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/mitr-latin-500-normal-BmClOow2.woff2)format("woff2"),url(/assets/mitr-latin-500-normal-B4JOhzAi.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--concrete:#e6e8e3;--paper:#fbfbf9;--paper-2:#f1f3ef;--ink:#1d272b;--slate:#56646a;--faint:#7d898e;--rule:#d3d8d2;--rule-strong:#b9c0ba;--blueprint:#1f4e9e;--blueprint-wash:#e4ebf7;--in:#1b7a4b;--in-wash:#e1f0e7;--out:#b0472e;--out-wash:#f6e4de;--pending:#8a5a00;--pending-wash:#f8ecd2;--edited:#fff1c7;--grid:#e3e6e1;--in-fill:#2aa865;--out-fill:#e0573c;--coming:#1668a8;--coming-fill:#3b9be0;--coming-wash:#e2f0fb;--warn:#8a5a00;--warn-fill:#f0b400;--warn-wash:#fdf2cf;--tk-bg:#f1f7fa;--pb-cover:#1e3d6b;--pb-cover-ink:#c3d2e6;--pb-paper:#fbf8ee;--pb-ink:#23324a;--pb-mute:#66738a;--pb-rule:#dde5ee;--s1:#2a78d6;--s2:#eb6834;--s3:#1baf7a;--s4:#eda100;--s5:#e87ba4;--s6:#008300;--s7:#4a3aa7;--s8:#e34948;--font-body:"IBM Plex Sans Thai Looped", "Leelawadee UI", "Noto Sans Thai", system-ui, sans-serif;--font-head:"IBM Plex Sans Thai", "Leelawadee UI", "Noto Sans Thai", system-ui, sans-serif;--t-xs:13px;--t-sm:15px;--t-md:17px;--t-lg:21px;--t-xl:27px;--t-2xl:34px;--t-3xl:44px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--concrete:#111618;--paper:#192023;--paper-2:#20282b;--ink:#e9eeeb;--slate:#a2aeb2;--faint:#7c898e;--rule:#2b3438;--rule-strong:#3b464a;--blueprint:#8fb0f0;--blueprint-wash:#1c2a44;--in:#58c490;--in-wash:#15301f;--out:#e8826a;--out-wash:#3a1f18;--pending:#f0b64a;--pending-wash:#3a2d10;--edited:#4a3c0e;--grid:#263034;--in-fill:#3cbf7a;--out-fill:#ec6d52;--coming:#7cc0f0;--coming-fill:#4aa6ea;--coming-wash:#142a3b;--warn:#f3c24e;--warn-fill:#e5ab00;--warn-wash:#372c0c;--tk-bg:#152028;--pb-cover:#0e1d33;--pb-cover-ink:#93a8c4;--pb-paper:#1f2530;--pb-ink:#e3e8ef;--pb-mute:#9aa6b6;--pb-rule:#313a47;--s1:#3987e5;--s2:#d95926;--s3:#199e70;--s4:#c98500;--s5:#d55181;--s6:#008300;--s7:#9085e9;--s8:#e66767}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--concrete);color:var(--ink);font:400 var(--t-md)/1.7 var(--font-body);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-head);margin:0;font-weight:600;line-height:1.3}h1{font-size:var(--t-xl);letter-spacing:-.01em}h2{font-size:var(--t-lg)}h3{font-size:var(--t-md)}p{margin:0 0 .6em}a{color:var(--blueprint);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}.num,.fig{font-family:var(--font-head);font-variant-numeric:tabular-nums}.num{text-align:right;white-space:nowrap}.muted{color:var(--slate)}.small{font-size:var(--t-sm);color:var(--slate)}.error{color:var(--out)}@media (width>=801px){.scrim{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}button,.btn{font:500 var(--t-sm)/1.2 var(--font-head);color:var(--ink);background:var(--paper);border:1px solid var(--rule-strong);cursor:pointer;border-radius:8px;align-items:center;gap:8px;min-height:44px;padding:10px 16px;text-decoration:none;display:inline-flex}button:hover,.btn:hover{background:var(--paper-2)}button:disabled{opacity:.55;cursor:default}button.primary{background:var(--blueprint);border-color:var(--blueprint);color:var(--paper)}button.primary:hover{filter:brightness(1.1)}button.quiet{color:var(--blueprint);background:0 0;border-color:#0000;padding-inline:8px}button.quiet:hover{background:var(--blueprint-wash)}button.danger{color:var(--out)}input,select,textarea{font:400 var(--t-md)/1.5 var(--font-body);color:var(--ink);background:var(--paper);border:1px solid var(--rule-strong);border-radius:8px;min-height:44px;padding:9px 12px}textarea{resize:vertical;width:100%}:focus-visible{outline:3px solid var(--blueprint);outline-offset:2px}input:focus,select:focus,textarea:focus{outline:2px solid var(--blueprint);outline-offset:0;border-color:var(--blueprint)}label.check{font-size:var(--t-sm);align-items:center;gap:10px;display:inline-flex}label.check input{width:20px;height:20px;min-height:0}.shell{grid-template-columns:256px minmax(0,1fr);min-height:100vh;display:grid}.rail{background:var(--paper);border-right:1px solid var(--rule);flex-direction:column;height:100vh;padding:28px 16px 20px;display:flex;position:sticky;top:0}.wordmark{padding:0 12px 28px}.wordmark b{font:700 26px/1.1 var(--font-head);letter-spacing:.01em;display:block}.wordmark span{font-size:var(--t-xs);color:var(--slate);margin-top:6px;display:block}.nav{flex-direction:column;gap:2px;display:flex;overflow-y:auto}.nav-group{font:500 var(--t-xs)/1 var(--font-head);color:var(--faint);padding:20px 12px 8px}.nav a{color:var(--ink);font:400 var(--t-sm)/1.4 var(--font-head);border-left:3px solid #0000;border-radius:0 8px 8px 0;padding:10px 12px 10px 14px;text-decoration:none;display:block}.nav a:hover{background:var(--paper-2)}.nav a.on{border-left-color:var(--blueprint);color:var(--blueprint);background:var(--blueprint-wash);font-weight:600}.rail-foot{border-top:1px solid var(--rule);font-size:var(--t-sm);margin-top:auto;padding:16px 12px 0}.rail-foot .who{font:600 var(--t-sm)/1.3 var(--font-head)}.rail-foot .role{color:var(--slate);font-size:var(--t-xs)}.rail-foot .links{flex-wrap:wrap;gap:4px;margin:8px -8px 0;display:flex}main{min-width:0;padding:40px 48px 96px}.page{max-width:1180px}.topbar{display:none}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;margin-bottom:28px;display:flex}.page-head .lede{color:var(--slate);font-size:var(--t-sm);max-width:70ch;margin-top:6px}.actions{flex-wrap:wrap;gap:8px;display:flex}.hero{max-width:980px;margin-bottom:36px}.hero .source{font-size:var(--t-sm);color:var(--slate);margin-bottom:10px}.hero h1{font-size:var(--t-3xl);letter-spacing:-.015em;font-weight:600;line-height:1.25}.hero h1 .fig,.hero h1 .phrase{white-space:nowrap}.flow{gap:8px;max-width:760px;margin-top:22px;display:grid}.flow-row{font-size:var(--t-sm);grid-template-columns:84px minmax(0,1fr) 150px;align-items:center;gap:14px;display:grid}.flow-row .label{color:var(--slate)}.flow-track{background:var(--paper);border-radius:7px;height:14px;overflow:hidden}.flow-bar{border-radius:7px;height:100%;transition:width .6s cubic-bezier(.2,.7,.2,1)}.flow-bar.in{background:var(--in)}.flow-bar.out{background:var(--out)}.exd{--tk-font:"Mitr", var(--font-head);--pb-font:"IBM Plex Mono", var(--font-head);max-width:1120px}.dot{background:var(--faint);border-radius:50%;flex:none;width:13px;height:13px;display:inline-block}.dot.in{background:var(--in-fill)}.dot.out{background:var(--out-fill)}.dot.coming{background:var(--coming-fill)}.dot.warn{background:var(--warn-fill)}.tk-head h1{font:500 clamp(28px, 4.6vw, 48px)/1.2 var(--tk-font);letter-spacing:-.01em;max-width:22ch}.tk-head p{font-size:var(--t-lg);color:var(--slate);max-width:60ch;margin:10px 0 0;line-height:1.55}.tk-scene{background:var(--tk-bg);border-radius:36px;margin:24px 0 18px;padding:18px 18px 14px}.tk-svg{width:100%;height:auto;display:block;overflow:visible}.tk-svg.tall{max-width:420px;margin:0 auto;display:none}.tk-t{font-family:var(--tk-font);fill:var(--ink)}.tk-t.mute{fill:var(--slate)}.tk-t.in{fill:var(--in)}.tk-t.out{fill:var(--out)}.tk-t.coming{fill:var(--coming)}.tk-t.white{fill:#fff}.tk-pipe{fill:none;stroke-width:34px;stroke-linecap:round}.tk-pipe.thin{stroke-width:24px}.tk-flow.thin{stroke-width:7px}.tk-pipe.in{stroke:var(--in-fill)}.tk-pipe.out{stroke:var(--out-fill);stroke-width:30px}.tk-flow{fill:none;stroke:#ffffff8c;stroke-width:9px;stroke-linecap:round;stroke-dasharray:.1 33.9;opacity:0;transition:opacity .6s}.seen .tk-flow{opacity:1;animation:.9s linear infinite paused tk-flow}@keyframes tk-flow{to{stroke-dashoffset:-34px}}.tk-scene.live .tk-flow,.tk-scene.live .tk-wave,.tk-scene.live .tk-drip{animation-play-state:running}.tk-body{fill:var(--paper)}.tk-rim{fill:none;stroke:var(--ink);stroke-width:5px}.tk-full{stroke:var(--in-fill);stroke-width:2px;stroke-dasharray:8 8}.tk-water{will-change:transform;transition:transform 2.2s cubic-bezier(.22,.8,.3,1) .2s}.tk-wave{fill:var(--in-fill);opacity:.9;will-change:transform}.seen .tk-wave{animation:linear infinite paused tk-wave}@keyframes tk-wave{0%{transform:translate(0)}to{transform:translateX(var(--len))}}.tk-drip{opacity:0}.tk-drip.out{fill:var(--out-fill)}.seen .tk-drip{animation:1.6s ease-in 1s infinite paused tk-drip}@keyframes tk-drip{0%{opacity:1;transform:translateY(-6px)}to{opacity:0;transform:translateY(30px)}}.tk-res{fill:var(--coming-wash);stroke:var(--coming-fill);stroke-width:4px}.tk-res-water{fill:var(--coming-fill)}.tk-valve-pipe{fill:none;stroke:var(--coming-fill);stroke-width:12px;stroke-dasharray:14 10}.tk-valve-pipe.thin{stroke-width:9px}.tk-valve{fill:var(--paper);stroke:var(--coming-fill);stroke-width:4px}.tk-valve-bar{stroke:var(--coming-fill);stroke-width:4px}.tk-sign-body{fill:var(--warn-fill);stroke:var(--ink);stroke-width:4px;stroke-linejoin:round}.tk-sign{transform-box:fill-box;transform-origin:50% 0}.seen .tk-sign{animation:1.4s ease-in-out 2.4s 2 tk-swing}@keyframes tk-swing{0%,to{rotate:0deg}30%{rotate:-5deg}65%{rotate:4deg}}.tk-sign .tk-t,.tk-sign-body+.tk-t{fill:#1d2430}.tk-legend{font:400 var(--t-md)/1.7 var(--tk-font);color:var(--slate);flex-wrap:wrap;gap:4px 22px;margin:4px 0 0;padding:0 6px;list-style:none;display:flex}.tk-legend li{align-items:center;gap:8px;display:inline-flex}.qc-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px;display:grid}.qc{text-align:left;border:2px solid var(--rule);background:var(--paper);min-height:0;font:inherit;color:var(--ink);cursor:pointer;border-radius:28px;flex-direction:column;align-items:stretch;gap:8px;padding:18px 20px 16px;display:flex}.qc:hover{background:var(--paper);border-color:var(--rule-strong)}.qc.on.out{border-color:var(--out-fill)}.qc.on.coming{border-color:var(--coming-fill)}.qc.on.warn{border-color:var(--warn-fill)}.qc.on.neutral{border-color:var(--ink)}.qc-title{font:500 var(--t-lg)/1.3 var(--tk-font)}.qc-total{font:500 var(--t-xl)/1.1 var(--tk-font);white-space:nowrap}.qc-total small{font-size:var(--t-sm);color:var(--slate)}.qc.out .qc-total{color:var(--out)}.qc.coming .qc-total{color:var(--coming)}.qc.warn .qc-total{color:var(--warn)}.qc-chips{flex-wrap:wrap;gap:6px;display:flex}.qc-chips b{font:500 var(--t-md)/1 var(--tk-font);background:var(--paper-2);border:1px solid var(--rule);border-radius:999px;padding:8px 12px}.qc-bars{gap:8px;margin:0;padding:0;list-style:none;display:grid}.qc-bars li{font-size:var(--t-sm);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:3px 8px;display:grid}.qc-l{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.qc-v{font:500 var(--t-sm)/1 var(--tk-font)}.qc-bars i{background:var(--faint);border-radius:4px;grid-column:1/-1;min-width:4px;height:8px;display:block}.qc.out i{background:var(--out-fill)}.qc.coming i{background:var(--coming-fill)}.qc.warn i{background:var(--warn-fill)}.qc-bars i.other{background:var(--rule-strong)}.qc-hint{font-size:var(--t-sm);color:var(--slate);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--rule-strong);text-decoration-color:var(--rule-strong);margin-top:auto;padding-top:4px}.pb{background:var(--pb-cover);border-radius:22px;padding:30px 20px 26px;scroll-margin-top:16px}.pb-book{gap:18px;max-width:940px;margin:0 auto;display:grid}.pb-page{background:var(--pb-paper);color:var(--pb-ink);border-radius:6px;overflow:hidden;box-shadow:0 24px 50px #0000004d}.pb-head{border-bottom:3px double var(--pb-ink);padding:22px 28px 16px}.pb-head h2{font:700 var(--t-lg)/1.3 var(--font-head);align-items:center;gap:10px;display:flex}.pb-page.coming .pb-head h2:before,.pb-page.warn .pb-head h2:before{content:"";border-radius:3px;width:14px;height:14px}.pb-page.coming .pb-head h2:before{background:var(--coming-fill)}.pb-page.warn .pb-head h2:before{background:var(--warn-fill)}.pb-head p{font-size:var(--t-sm);color:var(--pb-mute);margin:4px 0 0}.pb-table{border-collapse:collapse;width:100%}.pb-table th{font:600 var(--t-xs)/1.2 var(--font-head);color:var(--pb-mute);text-align:right;border-bottom:1px solid var(--pb-ink);white-space:nowrap;padding:12px 16px}.pb-table th:first-child{text-align:left;padding-left:28px}.pb-table td{border-bottom:1px solid var(--pb-rule);vertical-align:top;padding:10px 16px}.pb-table td:first-child{padding-left:28px}.pb-what small{font-size:var(--t-xs);color:var(--pb-mute);margin-top:1px;display:block}.pb-label,.pb-toggle{font:500 var(--t-md)/1.4 var(--font-head)}.pb-toggle{min-height:0;color:inherit;text-align:left;background:0 0;border:0;align-items:baseline;gap:8px;padding:0;display:inline-flex}.pb-toggle:hover{text-underline-offset:3px;background:0 0;text-decoration:underline}.pb-caret{width:12px;color:var(--pb-mute);transition:transform .2s;display:inline-block}.pb-toggle[aria-expanded=true] .pb-caret{transform:rotate(90deg)}.pb-fig{font:400 var(--t-md)/1.4 var(--pb-font);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.pb-fig.in{color:var(--in);font-weight:600}.pb-fig.out{color:var(--out)}.pb-fig.coming{color:var(--coming);font-weight:600}.pb-fig.warn{color:var(--warn);font-weight:600}.pb-row.muted .pb-what{color:var(--pb-mute)}.pb-row.coming .pb-fig{color:var(--coming);font-weight:600}.pb-row.warn .pb-fig{color:var(--warn);font-weight:600}.pb-row.out .pb-fig{color:var(--out)}.pb-row.dep .pb-fig:not(:empty){font-weight:600}.pb-more td{border-bottom:0;padding:0 16px 0 28px}.pb-drawer{grid-template-rows:0fr;transition:grid-template-rows .3s;display:grid}.pb-drawer.open{grid-template-rows:1fr}.pb-drawer>ul{min-height:0;font-size:var(--t-sm);margin:0;padding:0 0 0 20px;list-style:none;overflow:hidden}.pb-drawer.open>ul{border-bottom:1px solid var(--pb-rule);padding-bottom:10px}.pb-drawer li{border-bottom:1px dashed var(--pb-rule);grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;padding:6px 0;display:grid}.pb-drawer li small{font-size:var(--t-xs);color:var(--pb-mute);display:block}.pb-drawer li ul{color:var(--pb-mute);grid-column:1/-1;margin:0;padding:0 0 0 18px;list-style:none}.pb-drawer li li:last-child{border-bottom:0}.pb-drawer .pb-fig{font-size:var(--t-sm)}.pb-end td{border-top:2px solid var(--pb-ink);border-bottom:3px double var(--pb-ink);font:700 var(--t-lg)/1.3 var(--font-head);vertical-align:middle}.pb-end .pb-fig{font:600 var(--t-lg)/1.3 var(--pb-font)}.pb-table .only-sm{display:none}.pb-end td:first-child{flex-wrap:wrap;align-items:center;gap:8px 22px;display:flex}.pb-stamp{font:700 var(--t-xl)/1.1 var(--font-head);text-align:center;white-space:nowrap;border:4px solid;border-radius:10px;margin:4px 0;padding:6px 14px;display:inline-block;transform:rotate(-7deg)}.pb-stamp small{font-size:var(--t-xs);font-weight:600;display:block}.pb-stamp.warn{color:var(--warn);border-color:var(--warn-fill);background:color-mix(in srgb, var(--warn-fill) 10%, transparent)}.pb-stamp.out{color:var(--out);border-color:var(--out-fill);background:color-mix(in srgb, var(--out-fill) 10%, transparent)}.pb-stamp.in{color:var(--in);border-color:var(--in-fill);background:color-mix(in srgb, var(--in-fill) 10%, transparent)}.pb-src{font-size:var(--t-xs);color:var(--pb-cover-ink);margin:-8px 4px 0}.pb-src a{color:inherit}.pb-empty{color:var(--pb-cover-ink);margin:0}.pb-companies{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:18px;display:grid}.pb-page .pb-row,.pb-page .pb-end{opacity:0}.pb-page.go .pb-row,.pb-page.go .pb-end{animation:.5s ease-out both pb-print;animation-delay:calc(var(--i) * 80ms)}@keyframes pb-print{0%{opacity:0}to{opacity:1}}.pb-page.go .pb-stamp{animation:.5s cubic-bezier(.3,1.6,.5,1) both pb-stamp;animation-delay:calc(var(--n) * 80ms + .45s);will-change:transform, opacity}@keyframes pb-stamp{0%{opacity:0;transform:rotate(-16deg)scale(2.2)}to{opacity:1;transform:rotate(-7deg)scale(1)}}.exd-foot{font-size:var(--t-sm);color:var(--slate);margin-top:18px}.doc-links{gap:6px;margin:0;padding-left:20px;display:grid}@media (width<=1100px){.qc-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=800px){.tk-head p{font-size:var(--t-md)}.tk-scene{border-radius:26px;margin-top:18px;padding:10px 6px 12px}.tk-svg.wide{display:none}.tk-svg.tall{display:block}.tk-legend{font-size:var(--t-sm);justify-content:center;gap:2px 16px}.qc-row{gap:10px}.qc{border-radius:20px;gap:6px;padding:14px}.qc-title{font-size:var(--t-md)}.qc-total{font-size:var(--t-lg)}.qc-total small,.qc-bars{display:none}.qc-hint{font-size:var(--t-xs)}.pb{border-radius:18px;padding:14px 8px 18px;scroll-margin-top:72px}.pb-head{padding:16px 14px 12px}.pb-table .only-sm{display:table-cell}.pb-table th:first-child{width:46%}.pb-end td:first-child{display:table-cell}.pb-end .pb-stamp{width:max-content;margin-top:6px;display:block}.pb-table th,.pb-table td{padding:8px 6px}.pb-table th:first-child,.pb-table td:first-child{padding-left:14px}.pb-table td:last-child,.pb-table th:last-child{padding-right:12px}.pb-label,.pb-toggle{font-size:var(--t-sm)}.pb-fig{font-size:12.5px}.pb-end td{font-size:var(--t-md)}.pb-end .pb-fig{font-size:var(--t-sm)}.pb-stamp{font-size:var(--t-md);border-width:3px;padding:3px 8px}.pb-stamp small{font-size:10px}.pb-more td{padding-left:14px;padding-right:8px}.pb-drawer>ul{padding-left:8px}.pb-src{margin:-6px 6px 0}}@media (prefers-reduced-motion:reduce){.pb-page .pb-row,.pb-page .pb-end{opacity:1}}.sheet{background:var(--paper);border:1px solid var(--rule);border-radius:14px}.stmt{border-top:1px solid var(--rule);grid-template-columns:240px minmax(0,1fr);gap:32px;padding:28px 32px;display:grid}.stmt:first-child{border-top:0}.stmt-label h2{font-size:var(--t-lg)}.stmt-label p{color:var(--slate);font-size:var(--t-sm);margin:8px 0 0}.stmt-label .src{font-size:var(--t-xs);color:var(--faint);margin-top:12px;line-height:1.6}.stmt-body{min-width:0}.panel{background:var(--paper);border:1px solid var(--rule);border-radius:14px;min-width:0;padding:24px 28px}.panel+.panel{margin-top:20px}.panel h2{margin-bottom:14px}.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;display:grid}.split.wide{grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);align-items:start;gap:24px}.figures{flex-wrap:wrap;gap:12px 40px;margin:0 0 20px;display:flex}.figures div{min-width:140px}.figures dt{font-size:var(--t-sm);color:var(--slate)}.figures dd{font:600 var(--t-xl)/1.2 var(--font-head);font-variant-numeric:tabular-nums;margin:2px 0 0}.figures dd.in{color:var(--in)}.figures dd.out{color:var(--out)}.figures dd small{font:400 var(--t-xs)/1 var(--font-body);color:var(--slate);margin-top:4px;display:block}.chart-box{height:280px;position:relative}.table-wrap{overflow-x:auto}table.t{border-collapse:collapse;width:100%}table.t th{text-align:left;font:500 var(--t-xs)/1.3 var(--font-head);color:var(--slate);border-bottom:1px solid var(--rule-strong);white-space:nowrap;padding:8px 12px}table.t th.num{text-align:right}table.t td{border-bottom:1px solid var(--rule);vertical-align:top;padding:12px}table.t tr:last-child td{border-bottom:0}table.t tr.click{cursor:pointer}table.t tr.click:hover td{background:var(--paper-2)}table.t tfoot td{font:600 var(--t-md)/1.4 var(--font-head);border-top:2px solid var(--ink);border-bottom:0}td .sub{font-size:var(--t-xs);color:var(--slate);margin-top:2px;display:block}.tag{font:500 var(--t-xs)/1.5 var(--font-head);background:var(--paper-2);color:var(--slate);white-space:nowrap;border-radius:999px;padding:2px 10px;display:inline-block}.tag.in{background:var(--in-wash);color:var(--in)}.tag.pending{background:var(--pending-wash);color:var(--pending)}.tag.work{background:var(--blueprint-wash);color:var(--blueprint)}.tag.lock{background:var(--out-wash);color:var(--out)}.outline{border-collapse:collapse;width:100%}.outline th{text-align:left;font:500 var(--t-xs)/1.3 var(--font-head);color:var(--slate);border-bottom:1px solid var(--rule-strong);padding:8px 12px}.outline th.num{text-align:right}.outline td{border-bottom:1px solid var(--rule);padding:10px 12px}.outline tr.lvl0 td{font:600 var(--t-md)/1.4 var(--font-head);border-bottom:1px solid var(--rule-strong);padding-top:22px}.outline tr.total td{font:600 var(--t-md)/1.4 var(--font-head);border-bottom:2px solid var(--ink)}.outline .toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.outline .caret{width:20px;color:var(--faint);display:inline-block}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;display:flex}.toolbar input[type=search]{flex:320px}.crumbs{font-size:var(--t-sm);flex-wrap:wrap;align-items:baseline;gap:6px;margin-bottom:18px;display:flex}.crumbs .sep{color:var(--faint)}.folders{border-top:1px solid var(--rule);grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-bottom:24px;display:grid}.folder{border-bottom:1px solid var(--rule);color:var(--ink);align-items:flex-start;gap:12px;min-width:0;padding:14px 8px;text-decoration:none;display:flex}.folder:hover{background:var(--paper-2)}.folder svg{color:var(--slate);flex:none;margin-top:3px}.folder .fn{font:500 var(--t-sm)/1.4 var(--font-head);overflow-wrap:anywhere}.folder .fc{font-size:var(--t-xs);color:var(--slate)}.fname{align-items:flex-start;gap:12px;min-width:0;display:flex}.fname a{color:var(--ink);overflow-wrap:anywhere;text-decoration:none}.fname a:hover{color:var(--blueprint);text-decoration:underline}.ext{font:600 12px/1 var(--font-head);text-align:center;width:44px;color:var(--slate);border:1px solid;border-radius:4px;flex:none;margin-top:3px;padding:5px 0}.ext.pdf{color:var(--out)}.ext.xl{color:var(--in)}.ext.wd{color:var(--blueprint)}.snippet{font-size:var(--t-sm);color:var(--slate);margin-top:4px}mark{background:var(--edited);color:inherit;border-radius:3px;padding:0 2px}.viewer{background:var(--paper);border:1px solid var(--rule);border-radius:14px;min-width:0;overflow:hidden}.viewer iframe{background:#fff;border:0;width:100%;height:80vh;display:block}.viewer img{max-width:100%;margin:0 auto;display:block}.viewer .empty{text-align:center;color:var(--slate);padding:56px 24px}.meta{font-size:var(--t-sm);grid-template-columns:max-content minmax(0,1fr);gap:8px 18px;margin:0;display:grid}.meta dt{color:var(--slate)}.meta dd{overflow-wrap:anywhere;margin:0}.sheet-tabs{background:var(--paper-2);border-bottom:1px solid var(--rule);gap:2px;padding:8px 8px 0;display:flex;overflow-x:auto}.sheet-tabs button{white-space:nowrap;background:0 0;border:0;border-radius:8px 8px 0 0;min-height:38px;padding:8px 16px;font-weight:400}.sheet-tabs button.on{background:var(--paper);color:var(--blueprint);font-weight:600}.grid-scroll{max-height:72vh;overflow:auto}.grid-scroll table{border-collapse:collapse;font-size:var(--t-sm)}.grid-scroll th{z-index:1;background:var(--paper-2);color:var(--faint);font:500 12px/1 var(--font-head);border:1px solid var(--rule);padding:6px 10px;position:sticky;top:0}.grid-scroll th.rn{z-index:2;left:0}.grid-scroll td{border:1px solid var(--rule);white-space:nowrap;text-overflow:ellipsis;max-width:380px;height:34px;padding:5px 10px;overflow:hidden}.grid-scroll td.rn{background:var(--paper-2);color:var(--faint);font:500 12px/1 var(--font-head);text-align:right;position:sticky;left:0}.grid-scroll td.n{text-align:right;font-family:var(--font-head);font-variant-numeric:tabular-nums}.grid-scroll td.f{color:var(--slate)}.editing .grid-scroll td.ed{cursor:text}.editing .grid-scroll td.ed:hover{box-shadow:inset 0 0 0 2px var(--blueprint-wash)}.editing .grid-scroll td.f{background:var(--paper-2);cursor:not-allowed}.grid-scroll td.changed{background:var(--edited)}.grid-scroll td.active{box-shadow:inset 0 0 0 2px var(--blueprint);padding:0}.grid-scroll td.active input{width:100%;min-width:140px;height:33px;min-height:33px;font-size:var(--t-sm);background:var(--paper);border:0;border-radius:0;outline:0;padding:4px 9px}.edit-bar{z-index:5;background:var(--ink);color:var(--paper);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:16px;padding:14px 18px;display:flex;position:sticky;bottom:16px}.edit-bar .grow{font-size:var(--t-sm);flex:200px}.edit-bar button{color:var(--paper);background:0 0;border-color:#ffffff59}.edit-bar button:hover{background:#ffffff1a}.edit-bar button.primary{background:var(--paper);color:var(--ink);border-color:var(--paper)}.edit-hint{font-size:var(--t-sm);color:var(--slate);border-bottom:1px solid var(--rule);background:var(--paper-2);padding:12px 16px}.paras{gap:10px;padding:20px 24px;display:grid}.paras .p-row{grid-template-columns:36px minmax(0,1fr);align-items:start;gap:10px;display:grid}.paras .p-no{font:500 12px/44px var(--font-head);color:var(--faint);text-align:right}.paras textarea{min-height:44px;line-height:1.6}.paras textarea.changed{background:var(--edited)}.paras .locked{color:var(--slate);background:var(--paper-2);font-size:var(--t-sm);border-radius:8px;padding:10px 12px}.versions{margin:0;padding:0;list-style:none}.versions li{border-top:1px solid var(--rule);padding:14px 0}.versions li:first-child{border-top:0;padding-top:0}.versions .when{font:600 var(--t-sm)/1.4 var(--font-head)}.versions .what{font-size:var(--t-sm);color:var(--slate);overflow-wrap:anywhere;margin:2px 0 8px}.versions .acts{flex-wrap:wrap;gap:4px;margin-left:-8px;display:flex}.banner{background:var(--blueprint-wash);color:var(--ink);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:18px;padding:14px 18px;display:flex}.banner.warn{background:var(--pending-wash)}.banner.bad{background:var(--out-wash)}.banner.good{background:var(--in-wash)}.progress{background:var(--paper-2);border-radius:4px;height:8px;margin:10px 0;overflow:hidden}.progress>div{background:var(--blueprint);height:100%}.loading{color:var(--slate);padding:32px 0}.stack{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}input[type=file]{min-width:0;max-width:100%;font-size:var(--t-sm)}.login-wrap{place-items:center;min-height:100vh;padding:16px;display:grid}.login{background:var(--paper);border:1px solid var(--rule);border-radius:14px;width:100%;max-width:400px;padding:36px 32px}.login .wordmark{padding:0 0 28px}.login label{font:500 var(--t-sm)/1.4 var(--font-head);margin:18px 0 6px;display:block}.login input{width:100%}.login button{justify-content:center;width:100%;margin-top:22px}@media (width<=1100px){.stmt{grid-template-columns:minmax(0,1fr);gap:16px}.split.wide{grid-template-columns:minmax(0,1fr)}}@media (width<=800px){.shell{grid-template-columns:minmax(0,1fr)}.rail{z-index:30;transition:transform .2s;position:fixed;inset:0 22% 0 0;transform:translate(-102%);box-shadow:0 0 60px #0000004d}.rail.open{transform:none}.scrim{z-index:25;background:#11161873;position:fixed;inset:0}.topbar{background:var(--paper);border-bottom:1px solid var(--rule);z-index:20;align-items:center;gap:12px;padding:8px 16px;display:flex;position:sticky;top:0}.topbar b{font:700 18px/1 var(--font-head);letter-spacing:.01em}main{padding:24px 16px 80px}.hero h1{font-size:var(--t-2xl)}.flow-row{grid-template-columns:64px minmax(0,1fr)}.flow-row .fig{grid-column:2;margin-top:-6px}.stmt{padding:22px 18px}.panel{padding:20px 18px}.split{grid-template-columns:minmax(0,1fr)}.figures{gap:12px 28px}.figures dd{font-size:var(--t-lg)}.hide-sm{display:none}.viewer iframe{height:70vh}}
