@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-vietnamese-400-normal-Dpl4UHAZ.woff2) format("woff2"),url(/assets/barlow-vietnamese-400-normal-BFeobeCK.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-ext-400-normal-HxX4XjxC.woff2) format("woff2"),url(/assets/barlow-latin-ext-400-normal-CvBsJvxq.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2) format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-vietnamese-500-normal-zTViEIzf.woff2) format("woff2"),url(/assets/barlow-vietnamese-500-normal-GNfB7rCE.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-ext-500-normal-DOaysfXq.woff2) format("woff2"),url(/assets/barlow-latin-ext-500-normal-CJPcKP2Q.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-500-normal-BPAOfeC8.woff2) format("woff2"),url(/assets/barlow-latin-500-normal-C1h8hMer.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-vietnamese-600-normal-DcjprdFV.woff2) format("woff2"),url(/assets/barlow-vietnamese-600-normal-CA_GiK2e.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-ext-600-normal-B8NK_A3D.woff2) format("woff2"),url(/assets/barlow-latin-ext-600-normal-DMVRjfRT.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2) format("woff2"),url(/assets/barlow-latin-600-normal-CNwfPWQD.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-vietnamese-700-normal-D6euyNzi.woff2) format("woff2"),url(/assets/barlow-vietnamese-700-normal-4Jt4k04K.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-latin-ext-700-normal-BLuWmldJ.woff2) format("woff2"),url(/assets/barlow-latin-ext-700-normal-CctuGmmz.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-latin-700-normal-A9pxMQ4z.woff2) format("woff2"),url(/assets/barlow-latin-700-normal-__SGTsZ1.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-vietnamese-500-normal-DjeaNLFD.woff2) format("woff2"),url(/assets/barlow-condensed-vietnamese-500-normal-CsrJDWc5.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-ext-500-normal-yA5ONLQ9.woff2) format("woff2"),url(/assets/barlow-condensed-latin-ext-500-normal-B1RE8WP7.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-500-normal-BgYH2mbd.woff2) format("woff2"),url(/assets/barlow-condensed-latin-500-normal-HIEiP5Ov.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-vietnamese-600-normal-A5AYRdjN.woff2) format("woff2"),url(/assets/barlow-condensed-vietnamese-600-normal-CNlPk46_.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-ext-600-normal-18ESti3H.woff2) format("woff2"),url(/assets/barlow-condensed-latin-ext-600-normal-Clv9cIcR.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2) format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA) 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(/assets/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(/assets/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(/assets/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(/assets/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(/assets/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}:root{--ink: #0b0d10;--slate: #1c2127;--slate-2: #262c34;--slate-3: #343c46;--slate-line: #3a434e;--steel: #6b7178;--text-2: #5e646b;--on-dark: #f2f3f4;--on-dark-2: #a3aab2;--line: #d5d8dc;--line-soft: #e6e8eb;--panel: #e9ebee;--paper: #f2f2ef;--surface: #ffffff;--alert: #e8661b;--alert-hover: #f07a33;--alert-soft: #fde9dc;--alert-text: #b04a0e;--danger: #c42b1c;--danger-hover: #a82416;--danger-soft: #fbe8e5;--font-body: "Barlow", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Barlow Condensed", "Barlow", ui-sans-serif, system-ui, sans-serif;--font-mono: "JetBrains Mono Variable", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--fs-11: .6875rem;--fs-12: .75rem;--fs-13: .8125rem;--fs-14: .875rem;--fs-15: .9375rem;--fs-17: 1.0625rem;--fs-20: 1.25rem;--fs-24: 1.5rem;--fs-30: 1.875rem;--fs-40: 2.5rem;--fs-52: 3.25rem;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-14: 56px;--radius: 6px;--radius-lg: 10px;--topbar-h: 60px;--content-max: 1360px;--shadow-pop: 0 10px 28px -8px rgb(11 13 16 / .28), 0 2px 6px rgb(11 13 16 / .12);--ease-out: cubic-bezier(.16, 1, .3, 1);--t-fast: .14s;--t-move: .22s}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;color-scheme:light;scrollbar-color:#b6bbc1 var(--paper)}body{margin:0;min-height:100dvh;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-15);line-height:1.5;font-feature-settings:"tnum" 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;caret-color:var(--alert-text)}::selection{background:var(--alert);color:var(--ink)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c3c8cd;border:3px solid var(--paper);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--steel)}h1,h2,h3,h4,p,figure,blockquote,dl,dd,ol,ul{margin:0}ol,ul{padding:0;list-style:none}h1,h2,h3{text-wrap:balance;line-height:1.15}p{text-wrap:pretty}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}:focus{outline:none}:focus-visible{outline:2px solid var(--alert-text);outline-offset:2px;border-radius:4px}.dark :focus-visible,.topbar :focus-visible{outline-color:var(--alert)}input::placeholder,textarea::placeholder{color:#7a8087;opacity:1}code,kbd,samp{font-family:var(--font-mono);font-size:.92em}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.mono{font-family:var(--font-mono);font-variant-ligatures:none}.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}.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--alert);color:var(--ink);padding:8px 14px;border-radius:var(--radius);font-weight:700;text-decoration:none}.skip-link:focus{top:12px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}.app{min-height:100dvh;display:flex;flex-direction:column}.demo-strip{background:var(--alert);color:var(--ink);font-size:var(--fs-13);font-weight:600;text-align:center;padding:5px 16px}.topbar{position:sticky;top:0;z-index:40;height:var(--topbar-h);background:var(--ink);color:var(--on-dark);display:flex;align-items:center;gap:var(--sp-6);padding:0 var(--sp-6);border-bottom:1px solid #000}.brand{display:flex;align-items:center;gap:var(--sp-3);text-decoration:none;flex-shrink:0}.brand img{height:22px;width:auto}.brand-host{font-family:var(--font-mono);font-size:var(--fs-12);color:var(--on-dark-2);padding-left:var(--sp-3);border-left:1px solid var(--slate-line);line-height:22px}.mainnav{display:flex;align-self:stretch;gap:2px;flex-shrink:0}.mainnav a{position:relative;display:flex;align-items:center;gap:8px;padding:0 12px;color:var(--on-dark-2);font-weight:600;font-size:var(--fs-15);text-decoration:none;transition:color var(--t-fast)}.mainnav a svg{width:17px;height:17px;stroke-width:2;flex-shrink:0}.mainnav a:hover{color:var(--on-dark)}.mainnav a[aria-current=page]{color:#fff}.mainnav a[aria-current=page]:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;background:var(--alert);border-radius:3px 3px 0 0}.mainnav a:focus-visible{outline-offset:-4px}.topbar-spacer{flex:1}.searchbox{display:flex;align-items:center;gap:10px;width:230px;flex-shrink:1;min-width:150px;height:36px;padding:0 10px 0 12px;border-radius:var(--radius);border:1px solid var(--slate-line);background:var(--slate);color:var(--on-dark-2);font-size:var(--fs-14);text-align:left;transition:border-color var(--t-fast),color var(--t-fast)}.searchbox:hover{border-color:#56606c;color:var(--on-dark)}.searchbox span{flex:1}.searchbox kbd{font-size:var(--fs-11);color:var(--on-dark-2);border:1px solid var(--slate-line);border-radius:4px;padding:1px 6px}.topbar .btn-new{background:#fff;color:var(--ink);border-color:#fff}.topbar .btn-new:hover{background:var(--panel);border-color:var(--panel)}.topbar .btn-new:active{background:var(--alert);border-color:var(--alert)}.usermenu-trigger{display:flex;align-items:center;gap:10px;height:40px;padding:0 8px 0 4px;background:transparent;border:1px solid transparent;border-radius:var(--radius);color:var(--on-dark);transition:background var(--t-fast)}.usermenu-trigger:hover,.usermenu-trigger[aria-expanded=true]{background:var(--slate-2)}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--slate-3);color:#fff;font-weight:700;font-size:var(--fs-13);flex-shrink:0}.avatar.lg{width:44px;height:44px;font-size:var(--fs-15)}.avatar.light{background:var(--panel);color:var(--ink)}.usermenu-trigger .who{display:grid;line-height:1.2;text-align:left}.usermenu-trigger .who b{font-size:var(--fs-14);font-weight:600}.usermenu-trigger .who small{font-size:var(--fs-12);color:var(--on-dark-2)}.topbar .menu-toggle,.topbar .search-icon{display:none}.page{width:100%;max-width:var(--content-max);margin:0 auto;padding:var(--sp-8) var(--sp-8) var(--sp-14);flex:1}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-6);margin-bottom:var(--sp-6);flex-wrap:wrap}.page-head h1{font-family:var(--font-display);font-size:var(--fs-40);font-weight:600;letter-spacing:-.01em;line-height:1.05}.page-head .lede{margin-top:6px;color:var(--text-2);max-width:68ch}.page-head .actions{display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap}.crumbs{display:flex;align-items:center;gap:6px;font-size:var(--fs-14);color:var(--text-2);margin-bottom:var(--sp-3)}.crumbs a{display:inline-flex;align-items:center;gap:4px;color:var(--text-2);text-decoration:none;font-weight:600}.crumbs a:hover{color:var(--ink);text-decoration:underline}.crumbs svg{width:14px;height:14px}.section{margin-top:var(--sp-10)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-4);flex-wrap:wrap}.section-head h2{font-family:var(--font-display);font-size:var(--fs-30);font-weight:600;line-height:1.1}.section-head p{color:var(--text-2);max-width:70ch;margin-top:4px}.footer{border-top:1px solid var(--line);padding:var(--sp-5) var(--sp-8);display:flex;gap:var(--sp-4);justify-content:space-between;flex-wrap:wrap;color:var(--text-2);font-size:var(--fs-13)}.footer a{color:var(--text-2)}.drawer{position:fixed;inset:0 auto 0 0;width:min(320px,86vw);max-height:none;height:100dvh;margin:0;padding:0;border:0;background:var(--ink);color:var(--on-dark)}.drawer::backdrop{background:#0b0d108c}.drawer[open]{animation:drawer-in var(--t-move) var(--ease-out)}@keyframes drawer-in{0%{transform:translate(-24px);opacity:0}}.drawer-head{display:flex;align-items:center;justify-content:space-between;height:var(--topbar-h);padding:0 var(--sp-4);border-bottom:1px solid var(--slate-2)}.drawer nav{display:grid;padding:var(--sp-3);gap:2px}.drawer nav a{display:flex;align-items:center;gap:12px;padding:12px;border-radius:var(--radius);color:var(--on-dark-2);text-decoration:none;font-weight:600;font-size:var(--fs-17)}.drawer nav a[aria-current=page]{background:var(--slate-2);color:#fff}.drawer nav a[aria-current=page] svg{color:var(--alert)}.drawer-foot{position:absolute;bottom:0;left:0;right:0;padding:var(--sp-4);border-top:1px solid var(--slate-2);display:grid;gap:var(--sp-3)}@media (max-width: 1500px){.brand-host{display:none}}@media (max-width: 1180px){.searchbox{width:200px}.usermenu-trigger .who{display:none}}@media (max-width: 980px){.topbar{gap:var(--sp-3);padding:0 var(--sp-3)}.mainnav,.searchbox,.usermenu{display:none}.topbar .menu-toggle,.topbar .search-icon{display:inline-flex}.page{padding:var(--sp-6) var(--sp-4) var(--sp-10)}.page-head h1{font-size:var(--fs-30)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 16px;border-radius:var(--radius);border:1px solid transparent;font-weight:600;font-size:var(--fs-14);line-height:1;white-space:nowrap;text-decoration:none;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast);-webkit-tap-highlight-color:transparent}.btn svg{width:16px;height:16px;flex-shrink:0;stroke-width:2.1}.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover{background:var(--slate-3)}.btn-primary:active{background:var(--alert);color:var(--ink)}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--line)}.btn-secondary:hover{border-color:var(--steel)}.btn-secondary:active{background:var(--panel)}.btn-ghost{background:transparent;color:var(--ink)}.btn-ghost:hover{background:var(--panel)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger-hover)}.btn-danger-ghost{background:transparent;color:var(--danger)}.btn-danger-ghost:hover{background:var(--danger-soft)}.btn-sm{height:32px;padding:0 12px;font-size:var(--fs-13)}.btn-lg{height:46px;padding:0 22px;font-size:var(--fs-15)}.btn-icon{width:36px;padding:0}.btn-icon.btn-sm{width:32px}.btn-block{width:100%}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none}.btn.is-busy{pointer-events:none}.dark .btn-ghost{color:var(--on-dark)}.dark .btn-ghost:hover{background:var(--slate-2)}.dark .btn-secondary{background:transparent;color:var(--on-dark);border-color:var(--slate-line)}.dark .btn-secondary:hover{border-color:var(--on-dark-2)}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.linkbtn{background:none;border:0;padding:0;color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.linkbtn:hover{color:var(--alert-text)}.field{display:grid;gap:6px;min-width:0}.field-label{font-size:var(--fs-14);font-weight:600;color:var(--ink);display:flex;align-items:center;gap:6px}.field-label .optional{font-weight:400;color:var(--text-2)}.field-hint{font-size:var(--fs-13);color:var(--text-2)}.field-error{font-size:var(--fs-13);color:var(--danger);font-weight:600;display:flex;gap:6px;align-items:flex-start}.field-error svg{width:15px;height:15px;margin-top:1px;flex-shrink:0}.field-ok{font-size:var(--fs-13);color:var(--ink);font-weight:600;display:flex;gap:6px;align-items:center}.field-ok svg{width:15px;height:15px}.input,.select,.textarea{width:100%;min-width:0;height:40px;padding:0 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);font-size:var(--fs-15);transition:border-color var(--t-fast),box-shadow var(--t-fast)}.textarea{height:auto;min-height:96px;padding:10px 12px;resize:vertical;line-height:1.45}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%230b0d10' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}.input:hover,.select:hover,.textarea:hover{border-color:#9aa0a6}.input:focus,.select:focus,.textarea:focus,.input:focus-visible,.select:focus-visible,.textarea:focus-visible{border-color:var(--ink);box-shadow:0 0 0 3px #e8661b47;outline:none}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--panel);color:var(--text-2);cursor:not-allowed}.input.mono{font-size:var(--fs-14)}.input-group{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);transition:border-color var(--t-fast),box-shadow var(--t-fast);min-width:0}.input-group:hover{border-color:#9aa0a6}.input-group:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px #e8661b47}.input-group[data-invalid=true]{border-color:var(--danger)}.input-group .addon{display:flex;align-items:center;padding:0 10px 0 12px;font-family:var(--font-mono);font-size:var(--fs-13);color:var(--text-2);background:var(--paper);border-right:1px solid var(--line);border-radius:var(--radius) 0 0 var(--radius);white-space:nowrap}.input-group .input{border:0;box-shadow:none!important;height:38px}.input-group .input-icon{display:flex;align-items:center;padding-left:12px;color:var(--text-2)}.input-group .input-icon svg{width:16px;height:16px}.input-group .btn{border-radius:0 var(--radius) var(--radius) 0;height:38px}.check{display:flex;gap:10px;align-items:flex-start;font-size:var(--fs-15);cursor:pointer}.check input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--ink);flex-shrink:0}.check small{display:block;color:var(--text-2);font-size:var(--fs-13)}.choice-group{display:grid;gap:var(--sp-2)}.choice-group.cols-2{grid-template-columns:1fr 1fr}.choice{position:relative;display:flex;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast)}.choice:hover{border-color:#9aa0a6}.choice input{position:absolute;opacity:0;pointer-events:none}.choice .choice-icon{width:34px;height:34px;border-radius:var(--radius);display:grid;place-items:center;background:var(--panel);flex-shrink:0}.choice .choice-icon svg{width:18px;height:18px}.choice b{display:block;font-weight:600}.choice small{display:block;color:var(--text-2);font-size:var(--fs-13);line-height:1.4}.choice:has(input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.choice:has(input:checked) .choice-icon{background:var(--ink);color:#fff}.choice:has(input:focus-visible){outline:2px solid var(--alert-text);outline-offset:2px}.choice:has(input:disabled){opacity:.55;cursor:not-allowed}.segmented{display:inline-flex;padding:3px;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);max-width:100%;overflow-x:auto;scrollbar-width:none}.segmented button{height:30px;padding:0 12px;border:0;border-radius:4px;background:transparent;color:var(--text-2);font-size:var(--fs-14);font-weight:600;white-space:nowrap;transition:background var(--t-fast),color var(--t-fast)}.segmented button:hover{color:var(--ink);background:var(--paper)}.segmented button[aria-pressed=true]{background:var(--ink);color:#fff}.tag{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px;border-radius:4px;background:var(--panel);color:var(--ink);font-size:var(--fs-13);font-weight:600;white-space:nowrap;text-decoration:none;border:0;max-width:220px}.tag span{overflow:hidden;text-overflow:ellipsis}a.tag:hover,button.tag:hover{background:var(--line)}.tag .x{display:grid;place-items:center;width:18px;height:18px;margin-right:-4px;border:0;background:transparent;border-radius:3px;color:var(--text-2);padding:0}.tag .x:hover{background:var(--line);color:var(--ink)}.tag .x svg{width:13px;height:13px}.tags{display:flex;flex-wrap:wrap;gap:6px}.dark .tag{background:var(--slate-3);color:var(--on-dark)}.badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 7px;border-radius:4px;font-family:var(--font-mono);font-size:var(--fs-11);font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.badge svg{width:12px;height:12px;stroke-width:2.6}.badge-ink{background:var(--ink);color:#fff}.badge-alert{background:var(--alert);color:var(--ink)}.badge-ok{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.badge-muted{background:var(--panel);color:var(--text-2)}.badge-danger{background:var(--panel);color:var(--text-2);box-shadow:inset 0 0 0 1px var(--steel)}.badge-quiet{background:transparent;color:var(--text-2);padding:0}.dark .badge-muted{background:var(--slate-3);color:var(--on-dark-2)}.caption{font-family:var(--font-mono);font-size:var(--fs-11);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2)}.dark .caption{color:var(--on-dark-2)}kbd{font-family:var(--font-mono);font-size:var(--fs-11);border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;padding:1px 5px;background:var(--surface);color:var(--text-2)}.taginput{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:40px;padding:6px 8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:text;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.taginput:hover{border-color:#9aa0a6}.taginput:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px #e8661b47}.taginput input{flex:1;min-width:140px;border:0;outline:0;height:26px;font-size:var(--fs-15);background:transparent}.taginput-wrap{position:relative}.suggest{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 4px);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-pop);padding:4px;max-height:260px;overflow-y:auto}.suggest button{display:flex;width:100%;justify-content:space-between;gap:12px;padding:8px 10px;border:0;background:transparent;border-radius:4px;text-align:left;font-size:var(--fs-14)}.suggest button small{color:var(--text-2);font-family:var(--font-mono);font-size:var(--fs-12)}.suggest button[aria-selected=true],.suggest button:hover{background:var(--paper)}.quick-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.quick-tags .tag{background:transparent;border:1px dashed var(--line);color:var(--text-2);cursor:pointer}.quick-tags .tag:hover{border-color:var(--steel);color:var(--ink);background:transparent}.copyline{display:inline-flex;align-items:center;gap:4px;max-width:100%}.copyline a{font-family:var(--font-mono);font-size:var(--fs-14);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copyline a:hover{text-decoration:underline}.help-tip{display:inline-grid;place-items:center;width:18px;height:18px;padding:0;border-radius:50%;border:0;background:transparent;color:var(--text-2);vertical-align:middle}.help-tip:hover,.help-tip[aria-expanded=true]{color:var(--ink);background:var(--panel)}.help-tip svg{width:15px;height:15px}.dark .help-tip{color:var(--on-dark-2)}.dark .help-tip:hover,.dark .help-tip[aria-expanded=true]{background:var(--slate-3);color:#fff}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:14px 20px;border-bottom:1px solid var(--line-soft);min-height:56px;flex-wrap:wrap}.panel-head h2,.panel-head h3{font-size:var(--fs-17);font-weight:700;display:flex;align-items:center;gap:6px}.panel-head .sub{font-size:var(--fs-13);color:var(--text-2)}.panel-body{padding:20px}.panel-foot{padding:12px 20px;border-top:1px solid var(--line-soft);font-size:var(--fs-13);color:var(--text-2)}.toolbar{display:flex;gap:var(--sp-3);align-items:flex-end;flex-wrap:wrap;margin-bottom:var(--sp-4)}.toolbar .grow{flex:1 1 280px}.toolbar .field{gap:4px}.toolbar .field-label{font-size:var(--fs-13)}.filters-note{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--fs-14);color:var(--text-2);margin-bottom:var(--sp-3)}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:var(--fs-14)}.table th{text-align:left;font-family:var(--font-mono);font-size:var(--fs-11);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);padding:10px 16px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--surface)}.table th.right,.table td.right{text-align:right}.table th button{display:inline-flex;align-items:center;gap:4px;border:0;background:none;padding:0;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit}.table th button:hover,.table th[aria-sort=ascending] button,.table th[aria-sort=descending] button{color:var(--ink)}.table th button svg{width:13px;height:13px}.table td{padding:12px 16px;border-bottom:1px solid var(--line-soft);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tbody tr.rowlink{cursor:pointer;transition:background var(--t-fast)}.table tbody tr.rowlink:hover{background:#f7f7f5}.table .kw{font-family:var(--font-mono);font-weight:600;font-size:var(--fs-14);text-decoration:none;color:var(--ink)}.table .kw:hover{text-decoration:underline}.table .sub{display:block;color:var(--text-2);font-size:var(--fs-13);max-width:34ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dest{display:flex;align-items:center;gap:8px;min-width:0;max-width:420px}.dest svg{width:15px;height:15px;flex-shrink:0;color:var(--text-2)}.dest .host{font-weight:600;white-space:nowrap}.dest .rest{color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:var(--fs-12)}.row-actions{display:flex;gap:2px;justify-content:flex-end}.qty{display:grid;grid-template-columns:minmax(40px,1fr) auto;align-items:center;gap:10px;min-width:140px}.qty .track{height:6px;border-radius:2px;background:var(--panel);overflow:hidden}.qty .fill{height:100%;background:var(--slate-3);border-radius:2px;transition:width var(--t-move) var(--ease-out)}.qty .val{font-family:var(--font-mono);font-weight:600;font-variant-numeric:tabular-nums;text-align:right;min-width:5ch}.pager{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:12px 16px;border-top:1px solid var(--line-soft);flex-wrap:wrap;font-size:var(--fs-14);color:var(--text-2)}.pager-pages{display:flex;gap:4px;align-items:center}.pager-pages button{min-width:34px;height:32px;padding:0 8px;border:1px solid transparent;border-radius:var(--radius);background:transparent;font-family:var(--font-mono);font-size:var(--fs-13);font-weight:600;color:var(--ink)}.pager-pages button:hover{border-color:var(--line)}.pager-pages button[aria-current=page]{background:var(--ink);color:#fff}.pager-pages button:disabled{opacity:.4;cursor:not-allowed}.pager-pages .gap{padding:0 4px}.pager label{display:flex;align-items:center;gap:8px}.pager .select{height:32px;width:auto;font-size:var(--fs-13)}.board{background:var(--slate);color:var(--on-dark);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;min-width:0}.board-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:16px 20px;border-bottom:1px solid var(--slate-line);flex-wrap:wrap}.board-head h2{font-family:var(--font-mono);font-size:var(--fs-13);font-weight:700;letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;gap:8px}.board-head .meta{font-family:var(--font-mono);font-size:var(--fs-12);color:var(--on-dark-2);display:flex;align-items:center;gap:10px}.board-head .meta .stamp{color:#fff}.board-head .meta .live{width:8px;height:8px;border-radius:50%;background:var(--alert)}.board-head .refresh{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:var(--radius);border:1px solid var(--slate-line);background:transparent;color:var(--on-dark)}.board-head .refresh:hover{border-color:var(--on-dark-2)}.board-head .refresh svg{width:15px;height:15px}.board-head .refresh.is-busy svg{animation:spin .8s linear infinite}.board-cols,.board-row{display:grid;grid-template-columns:44px minmax(0,1.5fr) minmax(0,1fr) minmax(150px,1fr) 96px;gap:16px;align-items:center;padding:0 20px}.board-cols{height:36px;font-family:var(--font-mono);font-size:var(--fs-11);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-2);border-bottom:1px solid var(--slate-line)}.board-cols .right,.board-row .right{text-align:right;justify-self:end}.board-list{position:relative}.board-row{min-height:66px;border-bottom:1px solid var(--slate-2);color:inherit;text-decoration:none;position:relative;background:var(--slate);transition:background var(--t-fast)}.board-row:last-child{border-bottom:0}.board-row:hover{background:var(--slate-2)}.board-row:focus-visible{outline-offset:-3px}.board-rank{font-family:var(--font-mono);font-size:var(--fs-15);font-weight:700;color:var(--on-dark-2);font-variant-numeric:tabular-nums}.board-list>li:first-child .board-rank{color:#fff}.board-kw{min-width:0}.board-kw b{display:inline-block;max-width:100%;padding:3px 8px;border-radius:4px;background:var(--slate-2);box-shadow:inset 0 -1px #000;font-family:var(--font-mono);font-size:var(--fs-15);font-weight:700;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.02em}.board-row:hover .board-kw b{background:var(--slate-3)}.board-kw small{display:block;margin-top:3px;font-size:var(--fs-13);color:var(--on-dark-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-tags{display:flex;gap:4px;flex-wrap:nowrap;overflow:hidden;min-width:0}.board-tags .tag{height:22px;font-size:var(--fs-12);max-width:120px;flex-shrink:1;min-width:0}.board-tags .tag.more{flex-shrink:0;background:transparent;color:var(--on-dark-2)}.board-qty{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.board-qty .track{height:6px;background:var(--slate-2);border-radius:2px;overflow:hidden}.board-qty .fill{height:100%;background:var(--on-dark-2);border-radius:2px;transition:width .42s var(--ease-out)}.board-qty .val{font-family:var(--font-display);font-size:2.125rem;letter-spacing:-.01em;font-weight:600;line-height:1;font-variant-numeric:tabular-nums;min-width:4ch;text-align:right}.move{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 7px;border-radius:4px;font-family:var(--font-mono);font-size:var(--fs-11);font-weight:700;letter-spacing:.06em;white-space:nowrap}.move svg{width:12px;height:12px;stroke-width:2.8}.move-up,.move-new,.move-down{background:var(--alert);color:var(--ink)}.move-same{color:var(--on-dark-2);padding:0}.board-row.is-changed{animation:row-lit 2.4s var(--ease-out)}@keyframes row-lit{0%,35%{background:#3a2a20}}.board-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:12px 20px;border-top:1px solid var(--slate-line);font-size:var(--fs-13);color:var(--on-dark-2);flex-wrap:wrap}.board-foot a{color:#fff;font-weight:600;display:inline-flex;align-items:center;gap:6px;text-decoration:none}.board-foot a:hover{text-decoration:underline}.board-foot svg{width:15px;height:15px}.board .empty{color:var(--on-dark-2)}.board .empty h3{color:#fff}.chart{position:relative;width:100%}.chart svg{overflow:visible}.chart .axis{font-family:var(--font-mono);font-size:11px;fill:var(--text-2)}.chart .grid{stroke:var(--line-soft);stroke-width:1}.chart .baseline{stroke:var(--ink);stroke-width:1.5}.chart .bar{fill:var(--slate-3);transition:fill var(--t-fast)}.chart .bar.is-peak{fill:var(--ink)}.chart .bar.is-active{fill:var(--alert)}.chart .hit{fill:transparent;cursor:crosshair}.chart .peak-label{font-family:var(--font-mono);font-size:11px;font-weight:700;fill:var(--ink)}.chart-tip{position:absolute;pointer-events:none;z-index:5;background:var(--ink);color:#fff;border-radius:var(--radius);padding:8px 10px;font-size:var(--fs-13);white-space:nowrap;transform:translate(-50%,calc(-100% - 10px));box-shadow:var(--shadow-pop)}.chart-tip b{display:block;font-family:var(--font-display);font-size:var(--fs-24);font-weight:600;line-height:1.1}.chart-tip span{color:var(--on-dark-2)}.chart-legend{display:flex;gap:var(--sp-4);flex-wrap:wrap;font-size:var(--fs-13);color:var(--text-2);margin-top:var(--sp-3)}.barlist{display:grid;gap:2px}.barlist-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:4px 12px;align-items:center;padding:8px 0}.barlist-row .name{display:flex;align-items:center;gap:8px;min-width:0;font-weight:600}.barlist-row .name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.barlist-row .name small{font-weight:400;color:var(--text-2);font-size:var(--fs-13)}.barlist-row .code{font-family:var(--font-mono);font-size:var(--fs-11);font-weight:700;color:var(--text-2);background:var(--panel);border-radius:3px;padding:1px 5px}.barlist-row .val{font-family:var(--font-mono);font-weight:600;font-variant-numeric:tabular-nums;text-align:right}.barlist-row .share{font-family:var(--font-mono);font-size:var(--fs-12);color:var(--text-2);font-variant-numeric:tabular-nums;min-width:6ch;text-align:right}.barlist-row .track{grid-column:1 / -1;height:4px;background:var(--panel);border-radius:2px;overflow:hidden}.barlist-row .fill{height:100%;background:var(--slate-3);border-radius:2px;transition:width var(--t-move) var(--ease-out)}.barlist-row:first-child .fill{background:var(--ink)}.skeleton{display:block;border-radius:4px;background:linear-gradient(90deg,var(--panel) 0%,var(--line-soft) 50%,var(--panel) 100%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}.dark .skeleton{background:linear-gradient(90deg,var(--slate-2) 0%,var(--slate-3) 50%,var(--slate-2) 100%);background-size:200% 100%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty{display:grid;justify-items:center;text-align:center;gap:10px;padding:44px 24px;color:var(--text-2)}.empty .empty-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--panel);color:var(--ink)}.dark .empty .empty-icon{background:var(--slate-2);color:#fff}.empty .empty-icon svg{width:22px;height:22px}.empty h3{font-size:var(--fs-17);font-weight:700;color:var(--ink)}.empty p{max-width:52ch}.empty .actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:6px}.empty.compact{padding:24px 16px}.callout{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:var(--radius);background:var(--panel);color:var(--ink);font-size:var(--fs-14);line-height:1.5}.callout>svg{width:18px;height:18px;flex-shrink:0;margin-top:1px}.callout b{font-weight:700}.callout .callout-body{display:grid;gap:4px;min-width:0}.callout .callout-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.callout-alert{background:var(--alert-soft)}.callout-alert>svg{color:var(--alert-text)}.callout-danger{background:var(--danger-soft)}.callout-danger>svg{color:var(--danger)}.callout-ok{background:var(--surface);box-shadow:inset 0 0 0 1px var(--ink)}.callout-ok>svg{color:var(--ink)}.callout .detail{font-family:var(--font-mono);font-size:var(--fs-12);color:var(--text-2)}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0}.facts>div{padding:14px 18px;border-left:1px solid var(--line-soft)}.facts>div:first-child{border-left:0}.facts dt{font-family:var(--font-mono);font-size:var(--fs-11);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);display:flex;align-items:center;gap:4px}.facts dd{margin-top:4px;font-family:var(--font-display);font-size:var(--fs-30);font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums}.facts dd small{display:block;font-family:var(--font-body);font-size:var(--fs-13);font-weight:400;color:var(--text-2);line-height:1.4;margin-top:4px}.delta{display:inline-flex;align-items:flex-start;line-height:1.35;gap:4px;font-size:var(--fs-13);color:var(--text-2)}.delta b{font-family:var(--font-mono);font-size:var(--fs-12);font-weight:700;color:var(--ink)}.delta svg{width:13px;height:13px;stroke-width:2.6;flex-shrink:0;margin-top:2px}.delta.up svg{color:var(--alert-text)}.delta.down svg{color:var(--ink)}.delta.flat svg{color:var(--text-2)}@media (max-width: 760px){.table.stackable thead{display:none}.table.stackable,.table.stackable tbody,.table.stackable tr,.table.stackable td{display:block;width:100%}.table.stackable tr{padding:12px 16px;border-bottom:1px solid var(--line-soft)}.table.stackable td{border:0;padding:4px 0;text-align:left!important}.table.stackable td[data-label]:before{content:attr(data-label);display:block;font-family:var(--font-mono);font-size:var(--fs-11);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);margin-bottom:2px}.table.stackable .row-actions{justify-content:flex-start}.board-cols{display:none}.board-row{grid-template-columns:30px minmax(0,1fr) auto;grid-template-areas:"rank kw move" "rank qty qty";padding:10px 16px;gap:6px 12px}.board-rank{grid-area:rank;align-self:start;padding-top:2px}.board-kw{grid-area:kw}.board-tags{display:none}.board-qty{grid-area:qty}.board-row .right{grid-area:move}.facts>div{border-left:0;border-top:1px solid var(--line-soft)}}.pass{--stub-w: 272px;--notch: 11px;position:relative;display:grid;grid-template-columns:minmax(0,1fr) var(--stub-w);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);-webkit-mask:radial-gradient(circle var(--notch) at calc(100% - var(--stub-w)) 0,#0000 98%,#000) top / 100% 51% no-repeat,radial-gradient(circle var(--notch) at calc(100% - var(--stub-w)) 100%,#0000 98%,#000) bottom / 100% 51% no-repeat;mask:radial-gradient(circle var(--notch) at calc(100% - var(--stub-w)) 0,#0000 98%,#000) top / 100% 51% no-repeat,radial-gradient(circle var(--notch) at calc(100% - var(--stub-w)) 100%,#0000 98%,#000) bottom / 100% 51% no-repeat}.pass.no-stub{grid-template-columns:1fr;-webkit-mask:none;mask:none}.pass-main{min-width:0;display:flex;flex-direction:column}.pass-top{background:var(--ink);color:#fff;border-radius:calc(var(--radius-lg) - 1px) 0 0 0;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap}.pass.no-stub .pass-top{border-radius:calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px) 0 0}.pass-top .pass-id{display:flex;align-items:baseline;gap:2px;min-width:0;font-family:var(--font-mono)}.pass-top .pass-id span{color:var(--on-dark-2);font-size:var(--fs-15)}.pass-top .pass-id b{font-size:var(--fs-24);font-weight:700;overflow-wrap:anywhere}.pass-top .pass-tools{display:flex;gap:4px;align-items:center}.pass-route{display:grid;grid-template-columns:minmax(0,auto) 40px minmax(0,1fr);align-items:center;gap:var(--sp-4);padding:22px 24px 20px;border-bottom:1px solid var(--line-soft)}.pass-route .from,.pass-route .to{min-width:0}.pass-route .big{font-family:var(--font-display);font-size:var(--fs-40);font-weight:600;line-height:1;letter-spacing:-.005em;overflow-wrap:anywhere}.pass-route .from .big{font-family:var(--font-mono);font-size:var(--fs-24);font-weight:700}.pass-route .small{margin-top:6px;font-family:var(--font-mono);font-size:var(--fs-12);color:var(--text-2);overflow-wrap:anywhere}.pass-route .arrow{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--paper)}.pass-route .arrow svg{width:20px;height:20px}.pass-route .to a{color:inherit;text-decoration:none}.pass-route .to a:hover .big{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}.pass-segs{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));border-bottom:1px solid var(--line-soft)}.pass-segs>div{padding:14px 20px 16px;border-left:1px solid var(--line-soft);min-width:0}.pass-segs>div:first-child{border-left:0;padding-left:24px}.pass-segs dt{display:flex;align-items:center;gap:4px}.pass-segs dd{margin-top:6px;font-family:var(--font-display);font-size:var(--fs-30);font-weight:600;line-height:1;font-variant-numeric:tabular-nums}.pass-segs dd small{display:block;margin-top:6px;font-family:var(--font-body);font-size:var(--fs-13);font-weight:400;color:var(--text-2);line-height:1.35}.pass-segs dd.text{font-family:var(--font-body);font-size:var(--fs-17);font-weight:600;line-height:1.3}.pass-rows{display:grid}.pass-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:var(--sp-4);padding:14px 24px;border-bottom:1px solid var(--line-soft);align-items:start}.pass-row:last-child{border-bottom:0}.pass-row .caption{padding-top:3px}.pass-row .value{min-width:0;overflow-wrap:anywhere}.pass-row .value.mono{font-size:var(--fs-13)}.wa-bubble{display:inline-block;max-width:46ch;background:#dcf8c6;color:#111b21;padding:8px 12px 10px;border-radius:10px 10px 10px 2px;font-size:var(--fs-14);line-height:1.45;white-space:pre-wrap}.wa-meta{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-weight:600}.wa-meta svg{width:16px;height:16px}.pass-stub{position:relative;padding:22px 22px 20px;display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);text-align:center}.pass-stub:before{content:"";position:absolute;left:-1px;top:var(--notch);bottom:var(--notch);width:2px;background:repeating-linear-gradient(to bottom,var(--line) 0 7px,transparent 7px 13px)}.pass-stub .qr-frame{width:100%;max-width:220px;aspect-ratio:1;padding:6px;background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius)}.pass-stub .qr-frame svg{width:100%;height:100%}.pass-stub .stub-url{font-family:var(--font-mono);font-size:var(--fs-13);font-weight:600;overflow-wrap:anywhere}.pass-stub .stub-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;width:100%}.pass-stub .stub-note{font-size:var(--fs-12);color:var(--text-2);line-height:1.4}.qr-placeholder{width:100%;height:100%;display:grid;place-items:center;text-align:center;color:var(--text-2);font-size:var(--fs-13);padding:16px;background:linear-gradient(var(--surface),var(--surface)) padding-box,repeating-linear-gradient(45deg,var(--line-soft) 0 6px,var(--surface) 6px 12px) border-box;border:6px solid transparent;border-radius:4px}@media (max-width: 900px){.pass{grid-template-columns:1fr;-webkit-mask:none;mask:none}.pass-top{border-radius:calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px) 0 0}.pass-stub:before{left:var(--notch);right:var(--notch);top:-1px;bottom:auto;width:auto;height:2px;background:repeating-linear-gradient(to right,var(--line) 0 7px,transparent 7px 13px)}.pass-route{grid-template-columns:1fr;gap:var(--sp-3)}.pass-route .arrow{transform:rotate(90deg);width:32px;height:32px}.pass-route .big{font-size:var(--fs-30)}.pass-row{grid-template-columns:1fr;gap:4px;padding:12px 18px}.pass-segs>div:first-child{padding-left:20px}}.dialog{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:0;border:0;border-radius:var(--radius-lg);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-pop);overflow:auto}.dialog::backdrop{background:#0b0d108c}.dialog[open]{animation:pop-in var(--t-move) var(--ease-out)}@keyframes pop-in{0%{opacity:0;transform:translateY(8px) scale(.985)}}.dialog-head{display:flex;gap:14px;align-items:flex-start;padding:22px 24px 8px}.dialog-head .dialog-icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:var(--panel)}.dialog-head .dialog-icon.danger{background:var(--danger-soft);color:var(--danger)}.dialog-head .dialog-icon.alert{background:var(--alert-soft);color:var(--alert-text)}.dialog-head .dialog-icon svg{width:20px;height:20px}.dialog-head h2{font-size:var(--fs-20);font-weight:700;line-height:1.25;padding-top:7px}.dialog-body{padding:8px 24px 4px 78px;display:grid;gap:var(--sp-3);color:var(--ink)}.dialog-body p{color:var(--text-2)}.dialog-foot{display:flex;justify-content:flex-end;gap:var(--sp-2);padding:20px 24px 22px;flex-wrap:wrap}@media (max-width: 560px){.dialog-body{padding-left:24px}.dialog-foot .btn{flex:1}}.popover{position:fixed;z-index:60;min-width:220px;max-width:min(340px,calc(100vw - 24px));background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-pop);padding:4px;animation:pop-in var(--t-fast) var(--ease-out)}.popover.help{padding:12px 14px;font-size:var(--fs-14);line-height:1.5;max-width:320px}.popover.help b{display:block;margin-bottom:4px}.popover.help p+p{margin-top:6px}.menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:4px;background:transparent;color:var(--ink);font-size:var(--fs-14);font-weight:500;text-align:left;text-decoration:none}.menu-item svg{width:16px;height:16px;color:var(--text-2)}.menu-item:hover,.menu-item:focus-visible{background:var(--paper);outline:none}.menu-item.danger{color:var(--danger)}.menu-item.danger svg{color:var(--danger)}.menu-item small{margin-left:auto;color:var(--text-2);font-family:var(--font-mono);font-size:var(--fs-11)}.menu-sep{height:1px;margin:4px 0;background:var(--line-soft)}.menu-head{padding:10px 10px 8px;display:grid;gap:2px}.menu-head b{font-size:var(--fs-14)}.menu-head small{color:var(--text-2);font-size:var(--fs-13);overflow-wrap:anywhere}.toasts{position:fixed;z-index:80;left:50%;transform:translate(-50%);top:calc(var(--topbar-h) + 12px);display:grid;gap:8px;width:min(380px,calc(100vw - 40px))}.toast{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--radius);background:var(--ink);color:#fff;box-shadow:var(--shadow-pop);font-size:var(--fs-14);animation:toast-in var(--t-move) var(--ease-out)}.toast svg{width:18px;height:18px;flex-shrink:0;margin-top:1px}.toast.ok svg{color:var(--on-dark)}.toast.error{background:var(--danger)}.toast.alert svg{color:var(--alert)}.toast .toast-body{flex:1;min-width:0}.toast .toast-body small{display:block;color:var(--on-dark-2);margin-top:2px}.toast.error .toast-body small{color:#ffd9d4}.toast button{border:0;background:transparent;color:inherit;opacity:.7;padding:0}.toast button:hover{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px)}}.palette{width:min(640px,calc(100vw - 24px));margin-top:12vh;padding:0;border:0;border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-pop);overflow:hidden}.palette::backdrop{background:#0b0d108c}.palette[open]{animation:pop-in var(--t-fast) var(--ease-out)}.palette-input{display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid var(--line)}.palette-input svg{width:18px;height:18px;color:var(--text-2)}.palette-input input{flex:1;height:56px;border:0;outline:0;font-size:var(--fs-17);background:transparent}.palette-list{max-height:min(420px,60dvh);overflow-y:auto;padding:6px}.palette-group{padding:10px 10px 4px}.palette-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px;border:0;border-radius:var(--radius);background:transparent;text-align:left;color:var(--ink)}.palette-item svg{width:17px;height:17px;color:var(--text-2);flex-shrink:0}.palette-item .pi-main{flex:1;min-width:0}.palette-item .pi-main b{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-item .pi-main b.mono{font-size:var(--fs-14)}.palette-item .pi-main small{display:block;color:var(--text-2);font-size:var(--fs-13);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-item .pi-side{font-family:var(--font-mono);font-size:var(--fs-12);color:var(--text-2)}.palette-item[aria-selected=true]{background:var(--ink);color:#fff}.palette-item[aria-selected=true] svg,.palette-item[aria-selected=true] small,.palette-item[aria-selected=true] .pi-side{color:var(--on-dark-2)}.palette-foot{display:flex;gap:16px;padding:10px 16px;border-top:1px solid var(--line-soft);font-size:var(--fs-12);color:var(--text-2);flex-wrap:wrap}.palette-foot span{display:inline-flex;align-items:center;gap:6px}.palette-empty{padding:28px 16px;text-align:center;color:var(--text-2)}.mb{margin-bottom:var(--sp-4)}.nowrap{white-space:nowrap}.stack{display:grid;gap:var(--sp-5);margin-top:var(--sp-5);min-width:0}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-5)}.form-grid{display:grid;gap:var(--sp-5)}.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-3)}.tool-buttons{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center}.tool-buttons.end{justify-content:flex-end}.panel-actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--sp-2);padding:14px 20px;border-top:1px solid var(--line-soft);flex-wrap:wrap}.panel-actions .field-hint{margin-right:auto}.pager-pages button{display:inline-grid;place-items:center}.spin{width:16px;height:16px;animation:spin .8s linear infinite}.bullets{list-style:disc;padding-left:20px;display:grid;gap:4px;color:var(--text-2)}.danger-text{color:var(--danger)}.actions-inline{display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap}.compact-select{height:38px;width:auto;font-size:var(--fs-14)}.kv{display:grid;gap:0;border:1px solid var(--line-soft);border-radius:var(--radius)}.kv>div{display:grid;grid-template-columns:170px minmax(0,1fr);gap:var(--sp-3);padding:10px 14px;border-top:1px solid var(--line-soft);align-items:baseline}.kv>div:first-child{border-top:0}.kv dd{overflow-wrap:anywhere}.kv dd.mono{font-size:var(--fs-13)}.range-form{display:grid;gap:var(--sp-3);padding:10px}.page-head .filters .select{width:auto;min-width:200px;height:38px}.dash-top{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:var(--sp-5);align-items:stretch}.summary-pass{--notch: 11px;position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;min-width:0}.summary-top{background:var(--ink);color:#fff;padding:16px 20px 14px}.summary-route{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-family:var(--font-display);font-size:var(--fs-30);font-weight:600;line-height:1.05}.summary-route svg{width:22px;height:22px;color:var(--alert)}.summary-top small{display:block;margin-top:6px;font-size:var(--fs-13);color:var(--on-dark-2)}.summary-segs{display:grid;grid-template-columns:1fr 1fr}.summary-segs>div{padding:16px 20px 18px;border-top:1px solid var(--line-soft);display:flex;flex-direction:column;gap:6px;min-width:0}.summary-segs>div:nth-child(-n+2){border-top:0}.summary-segs>div:nth-child(2n){border-left:1px solid var(--line-soft)}.summary-segs dt{display:flex;align-items:center;gap:2px}.summary-segs dd{font-family:var(--font-display);font-size:var(--fs-52);font-weight:600;line-height:.95;letter-spacing:-.015em}.mini-series{width:100%;height:28px;display:block}.mini-series rect{fill:var(--line)}.mini-series rect.pk{fill:var(--ink)}.seg-note{font-size:var(--fs-13);color:var(--text-2);line-height:1.35}.summary-rows>div{display:grid;grid-template-columns:112px minmax(0,1fr);gap:var(--sp-3);padding:13px 20px;border-top:1px solid var(--line-soft);align-items:baseline;font-size:var(--fs-14)}.summary-rows>div:first-child{border-top:0}.summary-rows dd{min-width:0}.summary-rows dd b{font-weight:700}.summary-rows dd span{color:var(--text-2)}.perf{position:relative;height:0;border-top:2px dashed var(--line);margin:0 var(--notch)}.perf:before,.perf:after{content:"";position:absolute;top:calc(-1 * var(--notch) - 1px);width:calc(var(--notch) * 2);height:calc(var(--notch) * 2);border-radius:50%;background:var(--paper);border:1px solid var(--line)}.perf:before{left:calc(-2 * var(--notch) - 1px)}.perf:after{right:calc(-2 * var(--notch) - 1px)}.breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.breakdown.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.breakdown-col{padding:18px 22px 20px;border-left:1px solid var(--line-soft);min-width:0}.breakdown-col:first-child{border-left:0}.breakdown-col h2{display:flex;align-items:center;gap:6px;font-size:var(--fs-17);font-weight:700;margin-bottom:10px}.breakdown-col .col-note{font-size:var(--fs-13);color:var(--text-2);margin:-6px 0 8px}.welcome{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2.4fr) auto;gap:var(--sp-6);align-items:start;padding:18px 20px;margin-bottom:var(--sp-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}.welcome-intro h2{font-family:var(--font-display);font-size:var(--fs-24);font-weight:600}.welcome-intro p{color:var(--text-2);font-size:var(--fs-14);margin-top:4px}.welcome-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-4);counter-reset:step}.welcome-steps li{display:flex;gap:10px;font-size:var(--fs-14);color:var(--text-2)}.welcome-steps li b{color:var(--ink)}.welcome-steps svg{width:20px;height:20px;flex-shrink:0;color:var(--alert-text);margin-top:1px}.welcome-actions{display:flex;gap:4px;align-items:center}.login{min-height:100dvh;display:grid;grid-template-columns:minmax(380px,5fr) 7fr}.login-form-side{display:flex;flex-direction:column;padding:36px 48px}.login-logo{height:35px;width:auto;align-self:flex-start}.login-form-wrap{margin:auto 0;width:100%;max-width:400px;display:grid;gap:var(--sp-5);padding:48px 0}.login-form-wrap h1{font-family:var(--font-display);font-size:var(--fs-52);font-weight:600;line-height:1;letter-spacing:-.01em}.login-form-wrap .lede{color:var(--text-2);margin-top:-8px}.login-form{display:grid;gap:var(--sp-4)}.login-help{font-size:var(--fs-14);color:var(--text-2)}.login-help.mono{font-size:var(--fs-12)}.login-story{background:var(--ink);color:var(--on-dark);display:grid;place-items:center;padding:48px;position:relative;overflow:hidden}.login-story:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--slate-2) 1px,transparent 1px);background-size:100% 64px;opacity:.55}.login-story-inner{position:relative;width:100%;max-width:640px;display:grid;gap:var(--sp-8)}.login-story h2{font-family:var(--font-display);font-size:var(--fs-40);font-weight:600;line-height:1.05;color:#fff;max-width:16ch}.sample-pass{--stub-w: 200px;color:var(--ink);border-color:transparent}.sample-pass .pass-top{background:var(--slate-2)}.sample-pass .pass-route .big{font-size:var(--fs-30)}.sample-pass .pass-route .from .big{font-size:var(--fs-20)}.sample-pass .qr-frame{max-width:150px}.login-points{display:grid;gap:var(--sp-4)}.login-points li{display:flex;gap:14px;color:var(--on-dark-2);font-size:var(--fs-15)}.login-points li b{color:#fff;font-weight:600}.login-points svg{width:20px;height:20px;flex-shrink:0;color:var(--alert);margin-top:2px}.create{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:var(--sp-8);align-items:start}.create-form{display:grid;gap:var(--sp-5);min-width:0}.form-section{margin:0;padding:20px 24px 24px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);display:grid;gap:var(--sp-5);min-width:0}.form-section legend{float:left;width:100%;padding:0;font-family:var(--font-display);font-size:var(--fs-24);font-weight:600;line-height:1.1}.form-section legend+*{clear:both}.disclosure{border-top:1px solid var(--line-soft);padding-top:var(--sp-4)}.disclosure-toggle{display:inline-flex;align-items:center;gap:8px;border:0;background:none;padding:0;font-weight:600;color:var(--ink)}.disclosure-toggle svg{width:16px;height:16px;transition:transform var(--t-fast);transform:rotate(-90deg)}.disclosure-toggle[aria-expanded=true] svg{transform:none}.disclosure-toggle .optional,.field-label .optional{font-weight:400;color:var(--text-2)}.disclosure-body{display:grid;gap:var(--sp-4);margin-top:var(--sp-4)}.suggest-kw{display:inline-flex;align-items:center;gap:6px;justify-self:start;font-size:var(--fs-14)}.form-actions{display:flex;justify-content:flex-end;gap:var(--sp-2);align-items:center}.create-preview{position:sticky;top:calc(var(--topbar-h) + 20px);display:grid;gap:var(--sp-4)}.preview-pass .pass-top{padding:14px 18px}.preview-pass .pass-top .pass-id b{font-size:var(--fs-20)}.preview-qr{display:grid;place-items:center;padding:20px;border-bottom:1px dashed var(--line)}.preview-qr .qr-frame{width:188px;aspect-ratio:1;padding:6px;border:1px solid var(--line-soft);border-radius:var(--radius);background:#fff}.preview-pass .pass-row{grid-template-columns:90px minmax(0,1fr);padding:12px 18px}.preview-note{display:flex;gap:10px;font-size:var(--fs-13);color:var(--text-2);padding:0 4px}.preview-note svg{flex-shrink:0;margin-top:2px;color:var(--alert-text)}.preview-full{display:grid;gap:4px;padding:10px 12px;background:var(--panel);border-radius:var(--radius)}.preview-full code{font-size:var(--fs-12);overflow-wrap:anywhere}.more-filters{display:contents}.filters-toggle{display:none!important}.link-pass{margin-bottom:var(--sp-4)}.dest-full{display:flex;align-items:flex-start;gap:8px}.dest-full code{font-size:var(--fs-13);overflow-wrap:anywhere;padding-top:6px}.stub-more{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-13);font-weight:600;color:var(--ink)}.stub-more:hover{color:var(--alert-text)}.edit-panel{margin-bottom:var(--sp-4);animation:pop-in var(--t-move) var(--ease-out)}.country{display:inline-flex;align-items:center;gap:8px}.country .code{font-family:var(--font-mono);font-size:var(--fs-11);font-weight:700;background:var(--panel);color:var(--text-2);border-radius:3px;padding:1px 5px}.device{display:inline-flex;gap:10px;align-items:flex-start}.device svg{width:17px;height:17px;margin-top:2px;flex-shrink:0;color:var(--text-2)}.device.is-bot{color:var(--text-2)}.device.is-bot svg{color:var(--alert-text)}.yourls-check{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.check-result{display:inline-flex;align-items:flex-start;gap:6px;font-size:var(--fs-13);color:var(--ink);line-height:1.4}.check-result svg{width:15px;height:15px;flex-shrink:0;margin-top:2px}.check-result.bad,.check-result.bad svg{color:var(--alert-text)}.visit-list>li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:10px 16px;border-top:1px solid var(--line-soft);font-size:var(--fs-14)}.visit-list>li:first-child{border-top:0}.visit-list .v-when{font-weight:600}.visit-list .v-where,.visit-list .v-device{text-align:right;justify-self:end}.visit-list .v-from,.visit-list .v-device{color:var(--text-2);font-size:var(--fs-13)}.visit-list .v-device{display:inline-flex;align-items:center;gap:6px}.visit-list .v-device svg{width:14px;height:14px}.visit-list .is-bot .v-device{color:var(--alert-text)}.qr-studio{display:grid;grid-template-columns:minmax(240px,360px) minmax(0,1fr);gap:var(--sp-8);align-items:start}.qr-studio-preview{display:grid;gap:var(--sp-3);position:sticky;top:calc(var(--topbar-h) + 20px)}.qr-canvas{aspect-ratio:1;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.qr-canvas[data-transparent]{background-color:#fff;background-image:linear-gradient(45deg,var(--panel) 25%,transparent 25%),linear-gradient(-45deg,var(--panel) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--panel) 75%),linear-gradient(-45deg,transparent 75%,var(--panel) 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}.qr-studio-controls{display:grid;gap:var(--sp-5);min-width:0}.swatches{display:flex;flex-wrap:wrap;gap:6px}.swatch{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px 0 8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);font-size:var(--fs-14);font-weight:600;cursor:pointer}.swatch span{width:20px;height:20px;border-radius:4px;border:1px solid rgb(0 0 0 / .1)}.swatch input[type=color]{width:22px;height:22px;padding:0;border:0;background:none;cursor:pointer}.swatch[aria-checked=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.qr-print{display:grid;gap:8px;padding:14px 16px;border-radius:var(--radius);background:var(--paper);font-size:var(--fs-14)}.qr-print-head{display:flex;align-items:center;gap:8px}.qr-print-calc{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.qr-print-calc .input{width:84px;height:34px}.qr-print p{color:var(--text-2)}.qr-print p b{color:var(--ink)}.qr-downloads{display:flex;gap:var(--sp-3);flex-wrap:wrap;align-items:center}.qr-png{display:flex;gap:6px}.qr-png .select{width:auto;height:38px;font-size:var(--fs-14)}.tag.tag-lg{height:30px;padding:0 12px;font-size:var(--fs-15)}.tag-title{display:inline-block;background:var(--ink);color:#fff;border-radius:var(--radius);padding:2px 14px 4px}.progress{display:grid;gap:8px}.progress>span{display:block;height:8px;border-radius:4px;background:var(--alert);transition:width var(--t-move) var(--ease-out);box-shadow:0 0 0 1px var(--line) inset}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,460px);gap:var(--sp-5);align-items:start}.split-main{min-width:0}.split-side{position:sticky;top:calc(var(--topbar-h) + 20px);min-width:0}.user-list li+li{border-top:1px solid var(--line-soft)}.user-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto auto;gap:14px;align-items:center;width:100%;padding:12px 16px;border:0;background:transparent;text-align:left;transition:background var(--t-fast)}.user-row:hover{background:#f7f7f5}.user-row[aria-current=true]{background:var(--paper);box-shadow:inset 0 0 0 1px var(--ink)}.user-row:focus-visible{outline-offset:-2px}.user-main{min-width:0;display:grid}.user-main b{font-weight:600;display:flex;align-items:center;gap:8px}.user-main small{color:var(--text-2);font-size:var(--fs-13);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.you{font-family:var(--font-mono);font-size:var(--fs-11);font-weight:700;text-transform:uppercase;background:var(--alert);color:var(--ink);border-radius:3px;padding:0 5px}.user-badges{display:flex;gap:4px}.user-date{font-size:var(--fs-13);color:var(--text-2);white-space:nowrap}.avatar.muted{background:var(--panel);color:var(--text-2);border:1px dashed var(--steel)}.user-head{display:flex;align-items:center;gap:12px;min-width:0}.user-head>span:last-child{display:grid;min-width:0}.user-head b{font-size:var(--fs-17)}.user-head small{color:var(--text-2);overflow-wrap:anywhere}.facts.compact{border-bottom:1px solid var(--line-soft);grid-template-columns:repeat(3,minmax(0,1fr))}.facts.compact>div{padding:12px 16px}.facts.compact dd{font-family:var(--font-body);font-size:var(--fs-14);font-weight:600;display:flex;gap:4px;flex-wrap:wrap}.user-edit{display:grid}.user-block{display:grid;gap:var(--sp-3);padding:18px 20px;border-top:1px solid var(--line-soft)}.user-block:first-child{border-top:0}.user-block h3{font-size:var(--fs-15);font-weight:700;display:flex;align-items:center;gap:8px}.credentials{margin:0;padding:14px 16px;background:var(--ink);color:#fff;border-radius:var(--radius);font-family:var(--font-mono);font-size:var(--fs-13);line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.input-group .gen{border-left:1px solid var(--line);border-radius:0 var(--radius) var(--radius) 0;height:38px}.account{display:grid;grid-template-columns:340px minmax(0,1fr);gap:var(--sp-5);align-items:start}.account .stack{margin-top:0}.account-card>.panel-body+.panel-body{border-top:1px solid var(--line-soft)}.account-id{display:flex;gap:14px;align-items:center}.account-id>div{display:grid;min-width:0}.account-id b{font-size:var(--fs-17)}.account-id small{color:var(--text-2);overflow-wrap:anywhere}.account-role{display:flex;gap:12px}.account-role svg{width:20px;height:20px;flex-shrink:0;margin-top:2px}.account-role p{color:var(--text-2);font-size:var(--fs-14);margin-top:2px}.system-top{margin-bottom:var(--sp-5)}.status-list{display:grid}.status-row{display:grid;grid-template-columns:22px minmax(140px,auto) minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 20px;border-top:1px solid var(--line-soft)}.status-row:first-child{border-top:0}.status-dot svg{width:20px;height:20px}.status-dot.ok{color:var(--ink)}.status-dot.bad{color:var(--danger)}.status-dot.wait:before{content:"";display:block;width:10px;height:10px;margin:5px;border-radius:50%;background:var(--line)}.status-label{font-weight:600;display:flex;align-items:center;gap:4px}.status-value{min-width:0}.status-ms{font-size:var(--fs-12);color:var(--text-2)}.links-row{display:flex;gap:var(--sp-5);flex-wrap:wrap}.links-row a{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-weight:600}.guide-how{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--sp-8);padding:28px;align-items:center}.guide-how h2{font-family:var(--font-display);font-size:var(--fs-30);font-weight:600;margin-bottom:8px}.guide-how p{color:var(--text-2)}.flow{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr) 28px minmax(0,1fr);gap:var(--sp-3);align-items:start}.flow>li{display:grid;gap:6px;justify-items:start;font-size:var(--fs-14)}.flow>li span{color:var(--text-2)}.flow-arrow{align-self:center;color:var(--steel)}.flow-qr{width:84px;height:84px;padding:4px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.flow-chip{height:84px;display:grid;place-items:center start;padding:0 14px;border-radius:var(--radius);background:var(--ink);color:#fff;font-size:var(--fs-13);font-weight:600;width:100%}.flow-chip:not(.mono){background:var(--panel);color:var(--ink)}.task .steps{list-style:decimal;padding-left:40px;display:grid;gap:8px;color:var(--text-2)}.task .steps li::marker{font-family:var(--font-mono);font-weight:700;color:var(--ink)}.perms td:not(:first-child),.perms th:not(:first-child){text-align:center;width:140px}.perms svg{width:18px;height:18px;display:inline}.perms .yes{color:var(--ink)}.perms .no{color:var(--steel)}.glossary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.glossary>div{padding:16px 20px;border-top:1px solid var(--line-soft);display:grid;grid-template-columns:160px minmax(0,1fr);gap:var(--sp-3)}.glossary>div:nth-child(-n+2){border-top:0}.glossary>div:nth-child(2n){border-left:1px solid var(--line-soft)}.glossary dt{font-weight:700}.glossary dd{color:var(--text-2);font-size:var(--fs-14)}.faq details{border-top:1px solid var(--line-soft)}.faq details:first-child{border-top:0}.faq summary{cursor:pointer;padding:16px 20px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:12px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-family:var(--font-mono);font-weight:700;color:var(--text-2)}.faq details[open] summary:after{content:"−"}.faq summary:hover{background:#f7f7f5}.faq details p{padding:0 20px 18px;color:var(--text-2);max-width:75ch}.guide-foot{margin-top:var(--sp-8);color:var(--text-2)}@media (max-width: 1180px){.dash-top{grid-template-columns:1fr}.summary-segs{grid-template-columns:repeat(4,minmax(0,1fr))}.summary-segs>div{border-top:0;border-left:1px solid var(--line-soft)}.summary-segs>div:first-child{border-left:0}.summary-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.summary-rows>div:nth-child(2){border-top:0}.breakdown.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}.breakdown.cols-3 .breakdown-col:nth-child(3){grid-column:1 / -1;border-left:0;border-top:1px solid var(--line-soft)}.create{grid-template-columns:minmax(0,1fr) 340px;gap:var(--sp-5)}.welcome{grid-template-columns:1fr auto}.welcome-steps{grid-column:1 / -1;grid-row:2}.welcome-actions{grid-row:1;grid-column:2}}@media (max-width: 1100px){.split{grid-template-columns:1fr}.split-side{position:static}}@media (max-width: 980px){.btn-new-label{display:none}.topbar .btn-new{width:36px;padding:0}.grid-2,.account,.guide-how,.glossary{grid-template-columns:1fr}.glossary>div,.glossary>div:nth-child(2n){border-left:0;border-top:1px solid var(--line-soft)}.glossary>div:first-child{border-top:0}.create{grid-template-columns:1fr}.create-preview{position:static;order:-1}.preview-qr .qr-frame{width:150px}.qr-studio{grid-template-columns:1fr}.qr-studio-preview{position:static;max-width:320px}.login{grid-template-columns:1fr}.login-story{padding:32px 20px 40px}.login-form-side{padding:24px 20px}.login-form-wrap{padding:32px 0}.login-form-wrap h1{font-size:var(--fs-40)}.flow{grid-template-columns:1fr}.flow-arrow{transform:rotate(90deg);justify-self:start;margin-left:30px}}@media (max-width: 760px){.page-head .actions,.page-head .filters,.page-head .filters .select{width:100%}.summary-segs{grid-template-columns:1fr 1fr}.summary-segs>div{border-left:0;border-top:1px solid var(--line-soft)}.summary-segs>div:nth-child(-n+2){border-top:0}.summary-segs>div:nth-child(2n){border-left:1px solid var(--line-soft)}.summary-segs dd{font-size:var(--fs-40)}.summary-rows{grid-template-columns:1fr}.summary-rows>div:nth-child(2){border-top:1px solid var(--line-soft)}.breakdown,.breakdown.cols-3{grid-template-columns:1fr}.breakdown-col,.breakdown.cols-3 .breakdown-col:nth-child(3){border-left:0;border-top:1px solid var(--line-soft)}.breakdown-col:first-child{border-top:0}.welcome-steps,.welcome{grid-template-columns:1fr}.welcome-actions{grid-row:auto;grid-column:1}.period,.period .segmented{width:100%}.period .segmented button{flex:1;padding:0 6px;font-size:var(--fs-13)}.actions-inline,.actions-inline .segmented{width:100%}.actions-inline .segmented button{flex:1;padding:0 6px;font-size:var(--fs-13)}.barlist-row .name{flex-wrap:wrap;row-gap:0}.barlist-row .name small{flex-basis:100%}.links-table td[data-label]:before{display:none}.links-table tr{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px}.links-table td{padding:0!important}.links-table td[data-label=Enlace]{grid-column:1}.links-table td[data-label=Creado]{grid-column:2;grid-row:1;text-align:right!important;font-size:var(--fs-13);color:var(--text-2)}.links-table td[data-label=Creado] .sub{display:none}.links-table td[data-label=Destino],.links-table td[data-label=Etiquetas],.links-table td[data-label="Clics históricos"],.links-table td.right{grid-column:1 / -1}.form-grid.cols-3{grid-template-columns:1fr}.form-section{padding:16px}.toolbar>.field{flex:1 1 100%}.user-row{grid-template-columns:32px minmax(0,1fr) auto}.user-date{display:none}.kv>div{grid-template-columns:1fr;gap:2px}.status-row{grid-template-columns:22px minmax(0,1fr) auto}.status-value{grid-column:2 / -1}.choice-group.cols-2{grid-template-columns:1fr}.sample-pass{display:none}.link-pass .pass-top{flex-wrap:nowrap;padding:14px 16px}.link-pass .pass-top .pass-id{flex:1;min-width:0}.link-pass .pass-top .pass-id span{display:none}.link-pass .pass-top .pass-id b{font-size:var(--fs-20);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}.link-pass .pass-segs{grid-template-columns:repeat(3,minmax(0,1fr))}.link-pass .pass-segs>div,.link-pass .pass-segs>div:first-child{padding:12px}.link-pass .pass-segs dd{font-size:var(--fs-24)}.link-pass .pass-segs dd small{font-size:var(--fs-12)}.filters-toggle{display:inline-flex!important}.more-filters{display:none;flex:1 1 100%;gap:var(--sp-3);flex-wrap:wrap}.more-filters[data-open]{display:flex}}
