@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAa0ABQAAAAADOwAAAZHAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwoP0hWQVJtP01WQVJGBmA/U1RBVIEcAGQvXBEICoMkgmcLFgAwhEwBNgIkAyYEIAWGXAdiDAcbOgtRlHLSRcD8TEzkdoghPRuspKefbVnJIM5yRfA8vZv9uTNJSCZY21Scrigr6qyJ/C3sE1OFKuVP3e+lxUTbYio1zb/kFdk2bufY2BlhWERRBrcDUBhB5GEpd2Cy+MDxqf9zLPX+XVsk5r+s50d6IpWLatqbdT6f2MAikiOKQocbjya2QT0DqPDX4R0jQBgAUAiCRhDA0EkvYeLk9X3I2bEWI8jBAihIANm+kUWQBgggWChcBBdFhXlAUgOCAgBA0AgKjUJ8HKvjddFCKSgAVklEBYAeEJgCQJH0qB3B+neDg4sAA4hAD0AVIEAA0IACJGeaUjMIIIhBUE/zNABjTQMBwEVRcwcYBUCObLERABAgjAA1M/ZSa9hSi4OlpsnZ2KBOVUsAZlRGl1W0NZ6gSwhQPIAFs7YFL0QS91vRQgdgx2VDAnIegKpQvwAJIoLgooBAGtCJcHizg0TDiz8vhPgIcVXaDJu37ZyDAIjFy4AAiC1JAA0olJwN6nFAACQk/zfQVUuA3t5ELKMT9hpBSRj+HBSggYCIAIEkUoC4PCIQIWHGA8+IStxf0PW15ntP22gc+Wo+BLyQAHECQiAVd+c3Ba8gZ4NOACBaLOhsbIMkAXEmuHsSAvkf4oJaAogH6nEQAzoBIEihUAwAA0AACAObAGcANYAAABaqgMmpWAhiiVyrvNyqFV8tMQ5Iyq6r9Lf7W82i8ILl2cv8zbfdJ5lnPzSnvt/XXPfRR/5pH3xA+u5uS0798EPJ3Fft33w36Wc+8E/7aIB/9fvvb1pE9erNXLB9mkw//cSg8Cnx03VGXDvZnRzKqV9Xkhn7eRHb3wVjHpg19nkZpX9bBU+vnHegrsuQcbW9Bi7oO33h+8SU0Tly/MbeYUuG1cftVz6oNxrW0qH1iezq446fkDFo/rgvTkqt7zmteFzncZ0uxXti09FFF2z+C7CODpjUudOE5NSeb3bv/mbPKcmOEzpWQ3VBgBAuj/AOY3qMm7UvgA8qo3+qvAUBBAX0wADQG4AG+jCKaSxkBe/zvcTG8jRpRZgqhCog4sd++cOo7J+/RdvaaMoc78Ri/PNPSclx6fDvG1Kt3qQFi1rq+5EaavTtt9TVvfvucYsA5wc4oESU+E1ikF9TkrOkIsIH5Fawx7SBNLnMcWlM3skBluCmQNs7GeyFvYVDamsqwhxx18n/+WdxzDgOLU1AqbUlb3m+KOT9+ONvY/7XlrdLS//5v7nN97XHj0VzJpJvz4spq0V7ioXDuv2YrSxtF/KZmvbWfKtorXSh8dfvgGu+ev/nFSaXM6jyuCE/f/EpmuP7Rqu8R98vP/+tXUdrOgKlZP9Q/s+fRF9+3CHZd4EugfPv158me9X7v/6aSMCxMJmIr//65bNXngl7+uiPP5oKx+y27D8trp+psUzMacpm80XlnYeMAct0LynxhNYgaP3dtn8/LBAi+ksr+7NvjjtJV+UXrz0uLXV1x08AZRN1S2A8EaVE5afk/dfGjz//+fdHn36Xdttz2d9/z+bawZ8/slNN1aYtq+ZPGzNuPGdwOsfYflwmHCkPgs5DcKizvdpS/3gEUMW9/lvQvWp1bGTW1fpngC/uSVYAfH3TeSusL8TtlHUD4KAAEHjahk4YpuffGwEBN/dUmpHqdHyJ3Ap8O3UlQ4gCNrMRwLBBKiskL6a+RoBi/9XGlgc8L4/CUejQxaiIyqmomdhktOhfgDbDfaNDb4+yKIPd6IgmzDa0CByijWFmL2dlSRKagTIWXeIU9HDphoZiJeBTjAefHMxDhVSRFUgVcOkW3EGMahYVMFjWHhMluB2wAcbHYqF1LpsDF9C6s+CI2fDgh4wSuFEyGadjXAmIk3CugIRibLIti9ZtC8S4VSqfikGqPaoI122XyRYLBmsOmdiiTpqK1OklUQzpMcZmQRQV4M4oJCMkfRQXK+qvjifUcQd1bRdetW/LWjacYxvcttnVjWg5h0q4xw6rZyejSpZVZ78LzC4uyDNRQ4bymHSTMyM+SZ7D75mg/7YTlmNz7W8T00h0VEiGKB+F7iWYZFvSTiA4LVxttm2ATt5EoUWLJbY4EnLGrfsvEROlHtzlKn3H9VUT5tU/2dt3/EBv7foYzV/W4upyj04woO/gh6Vwwt3WGQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-sans:"Plus Jakarta Sans Variable", "Plus Jakarta Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--font-display:var(--font-sans);--font-mono:"IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.8125rem;--text-md:.9375rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2rem;--leading-tight:1.15;--leading-snug:1.3;--leading-normal:1.5;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:6px;--radius:8px;--radius-lg:10px;--radius-pill:999px;--hairline:1px;--sidebar-width:16.75rem;--appbar-height:4rem;--strip-height:2.75rem;--content-max:82rem;--control-height:2.5rem;--control-height-sm:2.25rem;--drawer-width:31rem;--preview-width:34rem;--ease:cubic-bezier(.2, 0, 0, 1);--duration-fast:.15s;--duration-base:.2s;--color-bg:#f3f5f9;--color-surface:#fff;--color-surface-sunken:#f3f5f9;--color-surface-hover:#f7f9fc;--color-surface-selected:#eaf4fa;--color-rule:#e4e8ee;--color-rule-strong:#6b7a8a;--color-text:#101828;--color-text-muted:#4a5868;--color-text-subtle:#667085;--color-text-inverse:#fff;--color-primary:#006da3;--color-primary-hover:#005c8a;--color-primary-soft:#e6f3fa;--color-navy:#002e56;--color-cyan:#00b3dd;--color-brand:var(--color-primary);--color-brand-hover:var(--color-primary-hover);--color-brand-soft:var(--color-primary-soft);--color-accent:var(--color-cyan);--color-link:#005c8a;--color-focus:#006da3;--color-success:#0e7a4e;--color-success-bg:#e6f4ec;--color-success-border:#b7e0c7;--color-success-solid:#16a34a;--color-warning:#8a4b00;--color-warning-bg:#fff1dc;--color-warning-border:#f5c88a;--color-warning-solid:#f59e0b;--color-danger:#b42318;--color-danger-bg:#fdecea;--color-danger-border:#f3b4ae;--color-danger-solid:#d92d20;--color-info:#003f78;--color-info-bg:#e6f0f8;--color-info-border:#b3d1ea;--color-test-bg:#9a3a05;--color-test-text:#fff;--color-test-stripe:#e1580a;--shadow-card:0 1px 2px #1018280d, 0 4px 12px #1018280a;--shadow-overlay:0 24px 48px #1018282e, 0 2px 8px #10182814;--backdrop:#10182873;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);font-feature-settings:"tnum" 1, "lnum" 1;-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4{color:var(--color-navy);font-weight:var(--weight-bold);letter-spacing:-.01em;margin:0}h1{font-size:var(--text-2xl);line-height:var(--leading-tight)}h2{font-size:var(--text-xl);line-height:var(--leading-snug)}h3{font-size:var(--text-lg);line-height:var(--leading-snug)}p{margin:0}a{color:var(--color-link);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}code,.mono{font-family:var(--font-mono);font-size:.92em}.numeral{font-weight:var(--weight-bold);font-feature-settings:"tnum" 1, "lnum" 1}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{left:var(--space-4);z-index:100;background:var(--color-surface);color:var(--color-text);padding:var(--space-2) var(--space-4);border:2px solid var(--color-focus);border-radius:var(--radius);position:absolute;top:-100px}.skip-link:focus{top:var(--space-2)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100vh;display:grid}.sidebar{background:var(--color-surface);border-right:var(--hairline) solid var(--color-rule);height:100vh;padding:var(--space-6) var(--space-4) var(--space-5);flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar__brand{gap:var(--space-2);padding:0 var(--space-3) var(--space-6);color:inherit;flex-direction:column;text-decoration:none;display:flex}.sidebar__brand img{align-self:flex-start;width:auto;height:30px;display:block}.sidebar__product{font-weight:var(--weight-bold);font-size:var(--text-base);color:var(--color-navy);line-height:var(--leading-snug)}.sidebar__product small{font-weight:var(--weight-medium);font-size:var(--text-xs);color:var(--color-text-subtle);display:block}.sidenav{gap:var(--space-1);display:grid}.sidenav a{align-items:center;gap:var(--space-3);min-height:2.5rem;padding:0 var(--space-4);color:var(--color-text-muted);font-size:var(--text-md);font-weight:var(--weight-semibold);border-radius:var(--radius);transition:background var(--duration-fast) var(--ease), color var(--duration-fast) var(--ease);text-decoration:none;display:flex}.sidenav a svg{color:var(--color-text-subtle);transition:color var(--duration-fast) var(--ease)}.sidenav a:hover{background:var(--color-surface-sunken);color:var(--color-text)}.sidenav a:hover svg{color:var(--color-text)}.sidenav a[aria-current=page]{background:var(--color-primary);color:var(--color-text-inverse)}.sidenav a[aria-current=page] svg{color:var(--color-text-inverse)}.sidebar__foot{padding-top:var(--space-4);border-top:var(--hairline) solid var(--color-rule);gap:var(--space-2);margin-top:auto;display:grid}.sidebar__user{gap:var(--space-3);padding:var(--space-2) var(--space-3);grid-template-columns:auto 1fr;align-items:center;display:grid}.avatar{background:var(--color-primary-soft);width:2.25rem;height:2.25rem;color:var(--color-navy);font-weight:var(--weight-bold);font-size:var(--text-sm);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.sidebar__user a{color:var(--color-text);font-weight:var(--weight-semibold);font-size:var(--text-md);line-height:var(--leading-snug);text-decoration:none}.sidebar__user a:hover{text-decoration:underline}.sidebar__user div>span{color:var(--color-text-subtle);font-size:var(--text-xs);display:block}.sidebar .btn--ghost{justify-content:flex-start}.topbar{z-index:30;background:var(--color-surface);border-bottom:var(--hairline) solid var(--color-rule);display:none;position:sticky;top:0}.topbar__inner{height:var(--appbar-height);padding:0 var(--space-4);align-items:center;gap:var(--space-4);display:flex}.topbar__brand{align-items:center;text-decoration:none;display:flex}.topbar__brand img{width:auto;height:26px;display:block}.topnav{gap:var(--space-1);display:flex}.topnav a{align-items:center;gap:var(--space-2);min-height:2.5rem;padding:0 var(--space-3);color:var(--color-text-muted);font-size:var(--text-md);font-weight:var(--weight-semibold);border-radius:var(--radius);text-decoration:none;display:flex}.topnav a:hover{background:var(--color-surface-sunken);color:var(--color-text)}.topnav a[aria-current=page]{background:var(--color-primary);color:var(--color-text-inverse)}.topbar__user{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.content{--sticky-top:var(--strip-height);flex-direction:column;min-width:0;display:flex}.test-strip{z-index:20;background:var(--color-test-bg);color:var(--color-test-text);font-size:var(--text-md);position:sticky;top:0}.test-strip__inner{min-height:var(--strip-height);padding:var(--space-2) var(--space-8);gap:var(--space-4);align-items:center;display:flex}.test-strip__tag{align-items:center;gap:var(--space-2);font-weight:var(--weight-bold);white-space:nowrap;display:inline-flex}.test-strip a{color:inherit;font-weight:var(--weight-semibold);white-space:nowrap;margin-left:auto}.main{width:100%;max-width:var(--content-max);padding:var(--space-6) var(--space-8) var(--space-16);flex:1}.page-sticky{top:var(--sticky-top);z-index:10;background:var(--color-bg);margin:calc(-1 * var(--space-6)) calc(-1 * var(--space-8)) var(--space-4);padding:var(--space-6) var(--space-8) var(--space-2);position:sticky}.page-sticky .page-head{margin-bottom:var(--space-4)}.page-sticky .toolbar{margin-bottom:0}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--space-6);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.page-head__text{gap:var(--space-1);flex:22rem;min-width:0;display:grid}.page-head__lede{color:var(--color-text-muted);font-size:var(--text-base);line-height:var(--leading-normal);max-width:52rem}.page-head__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.btn{--btn-bg:var(--color-surface);--btn-fg:var(--color-text);--btn-border:var(--color-rule-strong);justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:0 var(--space-4);font:inherit;font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--btn-fg);background:var(--btn-bg);border:var(--hairline) solid var(--btn-border);border-radius:var(--radius);cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) var(--ease), border-color var(--duration-fast) var(--ease), color var(--duration-fast) var(--ease), box-shadow var(--duration-fast) var(--ease);line-height:1;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-text-muted)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn svg{flex-shrink:0}.btn--primary{--btn-bg:var(--color-primary);--btn-fg:var(--color-text-inverse);--btn-border:var(--color-primary)}.btn--primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn--danger{--btn-bg:var(--color-danger-solid);--btn-fg:#fff;--btn-border:var(--color-danger-solid)}.btn--danger:hover:not(:disabled){background:var(--color-danger);border-color:var(--color-danger)}.btn--ghost{--btn-bg:transparent;--btn-border:transparent;--btn-fg:var(--color-text-muted)}.btn--ghost:hover:not(:disabled){background:var(--color-surface-sunken);color:var(--color-text);border-color:#0000}.btn--link{--btn-bg:transparent;--btn-border:transparent;--btn-fg:var(--color-link);min-height:auto;font-weight:var(--weight-medium);padding:0;text-decoration:underline}.btn--link:hover:not(:disabled){background:0 0;text-decoration-thickness:2px}.btn--sm{min-height:var(--control-height-sm);padding:0 var(--space-3);font-size:var(--text-sm)}.btn--lg{min-height:3rem;padding:0 var(--space-6);font-size:var(--text-base)}.btn--icon{width:var(--control-height);padding:0}.btn--icon.btn--sm{width:var(--control-height-sm)}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:1em;height:1em;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.field{gap:var(--space-1);display:grid}.field__label{font-size:var(--text-md);font-weight:var(--weight-semibold)}.field__hint{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-normal)}.field__error{font-size:var(--text-sm);color:var(--color-danger);font-weight:var(--weight-semibold);gap:var(--space-1);align-items:flex-start;display:flex}.field__error svg{flex-shrink:0;margin-top:.1em}.input,.select,.textarea{width:100%;min-height:var(--control-height);padding:var(--space-2) var(--space-4);font:inherit;font-size:var(--text-base);color:var(--color-text);background:var(--color-surface);border:var(--hairline) solid var(--color-rule-strong);border-radius:var(--radius);transition:border-color var(--duration-fast) var(--ease), box-shadow var(--duration-fast) var(--ease)}.textarea{resize:vertical;min-height:6rem;line-height:var(--leading-normal)}.input:hover,.select:hover,.textarea:hover{border-color:var(--color-text-muted)}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--color-danger);box-shadow:inset 0 0 0 1px var(--color-danger)}.input--search{padding-left:2.75rem}.search{min-width:20rem;position:relative}.search svg{left:var(--space-4);color:var(--color-text-subtle);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.checkbox{width:1.25rem;height:1.25rem;accent-color:var(--color-primary);cursor:pointer;margin:0}.check-label{align-items:center;gap:var(--space-3);cursor:pointer;font-size:var(--text-md);min-height:var(--control-height);display:inline-flex}.switch{align-items:center;gap:var(--space-3);cursor:pointer;padding:var(--space-1) 0;font:inherit;color:inherit;text-align:left;background:0 0;border:0;display:inline-flex}.switch__track{border:var(--hairline) solid transparent;width:3rem;height:1.625rem;transition:background var(--duration-base) var(--ease);background:#d0d7e0;border-radius:999px;flex-shrink:0;position:relative}.switch__track:after{content:"";width:1.25rem;height:1.25rem;transition:transform var(--duration-base) var(--ease);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.switch[aria-checked=true] .switch__track{background:var(--color-test-stripe)}.switch[aria-checked=true] .switch__track:after{transform:translate(1.375rem)}.form-grid{gap:var(--space-5);display:grid}.form-row{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.panel{background:var(--color-surface);border:var(--hairline) solid var(--color-rule);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.panel__head{padding:var(--space-4) var(--space-5);border-bottom:var(--hairline) solid var(--color-rule);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.panel__head h2{font-size:var(--text-lg)}.panel__body{padding:var(--space-5)}.banner{gap:var(--space-3);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);border:var(--hairline) solid;font-size:var(--text-md);line-height:var(--leading-normal);grid-template-columns:auto 1fr auto;align-items:start;display:grid}.banner>svg{margin-top:.1em}.banner__title{font-weight:var(--weight-bold)}.banner__body{gap:var(--space-1);display:grid}.banner--info{background:var(--color-info-bg);border-color:var(--color-info-border);color:var(--color-text)}.banner--info>svg{color:var(--color-info)}.banner--warning{background:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-text)}.banner--warning>svg{color:var(--color-warning)}.banner--danger{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-text)}.banner--danger>svg{color:var(--color-danger)}.banner--success{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-text)}.banner--success>svg{color:var(--color-success)}.banner--test{background:var(--color-test-bg);border-color:var(--color-test-bg);color:var(--color-test-text);font-size:var(--text-base)}.banner--test>svg{color:var(--color-test-text)}.banner--test a{color:inherit}.badge{align-items:center;gap:var(--space-1);white-space:nowrap;font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-pill);border:var(--hairline) solid transparent;padding:.3rem .6rem;line-height:1.2;display:inline-flex}.badge svg{width:.8rem;height:.8rem}.badge--neutral{color:var(--color-text-muted);background:var(--color-surface-sunken);border-color:var(--color-rule)}.badge--success{color:var(--color-success);background:var(--color-success-bg)}.badge--warning{color:var(--color-warning);background:var(--color-warning-bg)}.badge--danger{color:var(--color-danger);background:var(--color-danger-bg)}.badge--info{color:var(--color-info);background:var(--color-info-bg)}.badge--test{color:var(--color-test-text);background:var(--color-test-bg)}.table-wrap{background:var(--color-surface);border:var(--hairline) solid var(--color-rule);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:auto}.table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--text-md)}.table th,.table td{padding:var(--space-2) var(--space-4);text-align:left;vertical-align:middle;border-bottom:var(--hairline) solid var(--color-rule);height:3rem}.table thead th{background:var(--color-surface);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-subtle);white-space:nowrap}.table tbody tr:last-child td{border-bottom:0}.table-wrap--scroll{overflow:auto}.table-wrap--scroll .table thead th{z-index:1;position:sticky;top:0}.table-wrap--page{overflow:visible}.table-wrap--page .table thead th{top:calc(var(--sticky-top) + var(--list-head,0px));z-index:2;box-shadow:0 1px 0 var(--color-rule);position:sticky}.table-wrap--page .table thead th:first-child{border-top-left-radius:var(--radius-lg)}.table-wrap--page .table thead th:last-child{border-top-right-radius:var(--radius-lg)}.table tbody tr:hover td{background:var(--color-surface-hover)}.table tbody tr[aria-selected=true] td,.table tbody tr.is-active td{background:var(--color-surface-selected)}.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}.table .col-check{width:3.25rem;padding-right:0}.table .col-actions{white-space:nowrap;text-align:right;width:1%}.table .muted{color:var(--color-text-muted)}.table .cell-strong{font-weight:var(--weight-semibold)}.table .cell-sub{color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-snug);margin-top:2px;display:block}.sort-btn{all:unset;cursor:pointer;align-items:center;gap:var(--space-1);min-height:1.5rem;font:inherit;display:inline-flex}.sort-btn:hover{color:var(--color-text)}.sort-btn:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}.row-btn{all:unset;cursor:pointer;font-weight:var(--weight-semibold);color:var(--color-text);align-items:center;min-height:1.5rem;display:inline-flex}.row-btn:hover{color:var(--color-link);text-underline-offset:.18em;text-decoration:underline}.row-btn:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}.toolbar{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.toolbar__spacer{flex:1}.count{color:var(--color-text-muted);font-size:var(--text-md);font-variant-numeric:tabular-nums}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--color-surface-sunken) 0%, #e9edf3 50%, var(--color-surface-sunken) 100%);background-size:200% 100%;height:.9em;animation:1.2s linear infinite shimmer;display:block}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty{justify-items:start;gap:var(--space-3);padding:var(--space-10) var(--space-8);display:grid}.empty--center{text-align:center;justify-items:center}.empty__icon{color:var(--color-primary);background:var(--color-primary-soft);padding:var(--space-3);box-sizing:content-box;border-radius:50%}.empty__title{font-size:var(--text-xl);font-weight:var(--weight-bold);line-height:var(--leading-snug);color:var(--color-navy)}.empty__body{color:var(--color-text-muted);max-width:38rem;line-height:var(--leading-normal)}dialog{color:var(--color-text);border:0;padding:0}dialog::backdrop{background:var(--backdrop)}.dialog{border-radius:var(--radius-lg);background:var(--color-surface);width:min(32rem,100vw - 2rem);box-shadow:var(--shadow-overlay)}.dialog--wide{width:min(50rem,100vw - 2rem)}.dialog__head{padding:var(--space-6) var(--space-6) 0;justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.dialog__head h2{font-size:var(--text-xl)}.dialog__body{padding:var(--space-4) var(--space-6);gap:var(--space-4);display:grid}.dialog__foot{padding:var(--space-4) var(--space-6) var(--space-6);justify-content:flex-end;gap:var(--space-2);display:flex}.drawer{height:100vh;max-height:100vh;width:min(var(--drawer-width), 100vw);background:var(--color-surface);box-shadow:var(--shadow-overlay);border-radius:var(--radius-lg) 0 0 var(--radius-lg);flex-direction:column;margin:0 0 0 auto}.drawer[open]{animation:slide-in var(--duration-base) var(--ease);display:flex}@keyframes slide-in{0%{opacity:0;transform:translate(2rem)}to{opacity:1;transform:none}}.drawer__head{padding:var(--space-6) var(--space-6) var(--space-5);border-bottom:var(--hairline) solid var(--color-rule);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.drawer__head h2{font-size:var(--text-xl)}.drawer__body{padding:var(--space-6);align-content:start;gap:var(--space-5);flex:1;display:grid;overflow:auto}.drawer__foot{padding:var(--space-4) var(--space-6) var(--space-6);border-top:var(--hairline) solid var(--color-rule);justify-content:flex-end;gap:var(--space-2);display:flex}.toasts{bottom:var(--space-6);gap:var(--space-2);z-index:60;width:min(36rem,100vw - 2rem);display:grid;position:fixed;left:50%;transform:translate(-50%)}.toast{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-navy);color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);font-size:var(--text-md);display:flex}.toast__msg{flex:1}.toast .btn{--btn-bg:transparent;--btn-fg:#fff;--btn-border:#fff9}.toast .btn:hover:not(:disabled){color:#fff;background:#ffffff24;border-color:#fff}.toast .btn--ghost{--btn-border:transparent}.stepper{gap:var(--space-2);padding:var(--space-2);margin:0 0 var(--space-6);background:var(--color-surface);border:var(--hairline) solid var(--color-rule);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);list-style:none;display:flex}.stepper li{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);min-height:2.75rem;font-size:var(--text-md);color:var(--color-text-subtle);border-radius:var(--radius);flex:1;display:flex}.stepper__num{width:1.75rem;height:1.75rem;font-size:var(--text-sm);font-weight:var(--weight-bold);background:var(--color-surface-sunken);color:var(--color-text-muted);border-radius:50%;place-items:center;display:inline-grid}.stepper li[aria-current=step]{background:var(--color-primary);color:var(--color-text-inverse);font-weight:var(--weight-semibold)}.stepper li[aria-current=step] .stepper__num{color:var(--color-primary);background:#fff}.stepper li.is-done{color:var(--color-text)}.stepper li.is-done .stepper__num{background:var(--color-success-bg);color:var(--color-success)}.dropzone{text-align:center;place-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);background:var(--color-surface);border-radius:var(--radius-lg);cursor:pointer;min-height:20rem;transition:background var(--duration-fast), border-color var(--duration-fast);border:2px dashed #c3ccd8;display:grid}.dropzone:hover{background:var(--color-surface-hover);border-color:var(--color-primary)}.dropzone.is-over{border-color:var(--color-primary);background:var(--color-surface-selected);border-style:solid}.dropzone:focus-within{outline:3px solid var(--color-focus);outline-offset:2px}.dropzone__icon{color:var(--color-primary);background:var(--color-primary-soft);padding:var(--space-4);box-sizing:content-box;border-radius:50%}.dropzone__title{font-size:var(--text-xl);font-weight:var(--weight-bold);line-height:var(--leading-snug);color:var(--color-navy)}.dropzone__hint{color:var(--color-text-muted);font-size:var(--text-md)}.file-list{margin:0;padding:0;list-style:none;display:grid}.file-list li{gap:var(--space-3);padding:var(--space-3) var(--space-6);border-bottom:var(--hairline) solid var(--color-rule);font-size:var(--text-md);grid-template-columns:auto 1fr auto;align-items:center;display:grid}.file-list li:last-child{border-bottom:0}.file-list__name{font-weight:var(--weight-medium);overflow-wrap:anywhere}.file-list__meta{color:var(--color-text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.progress{background:var(--color-surface-sunken);border-radius:999px;height:6px;overflow:hidden}.progress__bar{background:var(--color-primary);height:100%;transition:width var(--duration-base) var(--ease);border-radius:999px}.progress--success .progress__bar{background:var(--color-success-solid)}.stats{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));display:grid}.stat{background:var(--color-surface);border:var(--hairline) solid var(--color-rule);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-5);gap:var(--space-1) var(--space-4);grid-template-columns:auto 1fr;align-content:start;display:grid}.stat__icon{background:var(--stat-tint,var(--color-primary-soft));width:2.5rem;height:2.5rem;color:var(--stat-ink,var(--color-primary));border-radius:50%;grid-row:1/span 3;place-items:center;display:grid}.stat--success{--stat-tint:var(--color-success-bg);--stat-ink:var(--color-success)}.stat--warning{--stat-tint:var(--color-warning-bg);--stat-ink:var(--color-warning)}.stat--danger{--stat-tint:var(--color-danger-bg);--stat-ink:var(--color-danger)}.stat--neutral{--stat-tint:var(--color-surface-sunken);--stat-ink:var(--color-text-muted)}.stat__label{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:var(--weight-semibold)}.stat__value{font-size:var(--text-3xl);font-weight:var(--weight-bold);color:var(--color-navy);font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.05}.stat__value--text{font-size:var(--text-xl);line-height:var(--leading-snug);padding-top:var(--space-1)}.stat__detail{font-size:var(--text-md);color:var(--color-text-muted)}.stat__link{margin-top:var(--space-2);font-size:var(--text-md);font-weight:var(--weight-semibold);grid-column:2}.summary-bar{background:var(--color-surface);border:var(--hairline) solid var(--color-rule);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin-bottom:var(--space-4);flex-wrap:wrap;align-items:stretch;display:flex}.summary-bar__stat{align-items:baseline;gap:var(--space-2);padding:var(--space-4) var(--space-6);font-size:var(--text-md);color:var(--color-text-muted);border-right:var(--hairline) solid var(--color-rule);display:flex}.summary-bar__stat:last-child{border-right:0}.summary-bar__stat b{font-weight:var(--weight-bold);font-size:var(--text-2xl);color:var(--color-navy);font-variant-numeric:tabular-nums;line-height:1}.summary-bar__stat--warn b{color:var(--color-warning)}.home{gap:var(--space-6);display:grid}.start{gap:var(--space-8);padding:var(--space-6) var(--space-8);background:var(--color-navy);color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);display:grid;position:relative;overflow:hidden}.start:after{content:"";background:var(--color-primary);opacity:.35;pointer-events:none;border-radius:50%;width:20rem;height:20rem;position:absolute;top:-6rem;right:-6rem}.start>*{position:relative}.start__text{gap:var(--space-4);align-content:start;display:grid}.start__text h2{font-size:var(--text-xl);color:#fff}.start__text p{color:#d7e3ee;max-width:40rem}.start .btn--primary{--btn-bg:#fff;--btn-fg:var(--color-navy);--btn-border:#fff;box-shadow:none}.start .btn--primary:hover:not(:disabled){background:#e6f3fa;border-color:#e6f3fa}.steps{gap:var(--space-3);counter-reset:step;margin:0;padding:0;list-style:none;display:grid}.steps li{gap:var(--space-3);font-size:var(--text-md);color:#d7e3ee;grid-template-columns:1.75rem 1fr;align-items:start;display:grid}.steps li:before{counter-increment:step;content:counter(step);color:#fff;width:1.75rem;height:1.75rem;font-size:var(--text-sm);font-weight:var(--weight-bold);background:#ffffff24;border-radius:50%;place-items:center;display:grid}.steps b{color:#fff;font-weight:var(--weight-bold)}.home__section{gap:var(--space-3);display:grid}.home__section-head{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.home__section-head h2{font-size:var(--text-lg)}.review-layout{gap:var(--space-4);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.review-layout.has-preview{grid-template-columns:minmax(0, 1fr) var(--preview-width)}.preview{top:calc(var(--sticky-top) + var(--space-4));max-height:calc(100vh - var(--sticky-top) - var(--space-8));flex-direction:column;display:flex;position:sticky}.preview__body{padding:var(--space-4);background:var(--color-surface-sunken);gap:var(--space-4);border-radius:0 0 var(--radius-lg) var(--radius-lg);justify-items:center;display:grid;overflow:auto}.preview canvas{background:#fff;border-radius:4px;max-width:100%;height:auto;box-shadow:0 1px 3px #00000026}.preview__meta{gap:var(--space-1) var(--space-4);font-size:var(--text-md);padding:var(--space-4) var(--space-6);border-bottom:var(--hairline) solid var(--color-rule);grid-template-columns:auto 1fr;display:grid}.preview__meta dt{color:var(--color-text-muted)}.preview__meta dd{margin:0}.issues{gap:var(--space-2);margin-bottom:var(--space-4);display:grid}.sticky-actions{bottom:var(--space-4);z-index:5;margin-top:var(--space-6);align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--color-surface);border:var(--hairline) solid var(--color-rule);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);flex-wrap:wrap;justify-content:space-between;display:flex;position:sticky}.sticky-actions .count{flex:12rem}.kv{gap:var(--space-2) var(--space-6);font-size:var(--text-md);grid-template-columns:max-content 1fr;display:grid}.kv dt{color:var(--color-text-muted)}.kv dd{margin:0}.stack{gap:var(--space-4);display:grid}.stack-lg{gap:var(--space-8);display:grid}.row{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.muted{color:var(--color-text-muted)}.small{font-size:var(--text-sm)}.nowrap{white-space:nowrap}.settings-layout{gap:var(--space-8);grid-template-columns:minmax(0,27rem) minmax(0,1fr);align-items:start;display:grid}.email-frame{border:var(--hairline) solid var(--color-rule);border-radius:var(--radius-lg);width:100%;height:46rem;box-shadow:var(--shadow-card);background:#fff}@media (max-width:1500px){.review-layout.has-preview .col-optional{display:none}}@media (max-width:1100px){.review-layout .col-optional{display:none}.review-layout.has-preview{grid-template-columns:minmax(0,1fr)}.preview{max-height:none;position:static}.settings-layout{grid-template-columns:1fr}}@media (max-width:1023px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.topbar{display:block}.test-strip{top:var(--appbar-height)}.preview{top:calc(var(--sticky-top) + var(--space-4))}.table-wrap--page{overflow:auto}.table-wrap--page .table thead th{position:static}.test-strip__inner,.main{padding-left:var(--space-5);padding-right:var(--space-5)}.start{grid-template-columns:1fr}}@media (max-width:900px){.form-row{grid-template-columns:1fr}.search{flex:1;min-width:0}.stepper li{padding:var(--space-2) var(--space-3)}}@media (max-width:640px){.topnav a span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.test-strip__inner{gap:var(--space-1) var(--space-3);flex-wrap:wrap}.test-strip a{margin-left:0}.summary-bar__stat{padding:var(--space-3)}.page-head__actions{width:100%}}
