@font-face{font-family:Oswald Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/_astro/oswald-cyrillic-ext-wght-normal.DLWmRmaW.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Oswald Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/_astro/oswald-cyrillic-wght-normal.C8sJyxwB.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Oswald Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/_astro/oswald-vietnamese-wght-normal.Tdf5mmdl.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:Oswald Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/_astro/oswald-latin-ext-wght-normal.Dj_1K-Kw.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:Oswald Variable;font-style:normal;font-display:swap;font-weight:200 700;src:url(/_astro/oswald-latin-wght-normal.CzS3kehr.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-ext-wght-normal.EocZY2iu.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.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}:root{color-scheme:dark;--color-bg: #14161f;--color-surface: #222536;--color-surface-2: #2a2e42;--color-text: #e9ebf4;--color-text-2: #aab1c6;--color-text-3: #8b93ab;--color-hairline: rgba(255, 255, 255, .07);--color-hairline-strong: rgba(255, 255, 255, .15);--color-accent: #5b8def;--color-accent-text: #a9c2f8;--color-accent-ink: #0b1322;--color-accent-dim: rgba(91, 141, 239, .16);--color-success: #3fbf7f;--color-danger: #ef6b6b;--color-warn: #f0a24b;--d-blue: #5b8def;--d-green: #3fbf7f;--d-orange: #f0954b;--d-violet: #8b6ff0;--d-cyan: #45c4d6;--d-red: #ef6b6b;--d-pink: #e077b0;--d-radius: 15px;--d-radius-pill: 90px;--d-shadow: 0 10px 28px rgba(6, 8, 15, .35);--d-side-w: 300px;--font-display: "Oswald Variable", "Oswald", "Arial Narrow", sans-serif;--font-body: "Inter Variable", "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--space-24: 6rem;--space-32: 8rem;--container: 72rem;--container-prose: 44rem;--gutter: clamp(1.25rem, 4vw, 3rem);--target-min: 44px;--radius-sm: 4px;--duration-fast: .12s;--duration-normal: .22s;--duration-slow: .22s;--ease-press: cubic-bezier(.34, 1.4, .64, 1);--ease-out: cubic-bezier(.22, 1, .36, 1)}html[data-theme=light]{color-scheme:light;--color-bg: #f1f3f9;--color-surface: #ffffff;--color-surface-2: #eceef6;--color-text: #1d2133;--color-text-2: #4c5470;--color-text-3: #6b7490;--color-hairline: rgba(22, 27, 48, .09);--color-hairline-strong: rgba(22, 27, 48, .18);--color-accent: #3665cf;--color-accent-text: #3665cf;--color-accent-ink: #ffffff;--color-accent-dim: rgba(54, 101, 207, .13);--color-success: #177a4d;--color-danger: #c94b52;--color-warn: #b06f1e;--d-blue: #3d6fd8;--d-violet: #6f52d9;--d-cyan: #2a9db0;--d-pink: #c25a93;--d-shadow: 0 8px 24px rgba(29, 33, 51, .1)}*,*:before,*:after{box-sizing:border-box;margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--color-accent);color:var(--color-accent-ink)}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration-color:var(--color-hairline-strong);text-underline-offset:.2em;transition:color var(--duration-fast) var(--ease-out),text-decoration-color var(--duration-fast) var(--ease-out)}@media(hover:hover){a:hover{color:var(--color-accent);text-decoration-color:var(--color-accent)}}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:2px}.tf-container{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}.tf-mono{font-family:var(--font-mono);font-size:.8125rem;letter-spacing:.01em}.tf-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.tf-eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.04em;color:var(--color-accent-text);background:var(--color-accent-dim);border:1px solid var(--color-accent-dim);border-radius:var(--d-radius-pill)}.tf-display{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:-.01em;line-height:.98}.tf-section{padding-block:var(--space-24);border-top:1px solid var(--color-hairline)}.tf-section-title{font-size:clamp(2rem,5vw,3.5rem);margin-top:var(--space-3);margin-bottom:var(--space-12)}.tf-skip-link{position:absolute;top:var(--space-3);left:var(--space-3);z-index:100;padding:var(--space-2) var(--space-4);background:var(--color-accent);color:var(--color-accent-ink);font-family:var(--font-mono);font-size:.8125rem;text-decoration:none;transform:translateY(-300%)}.tf-skip-link:focus-visible{transform:none}.tf-btn{display:inline-flex;align-items:center;min-height:var(--target-min);padding-inline:var(--space-6);font-family:var(--font-mono);font-size:.875rem;letter-spacing:.02em;text-decoration:none;border:1px solid transparent;border-radius:var(--d-radius);transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.tf-btn-accent{background:var(--color-accent);color:var(--color-accent-ink);font-weight:600}@media(hover:hover){.tf-btn-accent:hover{background:var(--color-text);color:var(--color-accent-ink)}}.tf-btn-ghost{border-color:var(--color-hairline-strong);color:var(--color-text)}@media(hover:hover){.tf-btn-ghost:hover{border-color:var(--color-accent);color:var(--color-accent)}}.tf-badge{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;padding:var(--space-1) var(--space-2);border:1px solid var(--color-hairline-strong);border-radius:var(--d-radius-pill);color:var(--color-text-2)}.tf-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--color-text-3)}.tf-badge-live{color:var(--color-success);border-color:color-mix(in srgb,var(--color-success) 35%,transparent);background:color-mix(in srgb,var(--color-success) 12%,transparent)}.tf-badge-live:before{background:var(--color-success)}.tf-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:0;list-style:none}.tf-tag{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-2);padding:var(--space-1) var(--space-3);border:1px solid var(--color-hairline);border-radius:var(--d-radius-pill)}.tf-svc-list{flex-direction:column;align-items:stretch}.tf-tag-block{font-size:.8125rem;padding:var(--space-2) var(--space-3);border-radius:var(--d-radius);color:var(--color-text)}.tf-tag-block:before{content:"> ";color:var(--color-accent)}.tf-prose{max-width:var(--container-prose);padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--d-radius);box-shadow:var(--d-shadow)}.tf-prose h2{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:-.01em;font-size:1.375rem;margin-block:var(--space-8) var(--space-4)}.tf-prose h2:first-of-type{margin-top:0}.tf-prose p{color:var(--color-text-2);margin-bottom:var(--space-4);max-width:65ch}.tf-prose a{color:var(--color-text)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}.tf-card:active,.tf-btn:active{transform:none!important}}.tf-header{position:sticky;top:0;z-index:40;background:var(--color-surface);border-bottom:1px solid var(--color-hairline)}.tf-header-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2) var(--space-6);padding-block:var(--space-2)}.tf-brand{display:inline-flex;align-items:center;gap:var(--space-3);min-height:var(--target-min);font-size:.9375rem;font-weight:600;letter-spacing:.01em;text-decoration:none}.tf-brand-mark{display:grid;place-items:center;width:2.25rem;height:2.25rem;flex:none;border-radius:var(--d-radius);background:var(--color-accent-dim);color:var(--color-accent);font-family:var(--font-mono);font-size:.8125rem;font-weight:600}.tf-nav{display:flex;align-items:center;gap:var(--space-1)}.tf-nav a{display:inline-flex;align-items:center;min-height:var(--target-min);padding-inline:var(--space-3);font-family:var(--font-mono);font-size:.8125rem;color:var(--color-text-2);text-decoration:none;border-radius:var(--d-radius-pill)}@media(hover:hover){.tf-nav a:hover{color:var(--color-text);background:var(--color-surface-2)}}.tf-nav a[aria-current=page]{color:var(--color-accent);background:var(--color-accent-dim)}.tf-header-acts{display:flex;align-items:center;gap:var(--space-2)}.tf-iconbtn{display:grid;place-items:center;width:var(--target-min);height:var(--target-min);padding:0;color:var(--color-text-2);background:none;border:1px solid transparent;border-radius:var(--d-radius);cursor:pointer}@media(hover:hover){.tf-iconbtn:hover{color:var(--color-text);background:var(--color-surface-2)}}.tf-lang{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--target-min);padding-inline:var(--space-3);font-family:var(--font-mono);font-size:.75rem;border:1px solid var(--color-hairline);border-radius:var(--d-radius-pill)}.tf-lang a,.tf-lang .tf-lang-cur{display:inline-flex;align-items:center;min-height:var(--target-min);text-decoration:none;color:var(--color-text-3)}.tf-lang .tf-lang-cur{color:var(--color-text)}.tf-lang .tf-lang-sep{color:var(--color-text-3)}@media(hover:hover){.tf-lang a:hover{color:var(--color-accent)}}.tf-panel{padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--d-radius);box-shadow:var(--d-shadow)}.tf-icobox{display:grid;place-items:center;width:2.75rem;height:2.75rem;flex:none;border-radius:var(--d-radius);color:var(--tone, var(--color-text-3));background:color-mix(in srgb,var(--tone, var(--color-text-3)) 14%,transparent)}.tf-icobox .tf-ico{width:1.25rem;height:1.25rem}.tf-icobox-lg{width:3.5rem;height:3.5rem}.tf-icobox-lg .tf-ico{width:1.5rem;height:1.5rem}.tf-tone-blue{--tone: var(--d-blue)}.tf-tone-green{--tone: var(--d-green)}.tf-tone-orange{--tone: var(--d-orange)}.tf-tone-violet{--tone: var(--d-violet)}.tf-tone-cyan{--tone: var(--d-cyan)}.tf-tone-red{--tone: var(--d-red)}.tf-tone-pink{--tone: var(--d-pink)}.tf-hero{padding-block:var(--space-16) var(--space-12)}.tf-hero-panel{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding:var(--space-8) var(--space-6);background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--d-radius);box-shadow:var(--d-shadow);overflow:hidden}.tf-hero-body{min-width:0}.tf-hero-title{font-size:clamp(2.25rem,6.5vw,4.5rem);margin-block:var(--space-6) var(--space-4)}.tf-hero-title .tf-accent{color:var(--color-accent)}.tf-hero-sub{max-width:42rem;font-size:clamp(1.0625rem,2vw,1.25rem);color:var(--color-text-2);line-height:1.55}.tf-hero-meta{font-family:var(--font-mono);font-size:.8125rem;color:var(--color-text-3);margin-top:var(--space-6)}.tf-hero-cta{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-8)}.tf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr));gap:var(--space-4)}.tf-card{position:relative;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--d-radius);box-shadow:var(--d-shadow);transition:border-color var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out)}@media(hover:hover){.tf-card:hover{border-color:var(--color-hairline-strong);transform:translateY(-2px)}}.tf-card-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.tf-card-idx{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-3)}.tf-card h3{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:-.01em;font-size:1.5rem;line-height:1.05}.tf-card h3 a{text-decoration:none}.tf-card h3 a:after{content:"";position:absolute;inset:0}.tf-card-domain{font-family:var(--font-mono);font-size:.75rem;color:var(--color-accent)}.tf-card-tagline{color:var(--color-text-2);font-size:.9375rem;flex:1}.tf-card-stack{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-3)}.tf-card-next{background:transparent;border-style:dashed;justify-content:center}.tf-card-next h3{color:var(--color-text-3)}.tf-card-next p{color:var(--color-text-3);font-size:.9375rem}.tf-card-media{overflow:hidden}.tf-card-img{position:relative;display:block;margin:calc(var(--space-6) * -1) calc(var(--space-6) * -1) var(--space-4);aspect-ratio:16 / 9;overflow:hidden;border-bottom:1px solid var(--color-hairline);border-radius:var(--d-radius) var(--d-radius) 0 0}.tf-card-img img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(25%) brightness(.82);transition:transform var(--duration-slow) var(--ease-out),filter var(--duration-normal) var(--ease-out)}html[data-theme=light] .tf-card-img img{filter:grayscale(12%) brightness(.97)}.tf-card:hover .tf-card-img img{transform:scale(1.04);filter:grayscale(8%) brightness(.92)}html[data-theme=light] .tf-card:hover .tf-card-img img{filter:grayscale(0%) brightness(1)}.tf-card-ico{position:absolute;right:var(--space-3);bottom:var(--space-3);display:grid;place-items:center;width:var(--size-12, 48px);height:var(--size-12, 48px);background:var(--color-bg);border:1px solid var(--color-hairline);border-radius:var(--d-radius);color:var(--color-accent)}.tf-card-ico .tf-ico{width:20px;height:20px}.tf-card--featured{border-color:var(--color-accent);box-shadow:var(--d-shadow),0 0 0 1px color-mix(in srgb,var(--color-accent) 40%,transparent)}@media(hover:hover){.tf-card--featured:hover{border-color:var(--color-accent)}}.tf-card-flag{position:absolute;top:var(--space-3);left:var(--space-3);z-index:1;padding:var(--space-1) var(--space-3);font-family:var(--font-mono);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-bg);background:var(--color-accent);border-radius:var(--radius-full, 999px)}.tf-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.tf-section-head .tf-btn{margin-bottom:var(--space-2)}.tf-compare{overflow-x:auto}.tf-compare-table{width:100%;border-collapse:collapse;font-size:.9375rem}.tf-compare-table th,.tf-compare-table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-hairline)}.tf-compare-table thead th{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-3);font-weight:500}.tf-compare-table tbody th{font-weight:500;color:var(--color-text)}.tf-compare-table tbody td{color:var(--color-text-2)}.tf-compare-ours{color:var(--color-accent)!important;font-family:var(--font-mono);font-weight:600;white-space:nowrap}thead .tf-compare-ours{font-family:var(--font-mono)}.tf-compare-note{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-3);margin-top:var(--space-3);max-width:42rem}.tf-svc-vat{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-3);margin-top:var(--space-1)}.tf-svc-hero{margin:var(--space-6) 0;border:1px solid var(--color-hairline);border-radius:var(--d-radius);overflow:hidden}.tf-svc-hero img{width:100%;aspect-ratio:21 / 9;object-fit:cover;display:block;filter:grayscale(20%) brightness(.88)}html[data-theme=light] .tf-svc-hero img{filter:grayscale(8%) brightness(1)}@keyframes tf-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@supports (animation-timeline: view()){.tf-card-media,.tf-svc-hero{animation:tf-rise .22s var(--ease-out) both;animation-timeline:view();animation-range:entry 0% entry 35%}}@media(prefers-reduced-motion:reduce){.tf-card-img img,.tf-card,.tf-btn{transition:none}.tf-card:active,.tf-btn:active{transform:none}.tf-run-running:before{animation:none}.tf-card:hover .tf-card-img img{transform:none}.tf-card-media,.tf-svc-hero{animation:none}}.tf-timeline{list-style:none;padding:0}.tf-tl-item{display:grid;grid-template-columns:13rem 1fr;gap:var(--space-2) var(--space-8);padding-block:var(--space-8);border-top:1px solid var(--color-hairline)}.tf-tl-item:first-child{border-top:0;padding-top:0}.tf-tl-period{font-family:var(--font-mono);font-size:.8125rem;color:var(--color-text-3);padding-top:var(--space-1)}.tf-tl-company{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:-.01em;font-size:1.375rem;line-height:1.1}.tf-tl-role{font-family:var(--font-mono);font-size:.8125rem;color:var(--color-accent);margin-top:var(--space-1)}.tf-tl-desc{color:var(--color-text-2);margin-top:var(--space-3);max-width:60ch}.tf-skills{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));gap:var(--space-4)}.tf-skill-group{padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--d-radius);box-shadow:var(--d-shadow)}.tf-skill-head{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.tf-skill-group h3{font-family:var(--font-mono);font-size:.8125rem;font-weight:500;letter-spacing:.04em;color:var(--color-text)}.tf-back{display:inline-flex;align-items:center;min-height:var(--target-min);font-family:var(--font-mono);font-size:.8125rem;color:var(--color-text-2);text-decoration:none}.tf-pd-head{padding-block:var(--space-16) var(--space-12)}.tf-pd-meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-4);font-family:var(--font-mono);font-size:.8125rem;color:var(--color-text-3)}.tf-pd-title{font-size:clamp(3rem,10vw,7.5rem);margin-block:var(--space-6) var(--space-4)}.tf-pd-tagline{max-width:46rem;font-size:clamp(1.125rem,2.4vw,1.5rem);color:var(--color-text-2);line-height:1.45}.tf-pd-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:var(--space-3);margin-bottom:var(--space-8)}.tf-pd-stat{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--d-radius);box-shadow:var(--d-shadow)}.tf-pd-stat-k{display:block;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-3)}.tf-pd-stat-v{display:block;font-size:.9375rem;font-weight:600;color:var(--color-text)}.tf-pd-block{padding:var(--space-6);margin-bottom:var(--space-4);max-width:var(--container-prose);background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--d-radius);box-shadow:var(--d-shadow)}.tf-pd-label{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:.8125rem;color:var(--color-accent);font-weight:400;margin-bottom:var(--space-4)}.tf-pd-label .tf-ico{width:1rem;height:1rem}.tf-pd-block p{color:var(--color-text-2);max-width:65ch}.tf-pd-cta{margin-block:var(--space-8) var(--space-16)}.tf-contact-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));gap:var(--space-4);list-style:none;padding:0}.tf-contact-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--d-radius);box-shadow:var(--d-shadow)}.tf-contact-card .tf-k{display:block;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-3)}.tf-contact-card .tf-v{display:block;font-family:var(--font-mono);font-size:.875rem;color:var(--color-text)}.tf-contact-card .tf-v a{color:inherit;text-decoration:none}@media(hover:hover){.tf-contact-card .tf-v a:hover{color:var(--color-accent)}}.tf-cta-sub{color:var(--color-text-2);max-width:44rem;margin-bottom:var(--space-8)}.tf-more{display:inline-flex;align-items:center;min-height:var(--target-min);font-family:var(--font-mono);font-size:.8125rem;color:var(--color-accent);text-decoration:none;margin-top:var(--space-6)}.tf-footer{border-top:1px solid var(--color-hairline);padding-block:var(--space-12)}.tf-footer-grid{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4) var(--space-8)}.tf-footer nav{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-6)}.tf-footer a{display:inline-flex;align-items:center;min-height:var(--target-min);font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-2);text-decoration:none}.tf-footer-note{width:100%;font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-3);margin-top:var(--space-6)}.tf-dashbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2) var(--space-4);padding-block:var(--space-4);border-bottom:1px solid var(--color-hairline)}.tf-dashbar-title{font-size:clamp(1.75rem,4vw,2.5rem);line-height:1}.tf-dashbar-title .tf-accent{color:var(--color-accent)}.tf-dash-updated{margin-left:auto;min-height:1.5em;font-size:.75rem;color:var(--color-text-3)}.tf-dash-refresh{padding-inline:var(--space-3);font-size:.75rem}.tf-dash{padding-block:var(--space-4) var(--space-8)}.tf-dash-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr));gap:var(--space-2);margin-bottom:var(--space-4)}.tf-kpi{display:flex;flex-direction:column;min-width:0;padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--radius-sm)}.tf-kpi-link{display:block;color:inherit;text-decoration:none}@media(hover:hover){a.tf-kpi-link:hover,.tf-kpi-link:hover .tf-kpi{border-color:var(--color-accent-dim)}}.tf-kpi-l{display:block;font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-text-3)}.tf-kpi-l:before{content:"> ";color:var(--color-accent)}.tf-kpi b{display:block;margin-top:var(--space-1);font-family:var(--font-mono);font-weight:600;font-size:1.25rem;line-height:1.2}.tf-kpi-note{display:block;margin-top:var(--space-1);font-family:var(--font-mono);font-style:normal;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-3)}.tf-na{color:var(--color-text-3)}.tf-delta{display:inline-block;margin-top:var(--space-1);font-family:var(--font-mono);font-style:normal;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-2)}.tf-delta-up{color:var(--color-success)}.tf-delta-down{color:var(--color-danger, #f87171)}.tf-kpi .tf-delta{margin-bottom:var(--space-2)}.tf-kpi .tf-spark{display:block;width:100%;height:1.75rem;margin-top:auto}.tf-dash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,21rem),1fr));gap:var(--space-3)}.tf-dash-card{gap:var(--space-3);padding:var(--space-4);scroll-margin-top:var(--space-4)}.tf-dash-card--top{border-color:var(--color-hairline-strong);border-top:2px solid var(--color-accent);padding-top:calc(var(--space-4) - 1px)}.tf-dash-card[data-tone]{border-left-width:3px;padding-left:calc(var(--space-4) - 2px)}.tf-dash-card[data-tone=money]{border-left-color:var(--d-green);background:color-mix(in srgb,var(--d-green) 7%,var(--color-surface))}.tf-dash-card[data-tone=mon]{border-left-color:var(--d-orange)}.tf-dash-card[data-tone=live]{border-left-color:var(--d-cyan)}.tf-dash-card[data-tone=dev]{border-left-color:var(--d-violet)}.tf-dash-card[data-tone=bad]{border-left-color:var(--d-red)}.tf-dash-head{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.tf-dash-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--color-text-3)}.tf-dash-dot-live{background:var(--color-success);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-success) 18%,transparent)}.tf-dash-card h3{font-size:1.125rem}.tf-dash-card .tf-card-domain{display:inline-flex;align-items:center;min-height:var(--target-min);font-size:.75rem;text-decoration:none}.tf-dash-flags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-1);margin-left:auto}.tf-flag{padding:0 var(--space-2);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;color:var(--color-text-2);border:1px solid var(--color-hairline);border-radius:var(--d-radius-pill)}.tf-flag-ok{color:var(--color-success);border-color:color-mix(in srgb,var(--color-success) 35%,transparent)}.tf-flag-mon{color:var(--color-accent);border-color:var(--color-accent-dim)}.tf-flag-bad{color:var(--color-danger, #f87171)}.tf-flag-idea{color:var(--d-violet);border-color:color-mix(in srgb,var(--d-violet) 40%,transparent)}.tf-flag-top{font-weight:600;color:var(--color-accent-ink);background:var(--color-accent);border-color:var(--color-accent)}.tf-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-block-end:var(--space-4)}.tf-tab{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--target-min);padding:0 var(--space-3);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-2);background:none;border:1px solid var(--color-hairline);border-radius:var(--radius-sm);cursor:pointer}.tf-tab:hover{border-color:var(--color-accent)}.tf-tab-active{color:var(--color-accent);border-color:var(--color-accent)}.tf-tab-n{font-size:.75rem;color:var(--color-text-3)}.tf-tab-active .tf-tab-n{color:var(--color-accent)}.tf-dash-stats-mobile{grid-template-columns:repeat(3,1fr)}.tf-dash-main-cap{display:flex;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-1);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-3)}.tf-dash-main-cap .tf-delta{margin-top:0}.tf-dash-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--color-hairline);border-left:1px solid var(--color-hairline)}.tf-stat{min-width:0;padding:var(--space-2);border-right:1px solid var(--color-hairline);border-bottom:1px solid var(--color-hairline)}.tf-stat-l{display:block;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-text-3)}.tf-stat-v{display:block;margin-top:2px;font-family:var(--font-mono);font-size:.8125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tf-stat-v.tf-na{color:var(--color-text-3)}@media(max-width:26rem){.tf-dash-stats{grid-template-columns:repeat(2,1fr)}}.tf-actions{border-top:1px solid var(--color-hairline);padding-top:var(--space-2)}.tf-actions-run{display:block;margin-bottom:var(--space-2);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.02em;color:var(--color-accent)}.tf-actions-menu{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tf-action{flex:1 1 auto;justify-content:center;min-height:var(--target-min);padding-inline:var(--space-3);font-size:.75rem}.tf-action:disabled{opacity:.5;cursor:wait}.tf-action-field{flex:1 1 100%}.tf-action-field>summary{display:flex;align-items:center;gap:var(--space-2);min-height:var(--target-min);padding-inline:var(--space-3);list-style:none;cursor:pointer;font-family:var(--font-mono);font-size:.75rem;color:var(--color-text);border:1px solid var(--color-hairline-strong);border-radius:var(--d-radius)}.tf-action-field>summary::-webkit-details-marker{display:none}.tf-action-field>summary:before{content:">";color:var(--color-accent);transition:transform var(--duration-fast) var(--ease-out)}.tf-action-field[open]>summary:before{transform:rotate(90deg)}@media(hover:hover){.tf-action-field>summary:hover{color:var(--color-accent);border-color:var(--color-accent)}}.tf-action-inner{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-top:var(--space-2)}.tf-action-inner .tf-action{flex:0 0 auto}.tf-action-input{flex:1 1 8rem;min-width:0;min-height:var(--target-min);padding-inline:var(--space-3);font-size:.75rem}.tf-runs{margin-top:var(--space-2)}.tf-runs-pills{display:flex;flex-wrap:wrap;gap:var(--space-1);list-style:none;padding:0}.tf-run-pill{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--target-min);padding:2px var(--space-2);font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-2);text-decoration:none;border:1px solid var(--color-hairline);border-radius:var(--d-radius-pill)}.tf-run-pill b{font-weight:400;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-3)}.tf-run-running,.tf-run-running b{color:var(--color-accent);border-color:var(--color-accent-dim)}.tf-run-failed,.tf-run-failed b{color:var(--color-danger, #f87171)}.tf-run-queued{border-style:dashed}.tf-run-running:before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--color-accent);animation:tf-pulse 1.6s var(--ease-out) infinite}@keyframes tf-pulse{50%{opacity:.25}}.tf-run-expired,.tf-run-killed,.tf-run-kill_requested,.tf-run-other{color:var(--color-text-3)}@media(hover:hover){a.tf-run-pill:hover{color:var(--color-accent);border-color:var(--color-accent)}}.tf-live-dot{flex:none;width:8px;height:8px;margin-left:var(--space-1);border-radius:50%;background:var(--color-text-3)}.tf-live-ok{background:var(--color-success)}.tf-live-bad{background:var(--color-danger, #f87171)}.tf-run-retry{padding:var(--space-2) var(--space-1);font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-accent);background:none;border:0;cursor:pointer}@media(hover:hover){.tf-run-retry:hover{text-decoration:underline}}.tf-dispatch-link{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px}.tf-dispatch-status{min-height:1.5em;margin-top:var(--space-2);font-size:.75rem;color:var(--color-text-2)}.tf-spark{color:var(--color-accent);width:100%;height:auto}.tf-mrows{list-style:none;padding:0;margin-top:auto}.tf-mrow{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-1);border-top:1px solid var(--color-hairline);font-family:var(--font-mono);font-size:.75rem}.tf-mrow .tf-k,.tf-mrow .tf-v.tf-na,.tf-dash-down{color:var(--color-text-3)}.tf-dash-h{font-family:var(--font-mono);font-size:.8125rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-4)}.tf-dash-alerts{margin-bottom:var(--space-4)}.tf-alert-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;padding:0}.tf-alert-chip{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--target-min);padding:var(--space-1) var(--space-3);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.02em;color:var(--color-text-2);text-decoration:none;border:1px solid var(--color-hairline);border-radius:var(--d-radius-pill)}.tf-alert-chip b{font-weight:400;color:var(--color-text-3)}.tf-alert-dot{flex:none;width:6px;height:6px;border-radius:50%;background:var(--color-text-3)}.tf-alert-crit{color:var(--color-text)}.tf-alert-crit .tf-alert-dot{background:var(--color-danger, #f87171)}.tf-alert-warn .tf-alert-dot{background:var(--color-warn)}@media(hover:hover){.tf-alert-chip:hover{color:var(--color-text);border-color:var(--color-accent)}}.tf-suggests{border-top:1px solid var(--color-hairline);padding-top:var(--space-3)}.tf-suggest-list{list-style:none;padding:0}.tf-suggest{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-1) var(--space-3);padding-block:var(--space-1);border-top:1px solid var(--color-hairline);font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-2)}.tf-suggest-meta{display:inline-flex;align-items:baseline;gap:var(--space-2);flex-shrink:0}.tf-sug-sev{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-3)}.tf-sug-sev-crit .tf-sug-sev{color:var(--color-danger, #f87171)}.tf-sug-sev-warn .tf-sug-sev{color:var(--color-warn)}.tf-sug-sev-opp .tf-sug-sev{color:var(--color-success)}.tf-suggest-conf{font-size:.75rem;color:var(--color-text-3)}.tf-suggest-ops{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-accent);border:1px solid var(--color-accent-dim);border-radius:var(--d-radius-pill);padding:0 var(--space-1);white-space:nowrap}.tf-suggest-why{flex:1 1 12rem;min-width:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.tf-suggest-btns{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2);margin-left:auto}.tf-sug-btn{min-height:var(--target-min);padding-inline:var(--space-3);font-size:.75rem}.tf-sug-btn:disabled{opacity:.5;cursor:wait}.tf-suggests-status{min-height:1.5em;margin-top:var(--space-2);font-size:.75rem;color:var(--color-text-2)}.tf-dsec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:var(--space-3) var(--space-4);padding-block:var(--space-3) var(--space-4)}.tf-dsec{border-top:1px solid var(--color-hairline);padding-top:var(--space-3)}.tf-dsec-h{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2);font-family:var(--font-mono);font-size:.75rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-3)}.tf-dsec .tf-mrows{margin-top:0}.tf-fresh{font-size:.75rem;color:var(--color-accent);border:1px solid var(--color-accent-dim);border-radius:var(--d-radius-pill);padding:0 var(--space-1);white-space:nowrap}.tf-chart-block{border-top:1px solid var(--color-hairline);padding-top:var(--space-3)}.tf-chart-block>summary{display:flex;align-items:center;gap:var(--space-2);min-height:var(--target-min);list-style:none;cursor:pointer;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-3)}.tf-chart-block>summary::-webkit-details-marker{display:none}.tf-chart-block>summary:before{content:">";color:var(--color-accent);transition:transform var(--duration-fast) var(--ease-out)}.tf-chart-block[open]>summary:before{transform:rotate(90deg)}@media(hover:hover){.tf-chart-block>summary:hover{color:var(--color-text-2)}}.tf-chart-block>summary:focus-visible,.tf-action-field>summary:focus-visible{color:var(--color-accent)}.tf-chart-list{display:grid;gap:var(--space-4);padding-bottom:var(--space-2)}.tf-chart-h{font-family:var(--font-mono);font-size:.75rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-3);margin-bottom:var(--space-1)}.tf-chart-cap{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.04em;color:var(--color-text-3);margin-top:var(--space-2)}.tf-chart-legend{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-3);margin-bottom:var(--space-1)}.tf-chart-key{display:inline-flex;align-items:center;gap:var(--space-1)}.tf-chart-key:before{content:"";width:.625rem;height:2px;background:var(--color-accent)}.tf-chart-key-alt:before{background:var(--color-text-2)}.tf-chart{width:100%;height:auto}.tf-chart-grid{stroke:var(--color-hairline);stroke-width:1}.tf-chart-ax{fill:var(--color-text-3);font-family:var(--font-mono);font-size:.75rem}.tf-chart-area{fill:var(--color-accent);fill-opacity:.08}.tf-chart-line{fill:none;stroke:var(--color-accent);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.tf-chart-line.tf-chart-alt{stroke:var(--color-text-2)}.tf-chart-dot{fill:var(--color-accent)}.tf-chart-dot.tf-chart-alt{fill:var(--color-text-2)}.tf-chart-bar{fill:var(--color-accent)}.tf-chart-bar-off{fill:var(--color-danger, #f87171)}.tf-chart-empty{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-3)}.tf-login{padding-top:0}.tf-login-form{display:grid;gap:var(--space-6);max-width:24rem}.tf-login-field{display:grid;gap:var(--space-2)}.tf-login-label{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-3)}.tf-input{min-height:var(--target-min);padding-inline:var(--space-4);font-family:var(--font-mono);font-size:.9375rem;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-hairline-strong);border-radius:var(--d-radius)}.tf-input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-color:var(--color-accent)}.tf-form{display:flex;flex-direction:column;gap:var(--space-4);max-width:36rem}.tf-field{display:flex;flex-direction:column;gap:var(--space-2)}.tf-label{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-3)}textarea.tf-input{min-height:8rem;padding-block:var(--space-3);resize:vertical}.tf-form-status{font-family:var(--font-mono);font-size:.8125rem;min-height:1.25rem}.tf-form-status[data-state=ok]{color:var(--color-accent)}.tf-form-status[data-state=err]{color:var(--color-danger, #f87171)}.tf-hp{position:absolute;left:-9999px;height:1px;width:1px;overflow:hidden}.tf-login-error{color:var(--color-danger, #f87171);font-size:.8125rem}.tf-err{padding-block:var(--space-32);text-align:left}.tf-err-code{font-size:clamp(5rem,20vw,12rem)}.tf-section-intro{max-width:44rem;color:var(--color-text-2);margin-top:calc(-1 * var(--space-8));margin-bottom:var(--space-12)}@media(max-width:639.98px){.tf-header-inner{gap:var(--space-1) var(--space-4)}.tf-tl-item{grid-template-columns:1fr;padding-block:var(--space-6)}.tf-section{padding-block:var(--space-12)}.tf-hero{padding-block:var(--space-8) var(--space-6)}.tf-hero-panel{padding:var(--space-6) var(--space-4)}}.tf-cert-list{margin-top:var(--space-6)}.tf-ideas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:var(--space-4);margin-top:var(--space-6)}.tf-cat-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.tf-cat-tab{padding:var(--space-1) var(--space-3);font-size:var(--text-xs);letter-spacing:.04em;color:var(--color-text-secondary);background:transparent;border:1px solid var(--color-hairline);border-radius:var(--d-radius-pill, 90px);cursor:pointer;transition:color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.tf-cat-tab:hover{color:var(--color-text);border-color:var(--color-hairline-strong)}.tf-cat-tab.is-active{color:var(--color-accent);border-color:color-mix(in srgb,var(--color-accent) 55%,transparent)}.tf-cat-tab:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.tf-ab-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tf-ab-cat{color:var(--color-accent)}.tf-appbrain-sub{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-secondary)}.tf-idea-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--d-radius);box-shadow:var(--d-shadow);transition:border-color var(--duration-fast) var(--ease-out)}.tf-idea-card:hover{border-color:var(--color-hairline-strong)}.tf-idea-card[data-status=launched],.tf-idea-card[data-status=shipped]{border-color:color-mix(in srgb,var(--color-success) 35%,transparent)}.tf-idea-card[data-tier]{border-left-width:3px;padding-left:calc(var(--space-4) - 2px)}.tf-idea-card[data-tier=hot]{border-color:color-mix(in srgb,var(--d-green) 45%,transparent);border-left-color:var(--d-green);background:color-mix(in srgb,var(--d-green) 7%,var(--color-surface))}.tf-idea-card[data-tier=warm]{border-left-color:var(--d-orange)}.tf-idea-card[data-tier=cool]{border-left-color:var(--d-cyan)}.tf-idea-card[data-tier=live]{border-left-color:var(--d-violet)}.tf-idea-card[data-tier=cold]{opacity:.55}.tf-idea-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.tf-idea-title{margin:0;font-family:var(--font-display);font-size:1.25rem;font-weight:500;text-transform:uppercase;letter-spacing:.02em}.tf-idea-verdict{flex-shrink:0;font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-2)}.tf-idea-v-go{color:var(--color-success)}.tf-idea-v-watch{color:var(--color-text-2)}.tf-idea-v-drop{color:var(--color-text-3)}.tf-idea-pitch{margin:0;font-size:.875rem;color:var(--color-text-2)}.tf-idea-badges{display:flex;flex-wrap:wrap;gap:var(--space-1);list-style:none;margin:0;padding:0}.tf-idea-badge{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-2);border:1px solid var(--color-hairline);border-radius:var(--d-radius-pill);padding:var(--space-1) var(--space-2)}.tf-idea-status[data-s=launched],.tf-idea-status[data-s=shipped]{color:var(--color-success);border-color:color-mix(in srgb,var(--color-success) 35%,transparent)}.tf-idea-status[data-s=selected]{color:var(--color-accent);border-color:var(--color-accent-dim)}.tf-idea-status[data-s=dropped]{color:var(--color-text-3)}.tf-idea-report summary{min-height:var(--target-min);display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:.75rem;color:var(--color-accent);cursor:pointer}.tf-idea-pre{margin:var(--space-2) 0 0;padding:var(--space-3);background:var(--color-bg);border:1px solid var(--color-hairline);border-radius:var(--d-radius);font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-2);white-space:pre-wrap;overflow-wrap:anywhere;max-height:20rem;overflow-y:auto}.tf-idea-signals{margin:var(--space-2) 0 0;padding-inline-start:var(--space-4);font-size:.75rem;color:var(--color-text-2)}.tf-idea-signals li{overflow-wrap:anywhere}.tf-idea-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:auto}.tf-idea-meta{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-3)}.tf-idea-launch{font-size:.75rem}.tf-idea-launch:disabled{opacity:.5;cursor:wait}.tf-idea-launched{font-size:.75rem;color:var(--color-success);text-decoration:none}@media(hover:hover){a.tf-idea-launched:hover{text-decoration:underline}}.tf-idea-status-msg{min-height:1.25em;margin:0;font-size:.75rem;color:var(--color-text-2)}.tf-ideas-empty{margin:var(--space-4) 0 0;font-size:.875rem;color:var(--color-text-3)}.tf-nas-intro{margin:var(--space-2) 0 0;font-size:.875rem;color:var(--color-text-2);max-width:64ch}.tf-nas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:var(--space-4);margin-top:var(--space-5)}.tf-nas-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--d-radius);box-shadow:var(--d-shadow);transition:border-color var(--duration-fast) var(--ease-out)}.tf-nas-card:hover{border-color:var(--color-hairline-strong)}.tf-nas-head{display:flex;align-items:center;gap:var(--space-3)}.tf-nas-ico{flex-shrink:0;width:var(--size-6);height:var(--size-6);color:var(--color-accent)}.tf-nas-id{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.tf-nas-name{margin:0;font-family:var(--font-display);font-size:1.125rem;font-weight:500;text-transform:uppercase;letter-spacing:.02em}.tf-nas-access{align-self:flex-start;font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-2);border:1px solid var(--color-hairline);border-radius:var(--d-radius-pill);padding:var(--space-1) var(--space-2)}.tf-nas-desc{margin:0;font-size:.875rem;color:var(--color-text-2)}.tf-nas-use{margin:0;font-size:.8125rem;color:var(--color-text-3)}.tf-nas-use-l{display:block;font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-2);margin-bottom:var(--space-1)}.tf-nas-link{align-self:flex-start;margin-top:auto;display:inline-flex;align-items:center;gap:var(--space-2)}.tf-ag-card .tf-idea-meta{display:block}.tf-ag-onoff[data-on="1"]{color:var(--color-success);border-color:color-mix(in srgb,var(--color-success) 35%,transparent)}.tf-ag-onoff[data-on="0"]{color:var(--color-text-3)}.tf-ag-sched{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-hairline)}.tf-ag-sched-t{margin:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-3)}.tf-ag-days{display:flex;flex-wrap:wrap;gap:var(--space-1)}.tf-ag-day{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--target-min);padding:0 var(--space-2);font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-2);border:1px solid var(--color-hairline);border-radius:var(--d-radius-pill);cursor:pointer}.tf-ag-day:has(input:checked){color:var(--color-accent);border-color:var(--color-accent-dim)}.tf-ag-opts{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.tf-ag-hour,.tf-ag-en{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--target-min);font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-2)}.tf-ag-hour input{width:3.5rem;min-height:2rem;padding:0 var(--space-2);font-family:var(--font-mono);font-size:.8125rem;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-hairline);border-radius:var(--radius-sm)}.tf-ag-save{margin-left:auto;font-size:.75rem}.tf-ag-save:disabled{opacity:.5;cursor:wait}.tf-ag-msg{min-height:1.25em;margin:0;font-size:.75rem;color:var(--color-text-2)}.tf-ag-launchrow{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.tf-ag-note{flex:1;min-width:0;min-height:2rem;padding:0 var(--space-2);font-family:var(--font-mono);font-size:.75rem;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-hairline);border-radius:var(--radius-sm)}.tf-ag-launch{flex:none;font-size:.75rem}.tf-ag-launch:disabled,.tf-ag-note:disabled{opacity:.5;cursor:wait}.tf-ag-lmsg{min-height:1.25em;margin:var(--space-1) 0 0;font-size:.75rem;color:var(--color-text-2)}.tf-ag-runst{font-size:inherit;color:var(--color-text-2)}.tf-ag-reps{padding:0;font-size:inherit;color:var(--color-accent);background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.tf-ag-rep-filter{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-3)}.tf-ag-chip{min-height:2rem;padding:0 var(--space-3);font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-2);background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:90px;cursor:pointer}.tf-ag-chip[aria-pressed=true]{color:var(--color-text);border-color:var(--color-accent)}.tf-ag-rep-head{margin-top:var(--space-8)}.tf-ag-rep-sub{margin:var(--space-1) 0 var(--space-3);font-size:.8125rem;color:var(--color-text-3)}.tf-ag-reports{display:flex;flex-direction:column;gap:var(--space-2);list-style:none;margin:0;padding:0}.tf-ag-rep-btn{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);width:100%;min-height:var(--target-min);padding:var(--space-2) var(--space-3);text-align:left;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--d-radius);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out)}.tf-ag-rep-btn:hover{border-color:var(--color-hairline-strong)}.tf-ag-rep-t{font-size:.875rem;overflow-wrap:anywhere}.tf-ag-rep-m{flex-shrink:0;font-size:.75rem;color:var(--color-text-3)}.tf-ag-view{margin-top:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--d-radius);box-shadow:var(--d-shadow)}.tf-ag-view-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.tf-ag-view-title{margin:0;font-family:var(--font-display);font-size:1.25rem;font-weight:500;text-transform:uppercase;letter-spacing:.02em}.tf-ag-view-close{flex-shrink:0;min-width:var(--target-min);min-height:var(--target-min);font-size:1.25rem;color:var(--color-text-3);background:none;border:0;cursor:pointer}.tf-ag-view-meta{margin:var(--space-1) 0 var(--space-3);font-size:.75rem;color:var(--color-text-3)}.tf-ag-md{font-size:.875rem;color:var(--color-text-2);overflow-wrap:anywhere}.tf-ag-md h4,.tf-ag-md h5,.tf-ag-md h6{margin:var(--space-4) 0 var(--space-2);font-family:var(--font-display);font-weight:500;text-transform:uppercase;letter-spacing:.02em;color:var(--color-text)}.tf-ag-md h4{font-size:1.125rem}.tf-ag-md h5{font-size:1rem}.tf-ag-md h6{font-size:.875rem}.tf-ag-md p{margin:var(--space-2) 0}.tf-ag-md ul,.tf-ag-md ol{margin:var(--space-2) 0;padding-inline-start:var(--space-6)}.tf-ag-md li{margin:var(--space-1) 0}.tf-ag-md code{padding:.1em .35em;font-family:var(--font-mono);font-size:.8125rem;background:var(--color-bg);border:1px solid var(--color-hairline);border-radius:6px}.tf-ag-md a{color:var(--color-accent)}.tf-ag-md hr{margin:var(--space-4) 0;border:0;border-top:1px solid var(--color-hairline)}.tf-proj-group+.tf-proj-group{margin-top:var(--space-8)}.tf-proj-group-h{margin:0;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-3)}.tf-proj-count{color:var(--color-text-3)}.tf-proj-count:before{content:"("}.tf-proj-count:after{content:")"}.tf-proj-name{color:inherit;text-decoration:none}.tf-proj-name:hover{color:var(--color-accent)}.tf-proj[data-phase=live]{border-left:2px solid color-mix(in srgb,var(--color-success) 45%,transparent)}.tf-proj[data-phase=drop]{opacity:.55}.tf-proj-focus{color:var(--color-accent);border-color:var(--color-accent-dim)}.tf-idea-status[data-s=live]{color:var(--color-success);border-color:color-mix(in srgb,var(--color-success) 35%,transparent)}.tf-idea-status[data-s=dev]{color:var(--color-accent);border-color:var(--color-accent-dim)}.tf-idea-status[data-s=eval],.tf-idea-status[data-s=park]{color:var(--color-text-2)}.tf-idea-status[data-s=drop]{color:var(--color-text-3);text-decoration:line-through}.tf-proj-next{margin:0;font-size:.75rem;color:var(--color-text-2);overflow-wrap:anywhere}.tf-proj-next-h{color:var(--color-accent);text-transform:uppercase;letter-spacing:.06em}.tf-proj-detail-body{margin:var(--space-2) 0 0;font-size:.75rem;color:var(--color-text-2);overflow-wrap:anywhere}.tf-proj-actions{position:relative;flex-shrink:0}.tf-proj-act-toggle{min-height:var(--target-min);cursor:pointer;list-style:none}.tf-proj-act-toggle::-webkit-details-marker{display:none}.tf-proj-actions[open]>.tf-proj-act-toggle{color:var(--color-accent)}.tf-proj-act-menu{position:absolute;right:0;z-index:10;display:flex;flex-direction:column;align-items:stretch;gap:var(--space-1);min-width:13rem;max-height:22rem;overflow-y:auto;margin-top:var(--space-1);padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-hairline-strong);border-radius:var(--radius-sm)}.tf-proj-act-menu .tf-btn{text-align:start}.tf-proj-act-status{position:absolute;right:0;margin:var(--space-1) 0 0;font-size:.75rem;color:var(--color-text-2);min-height:1.25em}.tf-dashnav{position:sticky;top:0;z-index:20;display:flex;flex-wrap:nowrap;gap:var(--space-2);margin:0 calc(var(--gutter) * -1);padding:var(--space-2) var(--gutter);overflow-x:auto;scrollbar-width:none;background:var(--color-bg);border-bottom:1px solid var(--color-hairline)}.tf-dashnav::-webkit-scrollbar{display:none}.tf-dashnav .tf-tab{flex:none;text-decoration:none}.tf-nav-on{color:var(--color-accent);border-color:var(--color-accent)}.tf-sec{padding-block:var(--space-6);scroll-margin-top:calc(var(--target-min) + var(--space-8))}.tf-sec+.tf-sec{border-top:1px solid var(--color-hairline)}.tf-sec-h{margin-bottom:var(--space-4);font-family:var(--font-mono);font-size:.8125rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent)}.tf-tab-dot{flex:none;width:6px;height:6px;border-radius:50%}.tf-tab-dot-crit{background:var(--color-danger, #f87171)}.tf-tab-dot-warn{background:var(--color-warn)}.tf-kpi-alert-crit b{color:var(--color-danger, #f87171)}.tf-kpi-alert-warn b{color:var(--color-text)}.tf-kpi-alert-ok b{color:var(--color-success)}.tf-quota{margin-bottom:var(--space-4)}.tf-quota-cap{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-1);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-3)}.tf-quota-cap b{font-weight:400;color:var(--color-text)}.tf-quota-track{height:6px;border-radius:var(--radius-sm);background:var(--color-surface-2);overflow:hidden}.tf-quota-fill{display:block;height:100%;background:var(--color-accent)}.tf-quota-warn .tf-quota-fill{background:var(--color-text-2)}.tf-quota-crit .tf-quota-fill{background:var(--color-danger, #f87171)}.tf-infra-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media(min-width:60rem){.tf-infra-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}}.tf-wtable{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:.75rem}.tf-wtable th{padding:var(--space-1) var(--space-2);font-weight:400;letter-spacing:.06em;text-transform:uppercase;text-align:left;color:var(--color-text-3);border-bottom:1px solid var(--color-hairline)}.tf-wtable td{padding:var(--space-1) var(--space-2);color:var(--color-text-2);border-bottom:1px solid var(--color-hairline);white-space:nowrap}.tf-wtable td:first-child{color:var(--color-text)}.tf-wtable .tf-num{text-align:right}.tf-wtable .tf-err{color:var(--color-danger, #f87171)}.tf-infra-meta .tf-dsec{margin-bottom:var(--space-4)}.tf-coll-list{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;padding:0}.tf-coll{display:inline-flex;align-items:center;gap:var(--space-1);padding:0 var(--space-2);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.04em;color:var(--color-text-2);border:1px solid var(--color-hairline);border-radius:var(--d-radius-pill)}.tf-coll .tf-alert-dot{width:5px;height:5px}.tf-coll-ok .tf-alert-dot{background:var(--color-success)}.tf-coll-ko{color:var(--color-text)}.tf-coll-ko .tf-alert-dot{background:var(--color-danger, #f87171)}.tf-suggest-prod{color:var(--color-text-2);text-decoration:none}.tf-triage-sugs .tf-suggest-prod{color:var(--color-text);font-weight:600}@media(hover:hover){a.tf-suggest-prod:hover{color:var(--color-accent)}}.tf-triage-note{margin:var(--space-2) 0 0;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-3)}.tf-ops-grid{display:grid;gap:var(--space-4)}@media(min-width:900px){.tf-ops-grid{grid-template-columns:1fr 1fr;align-items:start}}.tf-ops-col>section{margin-bottom:var(--space-4)}.tf-dep{display:inline-flex;align-items:center;padding:0 var(--space-2);min-height:22px;margin:0 var(--space-2) var(--space-2) 0;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.04em;border:1px solid var(--color-hairline);border-radius:var(--d-radius-pill)}.tf-dep-ok{color:var(--color-success);border-color:color-mix(in srgb,var(--color-success) 35%,transparent)}.tf-dep-ko{color:var(--color-danger, #f87171);border-color:var(--color-danger, #f87171)}.tf-ops-act{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--color-hairline)}.tf-ops-act:last-child{border-bottom:0}.tf-ops-name{font-size:.75rem;color:var(--color-text)}.tf-ops-sel{min-height:var(--target-min);padding:0 var(--space-2);background:var(--color-surface-2);color:var(--color-text);border:1px solid var(--color-hairline);border-radius:var(--d-radius);font-family:var(--font-mono);font-size:.75rem}.tf-ops-btn{min-height:var(--target-min);padding:0 var(--space-3);background:transparent;color:var(--color-accent);border:1px solid var(--color-accent-dim);border-radius:var(--d-radius);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.04em;cursor:pointer}.tf-ops-btn:hover:not(:disabled){background:var(--color-accent-dim)}.tf-ops-btn:disabled{color:var(--color-text-3);border-color:var(--color-hairline);cursor:not-allowed}.tf-ops-dry{color:var(--color-text-2);border-color:var(--color-hairline)}.tf-ops-dry:hover:not(:disabled){background:var(--color-surface-2)}.tf-ops-miss{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-3)}.tf-ops-msg{font-size:.75rem;color:var(--color-text-2)}.tf-ops-wait{font-size:.75rem;color:var(--color-text-3)}.tf-ops-drytag{color:var(--color-text-3);font-size:.75rem}.tf-ops-st-ok{color:var(--color-success)}.tf-ops-st-ko{color:var(--color-danger, #f87171)}.tf-ops-st-run{color:var(--color-text-2)}.tf-fleet{display:grid;gap:var(--space-4)}.tf-fleet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));gap:var(--space-3)}.tf-node{gap:var(--space-2);padding:var(--space-3)}.tf-node h3{font-size:.9375rem}.tf-node-dot-online{background:var(--color-success);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-success) 18%,transparent)}.tf-node-dot-stale{background:var(--color-warn, #fbbf24)}.tf-node-dot-offline{background:var(--color-text-3)}.tf-node-meta{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.02em;color:var(--color-text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tf-node-stats{grid-template-columns:repeat(2,1fr)}@media(min-width:24rem){.tf-node-stats{grid-template-columns:repeat(4,1fr)}}.tf-node-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-hairline)}.tf-node-ctl-h{flex-basis:100%;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-3)}.tf-node-actions .tf-btn{min-height:var(--target-min)}.tf-node-svc{display:flex;align-items:center;gap:var(--space-2);flex:1 1 100%}.tf-node-svc-sel{flex:1;min-width:0;min-height:var(--target-min)}.tf-node-cmd{margin:var(--space-2) 0 0;font-size:.75rem;color:var(--color-text-2);min-height:1.25em;overflow-wrap:anywhere}.tf-gauge{display:block;height:3px;margin-top:var(--space-1);background:var(--color-surface-2);border-radius:var(--radius-sm);overflow:hidden}.tf-gauge-fill{display:block;height:100%;background:var(--color-accent)}.tf-gauge-hot .tf-gauge-fill{background:var(--color-danger, #f87171)}.tf-rstate-online .tf-alert-dot{background:var(--color-success)}.tf-rstate-stale .tf-alert-dot{background:var(--color-warn, #fbbf24)}.tf-rstate-offline .tf-alert-dot{background:var(--color-text-3)}.tf-dash-shell{display:flex;min-height:100dvh;background:var(--color-bg);color:var(--color-text)}.tf-dash-sprite,.tf-sprite{position:absolute;width:0;height:0;overflow:hidden}.tf-ico{width:1.125rem;height:1.125rem;flex:none}.tf-dash-side{position:fixed;inset:0 auto 0 0;z-index:45;display:flex;flex-direction:column;width:var(--d-side-w);background:var(--color-surface);border-right:1px solid var(--color-hairline);transform:translate(-100%);transition:transform var(--duration-normal) var(--ease-out)}@media(min-width:64rem){.tf-dash-side{transform:none}}.tf-nav-open .tf-dash-side{transform:none}.tf-dash-scrim{position:fixed;inset:0;z-index:40;display:none;border:0;padding:0;background:#06080f8c}.tf-nav-open .tf-dash-scrim{display:block}@media(min-width:64rem){.tf-dash-scrim,.tf-nav-open .tf-dash-scrim{display:none}}.tf-dash-brand{display:flex;align-items:center;gap:var(--space-3);min-height:4.5rem;padding-inline:var(--space-4);border-bottom:1px solid var(--color-hairline);text-decoration:none}.tf-dash-brand-mark{display:grid;place-items:center;width:2.25rem;height:2.25rem;flex:none;border-radius:var(--d-radius);background:var(--color-accent-dim);color:var(--color-accent);font-family:var(--font-mono);font-size:.8125rem;font-weight:600}.tf-dash-brand-t{display:flex;flex-direction:column;font-weight:600;font-size:.9375rem;letter-spacing:.01em;color:var(--color-text)}.tf-dash-brand-t small{font-family:var(--font-mono);font-weight:400;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-3)}.tf-dash-shell .tf-dashnav{position:static;display:flex;flex-direction:column;flex-wrap:nowrap;flex:1;min-height:0;gap:2px;margin:0;padding:var(--space-3) var(--space-3) var(--space-4);overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--color-hairline-strong) transparent;background:transparent;border-bottom:0}.tf-dash-shell .tf-dashnav::-webkit-scrollbar{display:block;width:4px}.tf-dashnav::-webkit-scrollbar-thumb{background:var(--color-hairline-strong);border-radius:4px}.tf-dash-grp{margin-top:var(--space-4);padding:0 var(--space-2) var(--space-1);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-3)}.tf-dash-grp:first-child{margin-top:0}.tf-dash-link{display:flex;align-items:center;gap:var(--space-3);min-height:var(--target-min);padding-inline:var(--space-3);border-radius:var(--d-radius);font-size:.875rem;color:var(--color-text-2);text-decoration:none;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.tf-dash-link .tf-ico{color:var(--color-text-3)}@media(hover:hover){.tf-dash-link:hover{background:var(--color-surface-2);color:var(--color-text)}.tf-dash-link:hover .tf-ico{color:var(--color-text-2)}}.tf-dash-link.tf-nav-on{background:var(--color-accent-dim);color:var(--color-accent);font-weight:500}.tf-dash-link.tf-nav-on .tf-ico{color:var(--color-accent)}.tf-dash-back{display:flex;align-items:center;gap:var(--space-3);min-height:var(--target-min);margin:0 var(--space-3) var(--space-3);padding-inline:var(--space-3);border:1px solid var(--color-hairline);border-radius:var(--d-radius);font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-3);text-decoration:none}@media(hover:hover){.tf-dash-back:hover{color:var(--color-accent);border-color:var(--color-accent-dim)}}.tf-dash-main{flex:1;min-width:0;display:flex;flex-direction:column}@media(min-width:64rem){.tf-dash-main{margin-left:var(--d-side-w)}}.tf-dash-top{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:var(--space-2) var(--space-3);min-height:4.5rem;padding:var(--space-2) var(--space-4);background:var(--color-bg);border-bottom:1px solid var(--color-hairline)}@media(min-width:64rem){.tf-dash-top{padding-inline:var(--space-6)}}.tf-dash-iconbtn{position:relative;display:grid;place-items:center;width:var(--target-min);height:var(--target-min);padding:0;color:var(--color-text-2);background:none;border:1px solid transparent;border-radius:var(--d-radius);cursor:pointer}@media(hover:hover){.tf-dash-iconbtn:hover{color:var(--color-text);background:var(--color-surface-2)}}@media(min-width:64rem){.tf-dash-burger{display:none}}.tf-dash-crumb{min-width:0;margin-right:auto;font-size:1rem;font-weight:600;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tf-dash-shell .tf-dash-updated{margin-left:0}.tf-dash-shell .tf-dash-refresh{min-height:var(--target-min);font-size:.75rem;border-color:var(--color-hairline)}@media(max-width:40rem){.tf-dash-shell .tf-dash-refresh{padding-inline:var(--space-2);font-size:0}.tf-dash-shell .tf-dash-refresh:before{content:"↻";font-size:1rem}}.tf-ico-moon,html[data-theme=light] .tf-ico-sun{display:none}html[data-theme=light] .tf-ico-moon,.tf-dash-userbtn{display:block}.tf-dash-avatar{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--color-accent-dim);color:var(--color-accent);font-family:var(--font-mono);font-size:.75rem;font-weight:600;letter-spacing:.04em}@media(hover:hover){.tf-dash-userbtn:hover .tf-dash-avatar{color:var(--color-text);background:var(--color-surface-2)}}.tf-notif-count{position:absolute;top:4px;right:2px;min-width:1.125rem;height:1.125rem;padding:0 4px;border-radius:999px;background:var(--color-danger);color:#fff;font-family:var(--font-mono);font-size:.75rem;font-weight:600;line-height:1.125rem;text-align:center}.tf-dash-menu{position:relative}.tf-dash-menu>summary{list-style:none;cursor:pointer}.tf-dash-menu>summary::-webkit-details-marker{display:none}.tf-dash-menu[open]>summary.tf-dash-iconbtn{color:var(--color-text);background:var(--color-surface-2)}.tf-dash-drop{position:absolute;top:calc(100% + var(--space-1));right:0;z-index:50;min-width:15rem;max-width:min(20rem,calc(100vw - var(--space-8)));padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-hairline-strong);border-radius:var(--d-radius);box-shadow:var(--d-shadow)}.tf-notif-drop{min-width:min(19rem,calc(100vw - var(--space-8)))}.tf-dash-drop-h{padding:var(--space-2) var(--space-2) var(--space-1);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-3);overflow-wrap:anywhere}.tf-dash-drop-item{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:var(--target-min);padding-inline:var(--space-3);font-size:.8125rem;color:var(--color-text-2);background:none;border:0;border-radius:var(--d-radius);text-decoration:none;text-align:left;cursor:pointer}.tf-dash-drop-item .tf-ico{color:var(--color-text-3)}@media(hover:hover){.tf-dash-drop-item:hover{background:var(--color-surface-2);color:var(--color-text)}}.tf-notif-list{list-style:none;padding:0;max-height:20rem;overflow-y:auto}.tf-notif{display:flex;align-items:center;gap:var(--space-3);min-height:var(--target-min);padding:var(--space-2) var(--space-3);border-radius:var(--d-radius);text-decoration:none;color:var(--color-text-2)}@media(hover:hover){.tf-notif:hover{background:var(--color-surface-2);color:var(--color-text);border-color:transparent}}.tf-notif .tf-alert-dot{width:8px;height:8px}.tf-notif-t{flex:1;min-width:0;font-size:.8125rem;color:var(--color-text)}.tf-notif-d{display:block;font-size:.75rem;color:var(--color-text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tf-notif-s{flex:none;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-3)}.tf-notif-empty{padding:var(--space-3);font-size:.75rem;color:var(--color-text-3)}.tf-dash-drop-all{display:block;margin-top:var(--space-1);padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-hairline);border-radius:0 0 6px 6px;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent);text-decoration:none}.tf-dash-content{flex:1;width:100%;max-width:96rem;margin-inline:auto;padding:var(--space-4) var(--space-4) var(--space-12)}@media(min-width:64rem){.tf-dash-content{padding:var(--space-6) var(--space-6) var(--space-16)}}.tf-dash-shell .tf-sec{padding-block:var(--space-4);scroll-margin-top:5.5rem}.tf-dash-shell .tf-sec{display:none}.tf-dash-shell .tf-sec.tf-sec-on{display:block}.tf-dash-shell .tf-sec+.tf-sec{border-top:0}.tf-dash-shell .tf-container{max-width:none;padding-inline:0}.tf-dash-shell .tf-section{padding-block:0;border-top:0}.tf-dash-shell .tf-sec-h,.tf-dash-shell .tf-dash-h{margin-bottom:var(--space-3);font-family:var(--font-body);font-size:1.0625rem;font-weight:600;letter-spacing:0;text-transform:none;color:var(--color-text)}.tf-hero-band{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4);padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--d-radius);box-shadow:var(--d-shadow);overflow:hidden}.tf-hero-title{font-size:1.375rem;font-weight:600;letter-spacing:-.01em}.tf-hero-sub{margin-top:var(--space-1);font-size:.875rem;color:var(--color-text-2);max-width:34rem}.tf-hero-g{flex:none;width:10rem;height:auto}.tf-hero-area{fill:var(--color-accent);fill-opacity:.1}.tf-hero-line{fill:none;stroke:var(--color-accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.tf-hero-dot{fill:var(--color-accent)}@media(max-width:40rem){.tf-hero-g{display:none}}.tf-dash-shell .tf-dash-kpis{grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:var(--space-3)}.tf-dash-shell .tf-kpi{display:grid;grid-template-columns:66px minmax(0,1fr);column-gap:var(--space-4);align-content:center;padding:0;overflow:hidden;border-radius:var(--d-radius);box-shadow:var(--d-shadow)}.tf-dash-shell .tf-kpi>:not(.tf-kpi-ico){grid-column:2;margin-right:var(--space-4)}.tf-dash-shell .tf-kpi .tf-kpi-l{margin-top:var(--space-3)}.tf-dash-shell .tf-kpi>:last-child{margin-bottom:var(--space-3)}.tf-kpi-ico{grid-column:1;grid-row:1 / span 99;align-self:stretch;display:grid;place-items:center;width:66px;min-height:66px;margin:0;border-radius:15px 0 0 15px;color:var(--color-text-3);background:var(--color-surface-2)}.tf-kpi-ico .tf-ico{width:1.5rem;height:1.5rem}.tf-kpi-blue .tf-kpi-ico{color:var(--d-blue);background:color-mix(in srgb,var(--d-blue) 14%,transparent)}.tf-kpi-green .tf-kpi-ico{color:var(--d-green);background:color-mix(in srgb,var(--d-green) 14%,transparent)}.tf-kpi-orange .tf-kpi-ico{color:var(--d-orange);background:color-mix(in srgb,var(--d-orange) 14%,transparent)}.tf-kpi-violet .tf-kpi-ico{color:var(--d-violet);background:color-mix(in srgb,var(--d-violet) 14%,transparent)}.tf-kpi-cyan .tf-kpi-ico{color:var(--d-cyan);background:color-mix(in srgb,var(--d-cyan) 14%,transparent)}.tf-kpi-red .tf-kpi-ico{color:var(--d-red);background:color-mix(in srgb,var(--d-red) 14%,transparent)}.tf-kpi-pink .tf-kpi-ico{color:var(--d-pink);background:color-mix(in srgb,var(--d-pink) 14%,transparent)}.tf-kpi-blue .tf-spark{color:var(--d-blue)}.tf-kpi-green .tf-spark{color:var(--d-green)}.tf-kpi-orange .tf-spark{color:var(--d-orange)}.tf-kpi-violet .tf-spark{color:var(--d-violet)}.tf-kpi-cyan .tf-spark{color:var(--d-cyan)}.tf-kpi-red .tf-spark{color:var(--d-red)}.tf-kpi-pink .tf-spark{color:var(--d-pink)}.tf-dash-shell .tf-kpi b{font-family:var(--font-body);font-size:1.5rem;font-weight:700;letter-spacing:-.01em}.tf-dash-shell .tf-kpi-l{font-family:var(--font-body);font-size:.8125rem;letter-spacing:0;text-transform:none;color:var(--color-text-2)}.tf-dash-shell .tf-kpi-l:before{content:none}.tf-dash-shell .tf-kpi-note{text-transform:none;letter-spacing:.02em;font-size:.75rem}.tf-dash-shell .tf-delta{text-transform:none;font-size:.75rem}.tf-dash-shell .tf-card,.tf-dash-shell .tf-idea-card{gap:var(--space-3);padding:var(--space-4);border-radius:var(--d-radius);box-shadow:var(--d-shadow)}.tf-dash-shell #tf-dash-infra .tf-dsec,.tf-dash-shell #tf-dash-ops .tf-dsec,.tf-dash-shell #tf-dash-fleet .tf-dsec,.tf-dash-shell .tf-triage-sugs,.tf-dash-shell .tf-dash-alerts{padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--d-radius);box-shadow:var(--d-shadow)}.tf-dash-shell .tf-dash-alerts{padding:var(--space-3) var(--space-4)}.tf-dash-shell .tf-triage-sugs{border-top:1px solid var(--color-hairline)}.tf-dash-shell .tf-dsec-h{font-size:.8125rem;color:var(--color-text-2)}.tf-dash-shell .tf-tab{border-radius:var(--d-radius);min-height:2.25rem}.tf-dash-shell .tf-tab:hover{border-color:var(--color-hairline-strong)}.tf-dash-shell .tf-tab-active{color:var(--color-accent-ink);background:var(--color-accent);border-color:var(--color-accent)}.tf-dash-shell .tf-tab-active .tf-tab-n{color:var(--color-accent-ink)}.tf-dash-shell .tf-action{background:var(--color-surface-2);border-color:transparent}@media(hover:hover){.tf-dash-shell .tf-action:hover{background:var(--color-accent-dim);border-color:var(--color-accent-dim)}}.tf-sec-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.tf-sec-head .tf-sec-h{margin-bottom:0}.tf-panel-acts{display:inline-flex;align-items:center;gap:var(--space-3);flex:none;color:var(--color-text-3)}.tf-panel-acts .tf-ico{width:.875rem;height:.875rem}.tf-dash-shell .tf-wtable tbody tr{transition:background var(--duration-fast) var(--ease-out)}@media(hover:hover){.tf-dash-shell .tf-wtable tbody tr:hover{background:var(--color-surface-2)}}.tf-dash-shell .tf-notif-list::-webkit-scrollbar,.tf-dash-shell .tf-idea-pre::-webkit-scrollbar{width:4px}.tf-dash-shell .tf-notif-list::-webkit-scrollbar-thumb,.tf-dash-shell .tf-idea-pre::-webkit-scrollbar-thumb{background:var(--color-hairline-strong);border-radius:4px}.tf-vitals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}@media(max-width:60rem){.tf-vitals{grid-template-columns:repeat(2,minmax(0,1fr))}}.tf-vit .tf-gauge{display:block;width:100%;margin-top:var(--space-1)}.tf-heatbox .tf-dsec{margin-top:var(--space-4)}.tf-heat{display:grid;grid-auto-flow:row;gap:3px}.tf-heat-row{display:grid;grid-template-columns:1.25rem repeat(12,1fr);gap:3px;align-items:center}.tf-heat-dl{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-3);text-transform:uppercase}.tf-heat-c{aspect-ratio:1;min-height:.625rem;border-radius:3px;background:var(--color-surface-2);border:1px solid var(--color-hairline)}.tf-heat-l1{background:color-mix(in srgb,var(--d-blue) 22%,var(--color-surface-2))}.tf-heat-l2{background:color-mix(in srgb,var(--d-blue) 45%,var(--color-surface-2))}.tf-heat-l3{background:color-mix(in srgb,var(--d-blue) 70%,var(--color-surface-2))}.tf-heat-l4{background:var(--d-blue)}.tf-heat-f{opacity:.25}.tf-heat-leg{display:flex;align-items:center;gap:var(--space-1);margin-top:var(--space-3);font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-3)}.tf-heat-leg .tf-heat-c{width:.625rem;height:.625rem;aspect-ratio:auto}.tf-alarms-box{margin-top:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--d-radius);box-shadow:var(--d-shadow)}.tf-alarms-h{margin:0 0 var(--space-3);font-family:var(--font-mono);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-3)}.tf-alarms{display:flex;flex-direction:column}.tf-alarm{display:flex;align-items:baseline;gap:var(--space-3);padding-block:var(--space-2);font-size:.8125rem;border-top:1px solid var(--color-hairline)}.tf-alarm:first-child{border-top:0;padding-top:0}.tf-alarm .tf-ico{align-self:center;width:.9375rem;height:.9375rem;color:var(--color-text-3)}.tf-alarm-crit .tf-ico{color:var(--d-red)}.tf-alarm-warn .tf-ico{color:var(--d-orange)}.tf-alarm-info .tf-ico{color:var(--d-blue)}.tf-alarm-msg{flex:1;min-width:0}.tf-alarm-t{flex:none;font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-3)}.tf-inst-open{font-family:var(--font-mono);font-size:.75rem;color:var(--color-accent);text-decoration:none}@media(hover:hover){.tf-inst-open:hover{text-decoration:underline}}.tf-account-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:var(--space-4);align-items:start}.tf-profile-card{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4)}.tf-profile-ava{width:3.5rem;height:3.5rem;font-size:1.25rem}.tf-profile-mail{font-weight:600;font-size:.9375rem;word-break:break-all}.tf-profile-role{font-size:.75rem;color:var(--color-text-3);text-transform:uppercase;letter-spacing:.06em}.tf-theme-seg{display:inline-flex;gap:var(--space-1);padding:var(--space-1);background:var(--color-surface-2);border:1px solid var(--color-hairline);border-radius:var(--d-radius-pill)}.tf-theme-opt{display:inline-flex;align-items:center;gap:var(--space-2);min-height:2.25rem;padding-inline:var(--space-4);font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-2);background:none;border:0;border-radius:var(--d-radius-pill);cursor:pointer}.tf-theme-opt.tf-theme-on{color:var(--color-text);background:var(--color-surface);box-shadow:var(--d-shadow)}.tf-theme-hint{margin-top:var(--space-3);font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-3)}.tf-donut-wrap{position:relative;width:148px;margin-inline:auto}.tf-donut-sm{width:110px;margin-inline:0}.tf-donut{display:block;width:100%;height:auto;transform:rotate(-90deg)}.tf-donut-bg{fill:none;stroke:var(--color-hairline);stroke-width:5}.tf-donut-s{fill:none;stroke-width:5}.tf-dc0{stroke:var(--d-blue)}.tf-dc1{stroke:var(--d-violet)}.tf-dc2{stroke:var(--d-cyan)}.tf-dc3{stroke:var(--d-orange)}.tf-dc4{stroke:var(--d-green)}.tf-dc5{stroke:var(--d-pink)}.tf-dc6{stroke:var(--d-red)}.tf-dc7,.tf-dc-blue{stroke:var(--d-blue)}.tf-dc-orange{stroke:var(--d-orange)}.tf-dc-red{stroke:var(--d-red)}.tf-dc-cyan{stroke:var(--d-cyan)}.tf-dc-green{stroke:var(--d-green)}.tf-dot{flex:none;width:10px;height:10px;border-radius:3px}.tf-dcb0{background:var(--d-blue)}.tf-dcb1{background:var(--d-violet)}.tf-dcb2{background:var(--d-cyan)}.tf-dcb3{background:var(--d-orange)}.tf-dcb4{background:var(--d-green)}.tf-dcb5{background:var(--d-pink)}.tf-dcb6{background:var(--d-red)}.tf-dcb7{background:var(--d-blue)}.tf-dcb-red{background:var(--d-red)}.tf-dcb-orange{background:var(--d-orange)}.tf-dcb-cyan{background:var(--d-cyan)}.tf-dcb-blue{background:var(--d-blue)}.tf-dcb-green{background:var(--d-green)}.tf-donut-c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.tf-donut-pct{font-family:var(--font-display);font-size:1.625rem;line-height:1}.tf-donut-sub{max-width:90%;font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-3)}.tf-legend{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.tf-legend li{display:flex;align-items:center;gap:var(--space-2);font-size:.8125rem;color:var(--color-text-2)}.tf-legend b{margin-left:auto;font-family:var(--font-mono);font-weight:400;font-size:.75rem;color:var(--color-text)}.tf-bar-row{display:grid;grid-template-columns:minmax(90px,140px) 1fr minmax(48px,auto);align-items:center;gap:var(--space-3);padding-block:var(--space-2)}.tf-bar-l{font-size:.8125rem;color:var(--color-text-2)}.tf-bar{height:8px;overflow:hidden;background:var(--color-hairline);border-radius:var(--d-radius-pill)}.tf-bar-fill{display:block;height:100%;background:var(--d-blue);border-radius:inherit}.tf-bar-v{font-family:var(--font-mono);font-weight:400;font-size:.75rem;text-align:right}.tf-sev-pie{display:flex;align-items:center;gap:var(--space-4);margin-block:var(--space-2) var(--space-4)}.tf-sev-pie .tf-legend{flex:1;max-width:320px}.tf-sto{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-4)}.tf-sto-gauge{display:flex;flex-direction:column;gap:var(--space-3)}.tf-sto-cats{display:flex;align-items:center;gap:var(--space-4)}.tf-sto-cats .tf-legend{flex:1}.tf-sto-nums{margin:0;display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.tf-sto-nums .tf-mono{color:var(--color-text-3);font-size:.75rem}.tf-clean-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:var(--space-3);min-height:var(--target-min);padding-block:var(--space-1)}.tf-clean-row+.tf-clean-row{border-top:1px solid var(--color-hairline)}.tf-clean-l{font-size:.8125rem;color:var(--color-text-2)}.tf-clean-n{font-family:var(--font-mono);font-weight:400;font-size:.75rem;color:var(--color-text-3)}.tf-clean-none{color:var(--color-text-3);font-size:.75rem}.tf-sto-note{font-size:.8125rem;line-height:1.6;color:var(--color-text-2)}.tf-sto-foot{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-3);font-size:.75rem}.tf-sto-status{min-height:var(--space-4);margin-block:var(--space-3) 0;font-size:.75rem;color:var(--color-text-2)}.tf-analytics{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:var(--space-4);margin-bottom:var(--space-4)}@media(max-width:960px){.tf-analytics{grid-template-columns:1fr}}.tf-ana-card{background:var(--color-surface);border-radius:var(--d-radius);box-shadow:var(--d-shadow);padding:var(--space-4) var(--space-5);min-width:0}.tf-ana-h{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.tf-ana-t{font-family:var(--font-mono);font-size:.75rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-3)}.tf-ana-total{font-family:var(--font-display);font-size:1.25rem;letter-spacing:.02em;color:var(--color-text);display:inline-flex;align-items:baseline;gap:var(--space-2)}.tf-ana-split{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.tf-donut{width:148px;height:148px;flex:none}.tf-ana-split .tf-donut-pct{font-size:1.125rem}.tf-ana-segs{list-style:none;flex:1;min-width:180px;display:grid;gap:var(--space-2)}.tf-ana-seg{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:var(--space-2);font-size:.8125rem}.tf-ana-dot{width:8px;height:8px;border-radius:50%}.tf-ana-n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-2)}.tf-ana-v{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text)}.tf-ana-p{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-3);min-width:4.2ch;text-align:right}.tf-ana-bar{grid-column:1 / -1;height:4px;border-radius:var(--d-radius-pill);background:var(--color-surface-2);overflow:hidden}.tf-ana-bar>i{display:block;height:100%;border-radius:inherit}.tf-nas-live{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.tf-nas-live .tf-kpi{min-height:0}.tf-nas-live .tf-kpi-hot b{color:var(--d-red)}.tf-nas-age{grid-column:1 / -1;font-size:.75rem;color:var(--color-text-3);margin-top:var(--space-1)}.tf-pills{display:inline-flex;gap:2px;padding:2px;border-radius:var(--d-radius-pill);background:var(--color-surface-2)}.tf-pill{appearance:none;border:0;background:transparent;border-radius:var(--d-radius-pill);padding:3px 10px;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-3);cursor:pointer;min-height:24px}.tf-pill:hover{color:var(--color-text-2)}.tf-pill.is-on{background:color-mix(in srgb,var(--color-accent) 18%,transparent);color:var(--color-accent)}.tf-pill:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.tf-ana-hr{display:inline-flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end}.tf-ana-wide{grid-column:1 / -1}.tf-ana-src{margin-top:var(--space-4)}.tf-ana-srct{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-3);margin-bottom:var(--space-2)}.tf-ana-srcbar{display:flex;height:8px;border-radius:var(--d-radius-pill);overflow:hidden;background:var(--color-surface-2)}.tf-ana-srcbar>i{display:block;height:100%}.tf-ana-srcleg{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin-top:var(--space-2);font-size:.75rem;color:var(--color-text-2)}.tf-ana-srcleg li{display:inline-flex;align-items:center;gap:var(--space-1)}.tf-ana-srcleg b{font-family:var(--font-mono);font-weight:500;color:var(--color-text)}.tf-ana-table{width:100%;border-collapse:collapse;font-size:.8125rem}.tf-ana-table th{font-family:var(--font-mono);font-size:.75rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-3);text-align:left;padding:0 0 var(--space-2);border-bottom:1px solid var(--color-border)}.tf-ana-table td{padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);color:var(--color-text-2);vertical-align:middle}.tf-ana-table tr:last-child td{border-bottom:0}.tf-ana-table .tf-num{text-align:right;font-family:var(--font-mono);font-size:.75rem;color:var(--color-text);white-space:nowrap}.tf-ana-idx{color:var(--color-text-3)!important;width:2ch}.tf-ana-pn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.tf-ana-tbar{display:inline-block;width:90px;height:4px;border-radius:var(--d-radius-pill);background:var(--color-surface-2);overflow:hidden;vertical-align:middle;margin-right:var(--space-2)}.tf-ana-tbar>i{display:block;height:100%;background:var(--color-accent);border-radius:inherit}.tf-ana-tpct{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-3)}@media(max-width:640px){.tf-ana-tbar{width:48px}.tf-ana-pn{max-width:110px}}.tf-mode-banner{margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);font-size:.8125rem;color:var(--color-text-2);background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--d-radius)}.tf-mode-banner[data-tone=warn]{color:var(--d-orange);border-color:color-mix(in srgb,var(--d-orange) 35%,transparent)}.tf-mode-banner[data-tone=bad]{color:var(--color-danger);border-color:color-mix(in srgb,var(--color-danger) 35%,transparent)}.tf-keygate-inner{margin-bottom:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--d-radius)}.tf-keygate-t{font-size:.8125rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent);margin-bottom:var(--space-2)}.tf-keygate-h{font-size:.875rem;color:var(--color-text-3);margin-bottom:var(--space-3)}.tf-keygate-form{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.tf-keygate-form .tf-input{flex:1;min-width:14rem}.tf-keygate-url{margin-top:var(--space-3)}.tf-keygate-url .tf-label{width:100%}.tf-board-status{min-height:1.25rem;font-size:.75rem;color:var(--color-text-3);margin-bottom:var(--space-3)}.tf-board-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:var(--space-4);margin-bottom:var(--space-4)}.tf-task{padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--d-radius)}.tf-task-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2)}.tf-task-ref{font-size:.8125rem;color:var(--color-accent);overflow-wrap:anywhere}.tf-task-title{font-size:.9375rem;color:var(--color-text);margin-bottom:var(--space-3)}.tf-task-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2) var(--space-4);margin-bottom:var(--space-3)}.tf-task-meta dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-3)}.tf-task-meta dd{font-size:.75rem;color:var(--color-text-2)}.tf-task-acts{display:flex;gap:var(--space-2);flex-wrap:wrap}.tf-task-acts .tf-btn{min-height:2.25rem;padding-inline:var(--space-3);font-size:.75rem}.tf-task-cancel{color:var(--color-danger)}.tf-task-status,.tf-nodes-status,.tf-fleetctl-status{min-height:1.125rem;margin-top:var(--space-2);font-size:.75rem;color:var(--color-text-3)}.tf-task-status[data-state=ok],.tf-nodes-status[data-state=ok],.tf-fleetctl-status[data-state=ok]{color:var(--color-success)}.tf-task-status[data-state=err],.tf-nodes-status[data-state=err],.tf-fleetctl-status[data-state=err],.tf-form-status[data-state=err]{color:var(--color-danger)}.tf-form-status[data-state=ok]{color:var(--color-success)}.tf-board-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:var(--space-4)}.tf-nodes,.tf-inst{padding:var(--space-4)}.tf-nodes-h,.tf-inst-h{font-size:.8125rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent);margin-bottom:var(--space-3)}.tf-node-list{display:flex;flex-direction:column;gap:var(--space-2)}.tf-node-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-2) 0;border-top:1px solid var(--color-hairline)}.tf-node-row:first-child{border-top:0}.tf-node-id{font-size:.8125rem;color:var(--color-text);flex:1;min-width:7rem}.tf-node-hb{color:var(--color-text-3);font-size:.75rem}.tf-node-counts{font-size:.75rem;color:var(--color-text-3)}.tf-node-act{min-height:2.25rem;padding-inline:var(--space-3);font-size:.75rem}.tf-fleetctl{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--d-radius)}.tf-auto-toggle[data-on="1"] .tf-auto-state{color:var(--color-success)}.tf-auto-toggle[data-on="0"] .tf-auto-state{color:var(--color-text-3)}.tf-fleetctl-status{margin-top:0}.tf-inst form{display:flex;flex-direction:column;gap:var(--space-3)}.tf-inst-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:var(--space-3)}.tf-inst-hint{font-size:.75rem;color:var(--color-text-3)}.tf-kpi,.tf-kpi-note,.tf-delta,.tf-stat-v,.tf-pd-stat-v,.tf-proj-count,.tf-notif-count,.tf-node-stats,.tf-dash-stats,.tf-dash-stats-mobile{font-variant-numeric:tabular-nums}.tf-btn,.tf-card{transition-property:background-color,color,border-color,transform}.tf-btn:active,.tf-card:active{transform:scale(.97);transition-duration:80ms}
