@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2) format("woff2-variations");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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2) format("woff2-variations");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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff) format("woff");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-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff) format("woff");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-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff) format("woff");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-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff) format("woff");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-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff) format("woff");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-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff");unicode-range:U+0000-00FF,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-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff) format("woff");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-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff) format("woff");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-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff) format("woff");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-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff) format("woff");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-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff) format("woff");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-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff");unicode-range:U+0000-00FF,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-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff) format("woff");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-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff) format("woff");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-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff) format("woff");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-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff) format("woff");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-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff) format("woff");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-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff");unicode-range:U+0000-00FF,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 Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");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 Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");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 Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");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 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");unicode-range:U+0000-00FF,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 Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");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 Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");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 Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");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 Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,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}:root{--font-display: "Space Grotesk Variable", system-ui, sans-serif;--font-sans: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--r-xs: 6px;--r-sm: 9px;--r: 13px;--r-lg: 18px;--r-xl: 24px;--step: 4px;--bg: #090c12;--bg-2: #0d111a;--panel: #131926;--panel-2: #1a2130;--panel-hi: #202a3c;--line: #232d3f;--line-2: #2f3b50;--text: #e8edf5;--text-2: #97a2b4;--text-3: #5e6a7d;--signal: #2dd8c0;--signal-2: #56e6d2;--signal-dim: rgba(45, 216, 192, .14);--signal-glow: rgba(45, 216, 192, .4);--ok: #3dd68c;--warn: #f6b740;--bad: #ff5d6a;--pos: #3dd68c;--neg: #ff5d6a;--ok-dim: rgba(61, 214, 140, .14);--warn-dim: rgba(246, 183, 64, .16);--bad-dim: rgba(255, 93, 106, .15);--shadow: 0 1px 0 rgba(255, 255, 255, .03) inset, 0 12px 32px -18px rgba(0, 0, 0, .8);--shadow-lg: 0 24px 64px -28px rgba(0, 0, 0, .85);--grid-line: rgba(255, 255, 255, .04);--scan: rgba(255, 255, 255, .015);--flow-edge: #3e4b64;color-scheme:dark}[data-theme=light]{--bg: #e9edf3;--bg-2: #f2f5f9;--panel: #ffffff;--panel-2: #f4f7fb;--panel-hi: #eef2f8;--line: #e0e6ef;--line-2: #cfd7e4;--text: #10151f;--text-2: #55607200;--text-2: #566072;--text-3: #8592a4;--signal: #0d9c8b;--signal-2: #0bb39f;--signal-dim: rgba(13, 156, 139, .12);--signal-glow: rgba(13, 156, 139, .28);--ok: #12a866;--warn: #bd820c;--bad: #e03b49;--pos: #12a866;--neg: #e03b49;--ok-dim: rgba(18, 168, 102, .12);--warn-dim: rgba(189, 130, 12, .14);--bad-dim: rgba(224, 59, 73, .12);--shadow: 0 1px 2px rgba(16, 21, 31, .04), 0 12px 28px -20px rgba(16, 21, 31, .4);--shadow-lg: 0 24px 60px -30px rgba(16, 21, 31, .35);--grid-line: rgba(16, 21, 31, .05);--scan: rgba(16, 21, 31, .012);--flow-edge: #b7c2d4;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:clip}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-variant-numeric:tabular-nums;transition:background .4s ease,color .4s ease}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(1200px 620px at 78% -8%,var(--signal-dim),transparent 60%),radial-gradient(900px 500px at 8% -4%,rgba(110,139,255,.06),transparent 55%);opacity:.9}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;margin:0;letter-spacing:-.01em}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.tnum{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono)}::selection{background:var(--signal-glow);color:var(--bg)}:focus-visible{outline:2px solid var(--signal);outline-offset:2px;border-radius:var(--r-xs)}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:20px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}#root{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1;width:100%;max-width:1360px;margin:0 auto;padding:28px 28px 8px}.app-foot{max-width:1360px;width:100%;margin:24px auto 0;padding:18px 28px 28px;color:var(--text-3);font-size:12px;border-top:1px solid var(--line);letter-spacing:.02em}.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:22px;padding:12px 28px;background:color-mix(in oklab,var(--bg) 78%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:baseline;gap:9px}.brand .pulse-mark{align-self:center}.brand-word{font-family:var(--font-display);font-weight:600;font-size:20px;letter-spacing:-.02em}.brand-sub{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--text-3);padding:2px 6px;border:1px solid var(--line);border-radius:5px}.topnav{display:flex;gap:4px;font-size:13px}.topnav-item{display:flex;align-items:center;gap:7px;padding:8px 13px;border-radius:var(--r-sm);color:var(--text-2);transition:background .16s,color .16s}.topnav-item:hover{color:var(--text);background:var(--panel-2)}.topnav-item.on{color:var(--text);background:var(--signal-dim);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--signal) 40%,transparent)}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:8px}.reg-badge{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-3);padding:5px 9px;border:1px solid var(--line);border-radius:20px}.reg-dot{width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok)}.icon-btn{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--r-sm);background:transparent;border:1px solid var(--line);color:var(--text-2);transition:all .16s}.icon-btn:hover{color:var(--text);border-color:var(--line-2);background:var(--panel-2)}.page{display:flex;flex-direction:column;gap:22px;animation:pagefade .3s ease both}@keyframes pagefade{0%{opacity:0}to{opacity:1}}@keyframes reveal{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.page>*:not(.pgrid):not(.prod-grid):not(.digest-grid),.pgrid>.pcard,.prod-grid>.panel,.digest-grid>.panel{animation:reveal .5s cubic-bezier(.2,.7,.2,1) both}.page>*:nth-child(1){animation-delay:.02s}.page>*:nth-child(2){animation-delay:.08s}.page>*:nth-child(3){animation-delay:.14s}.page>*:nth-child(4){animation-delay:.2s}.page>*:nth-child(5){animation-delay:.26s}.page>*:nth-child(6){animation-delay:.32s}.pgrid>.pcard:nth-child(1),.prod-grid>.panel:nth-child(1),.digest-grid>.panel:nth-child(1){animation-delay:.08s}.pgrid>.pcard:nth-child(2),.prod-grid>.panel:nth-child(2),.digest-grid>.panel:nth-child(2){animation-delay:.15s}.pgrid>.pcard:nth-child(3),.prod-grid>.panel:nth-child(3),.digest-grid>.panel:nth-child(3){animation-delay:.22s}.prod-grid>.panel:nth-child(4),.digest-grid>.panel:nth-child(4){animation-delay:.29s}.prod-grid>.panel:nth-child(5){animation-delay:.36s}.prod-grid>.panel:nth-child(n+6){animation-delay:.42s}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-title{font-size:30px;letter-spacing:-.03em}.page-sub{color:var(--text-3);font-size:12px;margin-top:4px;letter-spacing:.02em}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:4px}.section-title{font-size:17px;color:var(--text)}.legend{display:flex;gap:16px;font-size:12px;color:var(--text-2)}.legend-item{display:flex;align-items:center;gap:7px}.panel{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;box-shadow:var(--shadow)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-title{display:flex;align-items:center;gap:9px}.panel-title h3{font-size:15px;letter-spacing:-.01em}.panel-title-icon{display:grid;place-items:center;color:var(--accent, var(--signal))}.panel-hint{font-size:11px;color:var(--text-3);font-family:var(--font-mono);padding-left:8px;border-left:1px solid var(--line)}.panel-aside{color:var(--text-2);font-size:12px}.segmented{display:inline-flex;padding:3px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-sm);gap:2px}.seg{border:none;background:transparent;color:var(--text-2);font-size:12px;font-weight:500;letter-spacing:.04em;padding:6px 12px;border-radius:7px;transition:all .16s}.seg:hover{color:var(--text)}.seg-on{background:var(--panel-hi);color:var(--text);box-shadow:0 1px 2px #0003}.stat-head{display:flex;align-items:center;gap:8px}.stat-icon{display:grid;place-items:center;color:var(--text-3)}.stat-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-3)}.infotip{position:relative;display:inline-flex;line-height:0}.infotip-btn{display:grid;place-items:center;width:15px;height:15px;padding:0;border-radius:50%;border:1px solid var(--line-2);background:transparent;color:var(--text-3);transition:color .15s,border-color .15s}.infotip-btn:hover,.infotip.open .infotip-btn{color:var(--signal);border-color:var(--signal)}.infotip-pop{position:absolute;bottom:calc(100% + 9px);left:-8px;width:252px;padding:12px 14px;background:var(--panel-hi);border:1px solid var(--line-2);border-radius:var(--r-sm);box-shadow:var(--shadow-lg);z-index:90;text-align:left;opacity:0;visibility:hidden;transform:translateY(5px);transition:opacity .16s,transform .16s,visibility .16s;pointer-events:none}.infotip-end .infotip-pop{left:auto;right:-8px}.infotip:hover .infotip-pop,.infotip:focus-within .infotip-pop,.infotip.open .infotip-pop{opacity:1;visibility:visible;transform:none;pointer-events:auto}.infotip-title{display:block;font-family:var(--font-display);font-weight:600;font-size:12.5px;letter-spacing:-.01em;color:var(--text);margin-bottom:5px}.infotip-body{display:block;font-family:var(--font-sans);font-size:12px;line-height:1.5;color:var(--text-2)}.infotip-body b{color:var(--text);font-weight:600}.vitals{padding:0}.vitals-hero{border-top-left-radius:var(--r-lg);border-top-right-radius:var(--r-lg)}.vitals-hero{display:grid;grid-template-columns:minmax(260px,.8fr) 1.5fr;gap:8px;padding:22px 24px 18px;border-bottom:1px solid var(--line);position:relative}.vitals-live{display:flex;flex-direction:column;justify-content:center;gap:6px}.vitals-live-num{font-family:var(--font-display);font-weight:600;font-size:clamp(48px,6.5vw,82px);line-height:.95;letter-spacing:-.04em;background:linear-gradient(180deg,var(--text),color-mix(in oklab,var(--text) 62%,var(--signal)));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.vitals-live-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:4px}.vitals-live-total{font-size:12px;color:var(--text-3)}.vitals-ecg{position:relative;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}.vitals-ecg-cap{position:absolute;top:0;right:0;display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-2);letter-spacing:.04em;padding:4px 9px;border-radius:20px;background:color-mix(in oklab,var(--panel) 82%,transparent);border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.vitals-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.stat-tile{padding:18px 20px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:10px;min-width:0}.stat-tile:last-child{border-right:none}.stat-tile-num{font-family:var(--font-display);font-weight:600;font-size:30px;letter-spacing:-.02em;line-height:1;display:flex;align-items:baseline;gap:6px}.stat-tile-num.num-pos{color:var(--pos)}.stat-tile-num.num-neg{color:var(--neg)}.stat-tile-day{font-size:12px;color:var(--text-3);font-weight:500}.stat-tile-foot{display:flex;align-items:center;gap:10px;min-height:20px}.stat-tile-sub{font-size:11px;color:var(--text-3);line-height:1.35}.stat-tile-gauge{align-items:center;gap:6px;padding:16px 8px 12px}.stat-tile-gauge .stat-head{align-self:stretch}.stat-tile-pos .stat-tile-num{color:var(--pos)}.stat-tile-warn .stat-tile-num{color:var(--warn)}.delta{display:inline-flex;align-items:center;gap:4px;font-weight:600;font-family:var(--font-mono);border-radius:6px;white-space:nowrap}.delta-md{font-size:13px;padding:3px 8px}.delta-sm{font-size:11.5px}.delta-arrow{font-size:.8em}.delta-suffix{color:var(--text-3);font-weight:500;font-size:.85em;margin-left:2px}.delta-pos{color:var(--pos);background:var(--ok-dim)}.delta-neg{color:var(--neg);background:var(--bad-dim)}.delta-zero{color:var(--text-3)}.delta-sm.delta-pos,.delta-sm.delta-neg,.delta-sm.delta-zero{background:transparent;padding:0}.hdot{display:inline-block;width:9px;height:9px;border-radius:50%;flex-shrink:0}.hdot-ok{background:var(--ok);box-shadow:0 0 0 0 var(--ok);animation:beat 2.4s ease-out infinite}.hdot-warn{background:var(--warn);box-shadow:0 0 8px color-mix(in oklab,var(--warn) 60%,transparent)}.hdot-bad{background:var(--bad);box-shadow:0 0 0 0 var(--bad);animation:beat-bad 1.4s ease-out infinite}@keyframes beat{0%{box-shadow:0 0 color-mix(in oklab,var(--ok) 55%,transparent)}70%,to{box-shadow:0 0 0 6px transparent}}@keyframes beat-bad{0%{box-shadow:0 0 color-mix(in oklab,var(--bad) 60%,transparent)}70%,to{box-shadow:0 0 0 7px transparent}}.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.pcard{position:relative;display:flex;flex-direction:column;gap:14px;padding:18px 18px 16px 22px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:transform .18s cubic-bezier(.2,.7,.2,1),border-color .18s,box-shadow .18s}.pcard:hover{transform:translateY(-3px);border-color:var(--line-2);box-shadow:var(--shadow-lg)}.pcard-rail{position:absolute;left:0;top:0;bottom:0;width:3px;opacity:.85}.pcard-bad{box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--bad) 22%,transparent)}.pcard-bad:hover{box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--bad) 40%,transparent),var(--shadow-lg)}.pcard-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pcard-id{display:flex;gap:12px;min-width:0}.pcard-logo{flex-shrink:0;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-family:var(--font-display);font-weight:600;font-size:14px;color:var(--c);background:color-mix(in oklab,var(--c) 15%,var(--panel-2));box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--c) 30%,transparent)}.pcard-title{font-family:var(--font-display);font-weight:600;font-size:15.5px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pcard-tag{font-size:9.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);border:1px solid var(--line);border-radius:4px;padding:1px 5px}.pcard-desc{font-size:12px;color:var(--text-3);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.pcard-state{display:flex;align-items:center;gap:8px}.pcard-chev{color:var(--text-3);transition:transform .18s,color .18s}.pcard:hover .pcard-chev{transform:translate(3px);color:var(--text)}.pcard-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.pcard-live{display:flex;align-items:baseline;gap:8px}.pcard-live-num{font-family:var(--font-display);font-weight:600;font-size:32px;letter-spacing:-.03em;line-height:1}.pcard-live-label{font-size:11px;color:var(--text-3);text-transform:uppercase;letter-spacing:.1em}.pcard-spark{margin:-2px -2px 0}.pcard-metrics{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:var(--text-2)}.pcm{display:inline-flex;align-items:center;gap:5px}.pcm svg{color:var(--text-3)}.pcm-bad,.pcm-bad svg{color:var(--bad)}.pcm-warn{color:var(--warn)}.prod-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.back-btn{display:grid;place-items:center;width:38px;height:38px;border-radius:var(--r-sm);border:1px solid var(--line);color:var(--text-2);transition:all .16s}.back-btn:hover{color:var(--text);background:var(--panel-2);border-color:var(--line-2)}.prod-logo{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-family:var(--font-display);font-weight:600;font-size:16px;color:var(--c);background:color-mix(in oklab,var(--c) 15%,var(--panel-2));box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--c) 30%,transparent)}.prod-id{margin-right:auto}.prod-title{font-size:24px;letter-spacing:-.02em}.prod-meta{display:flex;align-items:center;gap:12px;margin-top:4px;font-size:12px;color:var(--text-3)}.prod-store,.prod-quiet{display:inline-flex;align-items:center;gap:4px}.prod-quiet{color:var(--bad)}.kpi-row{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.kpi-row-4{grid-template-columns:repeat(4,1fr)}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;display:flex;flex-direction:column;gap:8px}.kpi-num{font-family:var(--font-display);font-weight:600;font-size:24px;letter-spacing:-.02em;line-height:1}.kpi-sub{font-size:11px;color:var(--text-3)}.kpi-spark{height:24px}.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.span-2{grid-column:span 2}.mini-kpis{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:var(--text-3)}.mini-kpis b{color:var(--text);font-weight:600;margin-left:4px}.legend-inline{display:flex;gap:18px;margin-top:12px;font-size:12px;color:var(--text-2)}.legend-inline .sw,.churn-legend .sw{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px;vertical-align:middle}.empty-inline{color:var(--text-3);font-size:13px;padding:32px 8px;text-align:center}.quality-top{display:flex;gap:16px;align-items:center}.quality-side{flex:1;min-width:0}.mini-stat span{font-size:11px;color:var(--text-3);display:block;margin-bottom:4px}.quality-err{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.quality-err-cap{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-3);margin-bottom:8px}.churn-grid{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center}.churn-donut{display:flex;align-items:center;gap:20px}.churn-legend{display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--text-2)}.churn-feat-cap{font-size:11px;color:var(--text-3);margin-bottom:10px}.hbars{display:flex;flex-direction:column;gap:9px}.hbar{display:grid;grid-template-columns:110px 1fr 44px;align-items:center;gap:10px}.hbar-key{font-size:12px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hbar-track{height:8px;background:var(--panel-2);border-radius:5px;overflow:hidden}.hbar-fill{height:100%;border-radius:5px;min-width:3px;opacity:.9;transition:width .5s cubic-bezier(.2,.7,.2,1)}.hbar-val{font-size:12px;color:var(--text);text-align:right}.donut,.gauge{position:relative;flex-shrink:0}.donut-center,.gauge-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.donut-top{font-family:var(--font-display);font-weight:600;font-size:26px;letter-spacing:-.02em}.donut-sub,.gauge-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);font-family:var(--font-mono)}.gauge-val{font-family:var(--font-display);font-weight:600;font-size:26px;letter-spacing:-.02em;line-height:1}.gauge-unit{font-size:.5em;margin-left:1px;opacity:.7}.chart-tick{fill:var(--text-3);font-family:var(--font-mono)}.chart-val{fill:var(--text-2);font-family:var(--font-mono);font-weight:500}.flow-node-label{font-family:var(--font-sans);font-size:12px;font-weight:500}.flow-node-n{font-size:10px;opacity:.85}.flow-wrap{overflow-x:auto;overflow-y:visible}.flow-inner{min-width:660px}.flow-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:6px;font-size:12px;color:var(--text-2)}.flow-legend .sw{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:middle}.flow-reads{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.flow-read{display:flex;gap:11px;align-items:flex-start}.flow-read-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;flex-shrink:0;margin-top:1px}.flow-read-body{font-size:12.5px;color:var(--text-2);line-height:1.45}.flow-read-body b{color:var(--text);font-weight:600}.flow-read-lead{display:block;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);margin-bottom:2px}.ecg-line{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.6s cubic-bezier(.4,0,.2,1) forwards}.ecg-area{animation:fade 1.8s ease forwards;opacity:0}@keyframes draw{to{stroke-dashoffset:0}}@keyframes fade{0%{opacity:0}to{opacity:1}}.spark-line,.chart-line-draw{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.1s cubic-bezier(.4,0,.2,1) forwards}.spark-area{opacity:0;animation:fade 1.3s ease forwards}.bar-rise{transform-box:fill-box;transform-origin:bottom;animation:barRise .55s cubic-bezier(.2,.7,.2,1) both}@keyframes barRise{0%{transform:scaleY(0);opacity:.35}to{transform:scaleY(1);opacity:1}}.hbar-fill{transform-origin:left;animation:growX .6s cubic-bezier(.2,.7,.2,1) both}@keyframes growX{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.donut-in{animation:popIn .6s cubic-bezier(.2,.7,.2,1) both}@keyframes popIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}.flow-move{stroke-dasharray:.05 .13;animation:flowMove 1.5s linear infinite}@keyframes flowMove{to{stroke-dashoffset:-.18}}.vitals-ecg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,transparent,var(--signal-dim),transparent);width:45%;transform:translate(-140%);animation:sweep 5s cubic-bezier(.4,0,.2,1) infinite;opacity:.7}@keyframes sweep{0%{transform:translate(-140%)}55%,to{transform:translate(360%)}}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--panel-2);color:var(--text);font-size:13px;font-weight:500;transition:all .16s}.btn:hover:not(:disabled){border-color:var(--text-3);background:var(--panel-hi)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--signal);border-color:var(--signal);color:#04120f;font-weight:600}.btn-primary:hover:not(:disabled){background:var(--signal-2);border-color:var(--signal-2)}.spinner-wrap{display:flex;flex-direction:column;align-items:center;gap:14px;padding:100px 0;color:var(--text-3)}.spinner{width:26px;height:26px;border-radius:50%;border:2.5px solid var(--line-2);border-top-color:var(--signal);animation:spin .7s linear infinite}.spinner-sm{width:15px;height:15px;border-width:2px}.spinner-label{font-size:12px;letter-spacing:.04em}@keyframes spin{to{transform:rotate(360deg)}}.empty{padding:80px 0;text-align:center;color:var(--text-3)}.gate{min-height:100vh;display:grid;place-items:center;position:relative;padding:24px}.gate-atmos{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;opacity:.16;pointer-events:none;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,transparent,#000 40%,#000 60%,transparent);mask-image:linear-gradient(180deg,transparent,#000 40%,#000 60%,transparent)}.gate-card{position:relative;width:100%;max-width:420px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-xl);padding:34px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:12px}.gate-brand{display:flex;align-items:center;gap:10px}.gate-brand .brand-word{font-size:24px}.gate-title{font-size:26px;letter-spacing:-.02em;margin-top:8px}.gate-lead{color:var(--text-2);font-size:14px;margin:0 0 8px;line-height:1.55}.gate-field{display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--panel-2);transition:border-color .16s}.gate-field:focus-within{border-color:var(--signal)}.gate-field-icon{color:var(--text-3)}.gate-field input{flex:1;border:none;background:transparent;color:var(--text);font-size:14px;padding:13px 0;outline:none}.gate-submit{justify-content:center;margin-top:4px}.gate-note{font-size:11px;color:var(--text-3);text-align:center;margin:4px 0 0}.digest-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.digest-grid .span-2{grid-column:span 2}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}.field:last-child{margin-bottom:0}.field-row{display:flex;gap:16px;align-items:flex-start}.field-row .field{margin-bottom:0}.field-hour{width:120px;flex-shrink:0}.field-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3)}.field-input{display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--panel-2);transition:border-color .16s}.field-input:focus-within{border-color:var(--signal)}.field-icon{color:var(--text-3)}.field-input input{flex:1;min-width:0;border:none;background:transparent;color:var(--text);font-size:13px;padding:11px 0;outline:none}.field-hint{font-size:11.5px;color:var(--text-3);margin:0}.local-hint{display:flex;align-items:center;gap:6px;color:var(--signal);margin-top:-6px}.dow-pick{display:flex;gap:5px}.dow{flex:1;padding:9px 0;border-radius:7px;border:1px solid var(--line);background:var(--panel-2);color:var(--text-2);font-size:12px;transition:all .14s}.dow:hover{color:var(--text);border-color:var(--line-2)}.dow-on{background:var(--signal-dim);color:var(--text);border-color:color-mix(in oklab,var(--signal) 45%,transparent)}.ta{width:100%;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--panel-2);color:var(--text);font-size:12.5px;line-height:1.6;padding:13px 15px;resize:vertical;outline:none;transition:border-color .16s}.ta:focus{border-color:var(--signal)}.ta-tall{min-height:220px}.ta-prompt{min-height:150px}.sched-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.sched-day{padding:11px 0;border-radius:9px;border:1px solid var(--line);background:var(--panel-2);color:var(--text-2);font-size:13px;transition:all .14s}.sched-day:hover{color:var(--text);border-color:var(--line-2);transform:translateY(-1px)}.sched-day.on{background:var(--signal-dim);color:var(--text);border-color:color-mix(in oklab,var(--signal) 50%,transparent);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--signal) 25%,transparent)}.sched-readout{display:flex;align-items:baseline;gap:9px;margin-bottom:12px}.sched-hh{font-family:var(--font-display);font-weight:600;font-size:30px;letter-spacing:-.02em;line-height:1}.sched-tz{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--text-3)}.sched-part{margin-left:auto;font-size:12px;color:var(--signal);text-transform:lowercase}.sched-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:20px;background:linear-gradient(to right,var(--signal) var(--p, 40%),var(--panel-hi) var(--p, 40%));outline:none;cursor:pointer}.sched-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--signal);border:3px solid var(--panel);box-shadow:0 2px 8px #0006,0 0 0 1px var(--signal);cursor:grab;transition:transform .12s}.sched-slider::-webkit-slider-thumb:active{transform:scale(1.15);cursor:grabbing}.sched-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--signal);border:3px solid var(--panel);box-shadow:0 0 0 1px var(--signal);cursor:grab}.sched-slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--signal-dim),0 0 0 1px var(--signal)}.sched-ticks{display:flex;justify-content:space-between;margin-top:7px;font-size:10px;color:var(--text-3)}.sched-summary{display:flex;gap:9px;align-items:flex-start;margin-top:6px;padding:12px 14px;background:var(--panel-2);border:1px solid var(--line);border-radius:11px;font-size:12.5px;color:var(--text-2);line-height:1.55}.sched-summary svg{color:var(--signal);flex-shrink:0;margin-top:2px}.sched-summary b{color:var(--text);font-weight:600}.inline-code{font-family:var(--font-mono);font-size:.9em;color:var(--signal);background:var(--panel-2);padding:1px 5px;border-radius:5px;border:1px solid var(--line)}.tpl-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:14px}.tpl-chips-label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-3);margin-right:4px}.tpl-chip{font-size:11.5px;color:var(--signal);background:var(--signal-dim);border:1px solid color-mix(in oklab,var(--signal) 30%,transparent);border-radius:6px;padding:3px 8px;transition:all .14s}.tpl-chip:hover{background:color-mix(in oklab,var(--signal) 22%,transparent);transform:translateY(-1px)}.tpl-split{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tpl-pane{display:flex;flex-direction:column;min-width:0}.tpl-pane-cap{display:flex;align-items:center;gap:6px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-3);margin-bottom:8px}.tpl-editor{border:1px solid var(--line-2);border-radius:10px;overflow:hidden;background:var(--panel-2);transition:border-color .16s}.tpl-editor:focus-within{border-color:var(--signal)}.tpl-editor .cm-editor{background:transparent}.tpl-editor .cm-scroller{overflow:auto}.tg-preview{flex:1}.tg-bubble{background:var(--panel-2);border:1px solid var(--line);border-radius:14px 14px 14px 4px;padding:15px 17px;min-height:340px;font-size:13.5px;line-height:1.55;color:var(--text)}.tg-body{white-space:pre-wrap;word-break:break-word}.tg-body b{font-weight:700}.tg-body i{font-style:italic}.tg-body a{color:var(--signal)}.tg-body code{font-family:var(--font-mono);font-size:.92em}.tg-note{color:var(--text-3);font-size:13px}.tg-error{color:var(--bad);font-size:13px}.legend-table{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.legend-row{display:grid;grid-template-columns:minmax(150px,auto) 1fr;gap:12px;align-items:baseline;font-size:12px}.legend-row code{color:var(--signal);font-family:var(--font-mono);font-size:11.5px;background:var(--panel-2);padding:2px 6px;border-radius:5px;border:1px solid var(--line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legend-row span{color:var(--text-2)}.digest-actions{display:flex;gap:12px;flex-wrap:wrap;padding:2px 0 8px}.switch{display:inline-flex;align-items:center;gap:11px;cursor:pointer}.switch input{display:none}.switch-track{width:44px;height:25px;border-radius:20px;background:var(--panel-hi);border:1px solid var(--line-2);position:relative;transition:background .2s}.switch-track:after{content:"";position:absolute;top:2px;left:2px;width:19px;height:19px;border-radius:50%;background:var(--text-3);transition:transform .2s,background .2s}.switch input:checked+.switch-track{background:var(--signal-dim);border-color:var(--signal)}.switch input:checked+.switch-track:after{transform:translate(19px);background:var(--signal)}.switch-label{font-size:12px;color:var(--text-2)}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:9px;padding:12px 18px;border-radius:var(--r-sm);font-size:13px;font-weight:500;box-shadow:var(--shadow-lg);z-index:100;animation:rise .3s ease}.toast-ok{background:var(--ok-dim);color:var(--ok);border:1px solid color-mix(in oklab,var(--ok) 40%,transparent)}.toast-err{background:var(--bad-dim);color:var(--bad);border:1px solid color-mix(in oklab,var(--bad) 40%,transparent)}.toast-x{font-size:18px;line-height:1}@media(max-width:1080px){.vitals-strip{grid-template-columns:repeat(2,1fr)}.stat-tile{border-bottom:1px solid var(--line)}.stat-tile:nth-child(2n){border-right:none}.prod-grid{grid-template-columns:repeat(2,1fr)}.span-2{grid-column:span 2}.kpi-row,.kpi-row-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.app-main{padding:18px 16px 8px}.topbar{padding:10px 16px;gap:12px}.brand-sub,.reg-badge{display:none}.topnav-item{padding:8px 10px}.vitals-hero{grid-template-columns:1fr}.vitals-strip{grid-template-columns:repeat(2,1fr)}.stat-tile:nth-child(2n){border-right:none}.prod-grid,.digest-grid,.tpl-split{grid-template-columns:1fr}.span-2,.digest-grid .span-2{grid-column:span 1}.kpi-row{grid-template-columns:repeat(2,1fr)}.pgrid,.churn-grid{grid-template-columns:1fr}.churn-donut{flex-direction:column;text-align:center}.page-title{font-size:24px}.field-row{flex-direction:column}.field-hour{width:100%}}
