@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.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: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+460-52F,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+301,U+400-45F,U+490-491,U+4B0-4B1,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+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@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+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: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+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: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+??,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{--bg:#f3f0e8;--surface:#fcfbf7;--sunken:#ece8de;--text:#1b1a17;--muted:#676357;--border:#d8d2c3;--border-strong:#b9b2a1;--accent:#c2410c;--accent-hover:#a3360a;--accent-text:#fff;--accent-soft:#c2410c24;--danger:#b42318;--ok:#17703a;--tile-l:91%;--tile-c:.055;--tile-ink-l:38%;--tile-fill-l:80%;--spring:cubic-bezier(.34, 1.56, .64, 1);--ease-out:cubic-bezier(.22, 1, .36, 1);--radius:10px;--radius-sm:6px;--font:"Bricolage Grotesque Variable", ui-sans-serif, system-ui, sans-serif;--mono:"JetBrains Mono Variable", ui-monospace, SFMono-Regular, Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font);font-optical-sizing:auto;-webkit-font-smoothing:antialiased}@media (prefers-color-scheme:dark){:root{--bg:#141311;--surface:#1c1b18;--sunken:#100f0d;--text:#efebe2;--muted:#a39d8f;--border:#2f2d28;--border-strong:#4a4740;--accent:#ff7033;--accent-hover:#ff8a55;--accent-text:#141311;--accent-soft:#ff70332e;--danger:#ff7b72;--ok:#5dd68a;--tile-l:27%;--tile-c:.045;--tile-ink-l:86%;--tile-fill-l:50%;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}[data-cat=scan-code]{--h:35}[data-cat=text]{--h:255}[data-cat=developer]{--h:155}[data-cat=security]{--h:0}[data-cat=convert]{--h:200}[data-cat=calculator]{--h:85}[data-cat=design]{--h:315}[data-cat=image]{--h:125}[data-cat=network]{--h:285}[data-cat=utility]{--h:60}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-size:1rem;line-height:1.5}a{color:var(--accent);text-underline-offset:3px}h1,h2,h3{letter-spacing:-.015em;line-height:1.15}::selection{background:var(--accent-soft)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}kbd{font-family:var(--mono);font-size:.72rem}.eyebrow{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-size:.72rem;font-weight:500}.eyebrow a{color:inherit}.eyebrow a:hover{color:var(--accent)}.muted{color:var(--muted)}.app{min-height:100vh}.topbar{z-index:30;background:var(--bg);border-bottom:1px solid var(--border);align-items:center;gap:12px;height:56px;padding:0 20px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.04em;color:var(--text);align-items:baseline;font-size:1.3rem;font-weight:800;text-decoration:none;display:inline-flex}.brand-4{color:var(--accent)}.brand-tools{margin-left:1px;font-weight:400}.topbar-meta{font-family:var(--mono);color:var(--muted);letter-spacing:.02em;margin-left:auto;font-size:.72rem}.menu-btn{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--text);cursor:pointer;background:0 0;border:0;place-items:center;margin-left:-8px;padding:0;display:none}.menu-btn:hover{background:var(--sunken)}.layout{grid-template-columns:272px minmax(0,1fr);display:grid}.sidebar{overscroll-behavior:contain;border-right:1px solid var(--border);background:var(--bg);height:calc(100vh - 56px);padding:14px 12px 32px;position:sticky;top:56px;overflow-y:auto}.content{width:100%;max-width:1040px;margin:0 auto;padding:40px 32px 96px}.backdrop{display:none}.search-box{color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:0 10px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search-box svg{flex:none}.search-box kbd{border:1px solid var(--border);background:var(--bg);color:var(--muted);border-radius:4px;flex:none;padding:1px 6px}input.search{width:auto;min-width:0;color:var(--text);font:inherit;background:0 0;border:0;border-radius:0;outline:none;flex:1;padding:9px 0;font-size:.95rem}input.search::-webkit-search-cancel-button{cursor:pointer}.search-box-lg{max-width:520px;margin-top:28px;padding:0 14px}.search-box-lg input.search{padding:13px 0;font-size:1.05rem}.sidebar nav{margin-top:10px}.nav-group h2{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);justify-content:space-between;margin:20px 8px 6px;font-size:.68rem;font-weight:500;display:flex}.nav-group h2 span{opacity:.7}.nav-link{border-radius:var(--radius-sm);color:var(--text);align-items:center;gap:10px;padding:5px 8px;font-size:.92rem;line-height:1.3;text-decoration:none;display:flex}.nav-link:hover{background:var(--sunken)}.nav-link.active{background:var(--surface);box-shadow:inset 3px 0 0 var(--accent), 0 0 0 1px var(--border);font-weight:600}.nav-home{padding:7px 8px;font-weight:600}.nav-link .tile{transition:transform .3s var(--spring)}.nav-link:hover .tile{transform:scale(1.1)rotate(-4deg)}.nav-link.active{animation:nav-in .3s var(--ease-out)}.nav-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.nav-empty{padding:0 8px;font-size:.9rem}.mj{flex:none;display:block;overflow:visible}.mj-line{color:var(--icon-1,currentColor)}.mj-back{color:var(--icon-2,var(--accent));opacity:var(--icon-2-o,.28);transform-box:fill-box;transform-origin:50%;transition:transform .35s var(--spring), opacity .2s}.tile{background:oklch(var(--tile-l) var(--tile-c) var(--h,60));box-shadow:inset 0 0 0 1px oklch(var(--tile-ink-l) .12 var(--h,60) / .16);--icon-1:oklch(var(--tile-ink-l) .14 var(--h,60));--icon-2:oklch(var(--tile-fill-l) .17 var(--h,60));--icon-2-o:1;color:var(--icon-1);transition:transform .35s var(--spring), box-shadow .2s;border-radius:6px;flex:none;place-items:center;display:grid;position:relative}.tile-sym{font-family:var(--mono);letter-spacing:-.02em;white-space:nowrap;opacity:.8;font-size:.56rem;font-weight:600;line-height:1;position:absolute;top:4px;left:5px}.tile-sm{border-radius:5px;width:26px;height:26px}.tile-md{width:52px;height:52px}.tile-md .mj{margin-top:5px}.tile-lg{border-radius:10px;width:84px;height:84px}.tile-lg .mj{margin-top:6px}.tile-lg .tile-sym{font-size:.72rem;top:7px;left:8px}.hero{border-bottom:1px solid var(--border);margin-bottom:8px;padding:8px 0 48px}.hero h1{letter-spacing:-.035em;max-width:19ch;margin:0;font-size:clamp(2.1rem,5.2vw,3.6rem);font-weight:750;line-height:1.02}.hero h1 em{color:var(--muted);font-style:normal;font-weight:400}.hero-sub{max-width:54ch;color:var(--muted);margin:20px 0 0;font-size:1.08rem}.category{margin-top:40px}.category h2{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:10px;margin:0 0 14px;font-size:.74rem;font-weight:500;display:flex}.cat-dot{background:oklch(62% .15 var(--h));border-radius:2px;width:8px;height:8px}.cat-count{color:var(--muted)}.grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.card{background:var(--surface);border:1px solid var(--border);color:var(--text);align-items:flex-start;gap:14px;margin:0 -1px -1px 0;padding:16px;text-decoration:none;transition:background-color .15s,border-color .15s;display:flex}.card:hover{z-index:1;border-color:var(--accent);background:color-mix(in srgb, var(--surface), var(--accent) 5%);position:relative}.card:hover .card-name{color:var(--accent)}.card:hover .tile{box-shadow:inset 0 0 0 1px oklch(var(--tile-ink-l) .12 var(--h,60) / .3), 0 6px 14px -8px oklch(40% .12 var(--h,60) / .6);transform:translateY(-2px)rotate(-3deg)}.card:hover .mj-back{transform:translate(1.5px,1.5px)scale(1.06)}.card{position:relative}.card-arrow{color:var(--accent);opacity:0;transition:opacity .2s, transform .3s var(--ease-out);position:absolute;bottom:14px;right:14px;transform:translate(-6px)}.card:hover .card-arrow,.card:focus-visible .card-arrow{opacity:1;transform:none}.card:focus-visible{z-index:2;outline-offset:-2px;position:relative}.card-body{flex-direction:column;gap:3px;min-width:0;padding-top:2px;display:flex}.card-name{font-weight:650;line-height:1.25;transition:color .15s}.card-desc{color:var(--muted);font-size:.88rem;line-height:1.4}.tool-head{align-items:flex-start;gap:22px;margin-bottom:28px;display:flex}.tool-head .eyebrow{margin-bottom:6px}.tool-title{letter-spacing:-.03em;margin:0;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:750}.tool-desc{max-width:60ch;color:var(--muted);margin:8px 0 0;font-size:1.05rem}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.panel>:first-child{margin-top:0}.panel>:last-child{margin-bottom:0}.panel label:first-child{margin-top:0}.not-found{padding:48px 0}.not-found-icon{--icon-2-o:.35;animation:wobble 2.4s var(--ease-out) infinite;transform-origin:50%;margin-bottom:20px}.not-found h1{letter-spacing:-.03em;max-width:22ch;margin:0 0 24px;font-size:clamp(1.8rem,4vw,2.6rem)}textarea,input[type=text],input[type=number],input[type=date],input[type=datetime-local],input[type=url],select{width:100%;font:inherit;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--sunken);color:var(--text);padding:10px 12px;font-size:.95rem;transition:border-color .15s,box-shadow .15s}textarea:hover,input[type=text]:hover,input[type=number]:hover,select:hover{border-color:var(--border-strong)}textarea:focus,input[type=text]:focus,input[type=number]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=url]:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}textarea{min-height:170px;font-family:var(--mono);resize:vertical;font-size:.86rem;line-height:1.55}input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--accent)}input[type=file]{font:inherit;max-width:100%;font-size:.9rem}input[type=file]::file-selector-button{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer;margin-right:10px;padding:7px 12px}label{margin:16px 0 6px;font-size:.92rem;font-weight:600;display:block}.row label{margin:0}.row{flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0;display:flex}.btn{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer;transition:background-color .15s, border-color .15s, color .15s, transform .12s var(--ease-out);padding:9px 15px;font-size:.93rem;font-weight:550;line-height:1.2}.btn:hover:not(:disabled){border-color:var(--text)}.btn:active:not(:disabled){transform:scale(.96)}.btn-icon{align-items:center;gap:6px;padding-left:11px;display:inline-flex}.btn-icon .mj{animation:pop-in .35s var(--spring)}.btn.is-done{border-color:var(--ok);color:var(--ok);--icon-2:var(--ok)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}a.btn{align-items:center;gap:8px;text-decoration:none;display:inline-flex}.btn-arrow{transition:transform .25s var(--ease-out)}a.btn:hover .btn-arrow{transform:translate(3px)}.error{color:var(--danger)}.ok{color:var(--ok)}.output{font-family:var(--mono);word-break:break-all;background:var(--sunken);border:1px solid var(--border);border-radius:var(--radius-sm);padding:11px 13px;font-size:.88rem}.stats{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-top:14px;display:grid}.stat{background:var(--sunken);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted);padding:12px;font-size:.86rem}.stat b{letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:700;display:block}.video-wrap{aspect-ratio:1;border-radius:var(--radius);background:#000;width:100%;max-width:480px;position:relative;overflow:hidden}.video-wrap video{object-fit:cover;width:100%;height:100%}.video-wrap .frame{pointer-events:none;border:3px solid #ffffffd9;border-radius:12px;position:absolute;inset:15%}.qr-preview{border-radius:var(--radius-sm);border:1px solid var(--border);background:#fff;padding:12px;display:inline-block}.qr-preview canvas{max-width:100%;height:auto;display:block}.qr-preview svg{fill:#111}@keyframes qr-in{0%{transform:scale(0)}}@keyframes finder-squash{0%{transform:scale(0)}70%{transform:scale(1.12)}to{transform:none}}.qr-mod{transform-box:fill-box;transform-origin:50%;animation:qr-in .22s var(--ease-out) backwards}.qr-finder{animation:finder-squash var(--spring-bouncy-ms) var(--spring-bouncy) backwards}.qr-fade{animation:.25s both fade}.two-col{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.swatch{border-radius:var(--radius-sm);border:1px solid var(--border);width:100%;height:96px}.diff-line{font-family:var(--mono);white-space:pre-wrap;word-break:break-word;padding:0 8px;font-size:.86rem}.diff-add{background:#17703a24}.diff-del{background:#b4231821;text-decoration:line-through}.markdown-body{font-family:var(--font);word-break:normal;overflow-wrap:anywhere;line-height:1.65}.markdown-body pre{background:var(--bg);border-radius:var(--radius-sm);padding:10px;overflow-x:auto}.markdown-body code{font-family:var(--mono);font-size:.88em}.markdown-body img{max-width:100%}.big-number{font-family:var(--mono);letter-spacing:-.04em;font-variant-numeric:tabular-nums;text-align:center;margin:16px 0;font-size:clamp(2.4rem,11vw,4.5rem);font-weight:600}mark{color:#1b1a17;background:#fde68a;border-radius:3px}table.simple{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.9rem}table.simple th{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.7rem;font-weight:500}table.simple td,table.simple th{border-bottom:1px solid var(--border);text-align:left;padding:7px 8px}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:scale(.4)rotate(-20deg)}to{opacity:1;transform:none}}@keyframes shake{20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes bounce-dot{0%,80%,to{opacity:.4;transform:scale(.5)}40%{opacity:1;transform:scale(1)}}@keyframes scan{0%{top:4%}50%{top:92%}to{top:4%}}@keyframes wobble{0%,to{transform:rotate(0)}20%{transform:rotate(-12deg)}40%{transform:rotate(8deg)}60%{transform:rotate(-4deg)}}@keyframes nav-in{0%{box-shadow:inset 0 0 0 var(--accent), 0 0 0 1px var(--border)}}.hero>*{animation:rise .6s var(--ease-out) both}.hero>:nth-child(2){animation-delay:60ms}.hero>:nth-child(3){animation-delay:.12s}.hero>:nth-child(4){animation-delay:.18s}.card{animation:rise .45s var(--ease-out) both;animation-delay:calc(min(var(--i,0), 10) * 35ms)}.tool-page .tool-head{animation:rise .45s var(--ease-out) both}.tool-page .panel{animation:rise .5s var(--ease-out) 80ms both}.tool-head .tile{animation:pop-in .5s var(--spring) .12s both}.swap-in{animation:pop-in .3s var(--spring)}.backdrop{animation:.2s fade}.panel .output,.panel .stats,.panel .ok,.panel .swatch,.panel table.simple,.panel .qr-preview{animation:rise .3s var(--ease-out) both}.panel .error{animation:.35s ease-in-out shake}.skeleton{gap:12px;display:grid}.sk{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--sunken) 30%, color-mix(in srgb, var(--sunken), var(--surface) 70%) 50%, var(--sunken) 70%);background-size:200% 100%;animation:1.2s linear infinite shimmer;display:block}.sk-label{width:90px;height:14px}.sk-box{height:150px}.sk-row{gap:8px;display:flex}.sk-btn{width:88px;height:38px}.busy{font-family:var(--mono);color:var(--muted);align-items:center;gap:10px;margin:12px 0;font-size:.82rem;animation:.2s .1s both fade;display:inline-flex}.busy-dots{gap:4px;display:inline-flex}.busy-dots i{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:1s ease-in-out infinite both bounce-dot}.busy-dots i:nth-child(2){animation-delay:.15s}.busy-dots i:nth-child(3){animation-delay:.3s}.video-wrap .frame{transition:inset var(--spring-snap-ms) var(--spring-snap), border-color .2s, border-radius .3s;overflow:hidden}.video-wrap .frame i{border:0 solid var(--accent);width:22px;height:22px;position:absolute}.video-wrap .frame i:first-child{border-width:4px 0 0 4px;border-top-left-radius:12px;top:-3px;left:-3px}.video-wrap .frame i:nth-child(2){border-width:4px 4px 0 0;border-top-right-radius:12px;top:-3px;right:-3px}.video-wrap .frame i:nth-child(3){border-width:0 0 4px 4px;border-bottom-left-radius:12px;bottom:-3px;left:-3px}.video-wrap .frame i:nth-child(4){border-width:0 4px 4px 0;border-bottom-right-radius:12px;bottom:-3px;right:-3px}.video-wrap .frame.locked{border-color:var(--accent);border-radius:6px;overflow:visible;box-shadow:0 0 0 999px #00000059}.video-wrap .frame.locked:after{display:none}.breathe{animation:2.4s ease-in-out infinite breathe}.qr-result{animation:rise .4s var(--ease-out) both}.pop-row>*{animation:pop var(--spring-bouncy-ms) var(--spring-bouncy) both}.pop-row>:nth-child(2){animation-delay:60ms}.pop-row>:nth-child(3){animation-delay:.12s}.video-wrap .frame:after{content:"";background:var(--accent);height:2px;box-shadow:0 0 12px 2px var(--accent);border-radius:2px;animation:2.4s ease-in-out infinite scan;position:absolute;left:6%;right:6%}:root{--spring-snap:linear(0, .0213, .0728, .1446, .2286, .3184, .4092, .4973, .5804, .6566, .725, .7852, .8372, .8813, .9179, .9477, .9715, .99, 1.0039, 1.0139, 1.0207, 1.025, 1.0272, 1.0278, 1.0272, 1.0258, 1.0238, 1.0215, 1.019, 1.0165, 1.014, 1.0117, 1.0096, 1.0077, 1.006, 1.0045, 1.0033, 1.0023, 1.0015, 1.0008, 1.0003, .9999, .9996, .9994, 1);--spring-snap-ms:.397s;--spring-soft:linear(0, .0221, .0744, .1444, .2232, .3048, .385, .4611, .5317, .5959, .6535, .7045, .7492, .7882, .8218, .8506, .8752, .8961, .9138, .9287, .9412, .9516, .9603, .9675, .9734, .9783, .9824, .9857, .9885, .9907, .9925, .994, .9952, .9961, .9969, .9975, .9981, .9985, .9988, .999, .9992, 1);--spring-soft-ms:.577s;--spring-bouncy:linear(0, .0508, .1725, .3327, .5054, .6713, .8173, .9361, 1.0251, 1.0852, 1.1196, 1.1328, 1.1301, 1.1163, 1.0962, 1.0733, 1.0507, 1.0302, 1.0131, 1, .9908, .9852, .9826, .9823, .9838, .9863, .9892, .9923, .9951, .9976, .9995, 1.0009, 1.0018, 1.0023, 1.0024, 1.0022, 1.0019, 1.0016, 1.0012, 1.0008, 1.0004, 1.0001, 1);--spring-bouncy-ms:.676s}@keyframes pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}@keyframes draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes mark-in{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes ring{0%{box-shadow:0 0 0 0 var(--accent-soft)}to{box-shadow:0 0 0 10px #0000}}@keyframes sweep-under{0%{background-size:0 2px}to{background-size:100% 2px}}@keyframes flip-in{0%{opacity:.2;transform:rotateX(90deg)}to{opacity:1;transform:none}}@keyframes peel{to{opacity:0;transform:translateY(14px)rotate(-10deg)}}@keyframes breathe{0%,to{box-shadow:0 0 0 0 var(--accent-soft)}50%{box-shadow:0 0 0 6px var(--accent-soft)}}@keyframes spark{0%{opacity:0;transform:translateY(0)scale(.6)}20%{opacity:1}to{opacity:0;transform:translateY(-26px)scale(1)}}@keyframes glow-sweep{0%{background-position:200% 0}to{background-position:-100% 0}}@keyframes alarm{0%,to{color:inherit}50%{color:var(--danger);transform:scale(1.04)}}.roll{white-space:pre;font-variant-numeric:tabular-nums;display:inline-flex}.roll-col{vertical-align:bottom;height:1.2em;line-height:1.2em;display:inline-block;overflow:hidden}.roll-strip{transition:transform var(--spring-snap-ms) var(--spring-snap);display:block}.pill-row{isolation:isolate;position:relative}.pill-row>.pill{z-index:0;border-radius:var(--radius-sm);background:var(--accent);pointer-events:none;transition:transform var(--spring-snap-ms) var(--spring-snap), width var(--spring-snap-ms) var(--spring-snap), height .2s, opacity .15s;position:absolute;top:0;left:0}.pill-row>.btn{z-index:1;position:relative}.pill-row>.btn.primary,.pill-row>.btn.primary:hover:not(:disabled){background:0 0;border-color:#0000}.pop{animation:pop var(--spring-bouncy-ms) var(--spring-bouncy) both}.draw path,.draw polyline,.draw line,path.draw{stroke-dasharray:1;animation:draw .45s var(--ease-out) both}.flip-in{animation:flip-in .28s var(--ease-out) both;display:inline-block}.settle{animation:ring .7s var(--ease-out)}.sweep-under{background:linear-gradient(var(--accent), var(--accent)) no-repeat left bottom / 100% 2px;animation:sweep-under .35s var(--ease-out) both;padding-bottom:2px}.chip{border:1px solid var(--border);background:var(--sunken);color:var(--text);animation:pop var(--spring-bouncy-ms) var(--spring-bouncy) both;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.82rem;font-weight:600;display:inline-flex}.chip.good{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 40%, transparent);background:color-mix(in srgb, var(--ok) 10%, transparent)}.chip.bad{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, transparent);background:color-mix(in srgb, var(--danger) 10%, transparent)}.chip.bad:not(.calm){animation:pop var(--spring-bouncy-ms) var(--spring-bouncy) both, shake .35s ease-in-out .2s}.bar{background:var(--sunken);border:1px solid var(--border);border-radius:4px;height:8px;overflow:hidden}.bar>i{background:var(--accent);transform-origin:0;height:100%;transition:transform var(--spring-snap-ms) var(--spring-snap), background-color .3s;display:block}.shine{animation:glow-sweep 1s var(--ease-out) .2s both;background-image:linear-gradient(110deg,#0000 35%,#ffffff73 50%,#0000 65%);background-size:250% 100%}.busy-bar{position:relative;overflow:hidden}.busy-bar:after{content:"";background:linear-gradient(90deg, transparent, var(--accent-soft), transparent);background-repeat:no-repeat;background-size:50% 100%;animation:1.1s linear infinite glow-sweep;position:absolute;inset:0}.btn.primary:hover:not(:disabled){box-shadow:0 4px 12px -6px var(--accent);transform:translateY(-1px)}.btn.primary:active:not(:disabled){box-shadow:none;transform:scale(.96)}input[type=checkbox]:checked,input[type=radio]:checked{animation:pop .3s var(--spring-bouncy)}input[type=range]{transition:filter .15s}input[type=range]:active{filter:drop-shadow(0 0 4px var(--accent-soft))}.panel mark{animation:mark-in .3s var(--ease-out) both}.panel table.simple tbody tr{animation:rise .3s var(--ease-out) both}.panel table.simple tbody tr:nth-child(2){animation-delay:36ms}.panel table.simple tbody tr:nth-child(3){animation-delay:54ms}.panel table.simple tbody tr:nth-child(4){animation-delay:72ms}.panel table.simple tbody tr:nth-child(5){animation-delay:90ms}.panel table.simple tbody tr:nth-child(6){animation-delay:.108s}.panel table.simple tbody tr:nth-child(7){animation-delay:.126s}.panel table.simple tbody tr:nth-child(8){animation-delay:.144s}.panel table.simple tbody tr:nth-child(9){animation-delay:.162s}.panel table.simple tbody tr:nth-child(10){animation-delay:.18s}.panel table.simple tbody tr:nth-child(11){animation-delay:.198s}.panel table.simple tbody tr:nth-child(12){animation-delay:.216s}.panel table.simple tbody tr:nth-child(n+13){animation-delay:.23s}details>summary{cursor:pointer}@keyframes wipe{0%{clip-path:inset(0 100% 0 0);opacity:.4}to{clip-path:inset(0);opacity:1}}.line-list{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--sunken);max-height:260px;font-family:var(--mono);margin:0;padding:4px 0;font-size:.84rem;list-style:none;overflow:auto}.line-list li{white-space:pre-wrap;word-break:break-word;border-bottom:1px solid color-mix(in srgb, var(--border) 50%, transparent);background:var(--sunken);padding:3px 12px}.line-list li:last-child{border-bottom:0}@keyframes from-left{0%{opacity:0;transform:translate(-10px)}}@keyframes from-right{0%{opacity:0;transform:translate(10px)}}@keyframes tint{0%{background-color:var(--accent-soft)}}.diff-out .diff-add{animation:from-right .35s var(--ease-out) backwards}.diff-out .diff-del{animation:from-left .35s var(--ease-out) backwards}.markdown-body .md-new{animation:rise .3s var(--ease-out) both}.markdown-body .md-changed{border-radius:4px;animation:.6s ease-out tint}.markdown-body input[type=checkbox]{animation:none}.shake-once{animation:.35s ease-in-out shake}.jwt-parts{font-family:var(--mono);flex-wrap:wrap;gap:6px;margin:10px 0;font-size:.8rem;display:flex}.jwt-part{animation:from-left .4s var(--spring-snap) backwards;word-break:break-all;border-radius:5px;padding:3px 8px}.jwt-0{color:#be123c;background:#e11d4824}.jwt-1{color:#7c3aed;background:#7c3aed24}.jwt-2{color:#0e7490;background:#0891b224}.uuid-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.uuid-list li{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--sunken);justify-content:space-between;align-items:center;gap:8px;padding:6px 6px 6px 12px;display:flex}.uuid-list code{font-family:var(--mono);word-break:break-all;font-size:.86rem}.uuid-list .btn-icon{padding:6px 8px}.bits-wrap{margin:8px 0 4px}.bits{grid-template-columns:repeat(16,minmax(0,1fr));gap:3px;max-width:640px;display:grid}.bit{font-family:var(--mono);border:1px solid var(--border);background:var(--sunken);color:var(--muted);cursor:pointer;perspective:200px;border-radius:4px;padding:5px 0;font-size:.78rem;transition:background-color .2s,color .2s,border-color .2s}.bit span{animation:flip-in .25s var(--ease-out);display:inline-block}.bit.on{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.settle-in{animation:rise .3s var(--ease-out) both}.tw-chips{flex-wrap:wrap;align-content:flex-start;gap:5px;display:flex}.tw-chip{background:var(--surface);border:1px solid var(--border);animation:pop var(--spring-bouncy-ms) var(--spring-bouncy) backwards;border-radius:4px;padding:1px 7px}@keyframes swap-code{0%{opacity:0;filter:blur(1.5px);transform:translateY(4px)}}.swap-code{animation:swap-code .3s var(--ease-out)}.cron-gear{color:var(--muted);transition:transform var(--spring-bouncy-ms) var(--spring-bouncy);align-self:center;place-items:center;display:inline-grid}.finding{animation:from-left .35s var(--ease-out) backwards}.rr-path{stroke-dasharray:1;animation:draw .5s var(--ease-out) backwards}.rr-pop{transform-box:fill-box;transform-origin:50%;animation:pop var(--spring-bouncy-ms) var(--spring-bouncy) backwards}.rr-fade{animation:.3s backwards fade}.sorted-list{white-space:pre;margin:0;padding:8px 12px;list-style:none}.sorted-list li{background:var(--sunken)}.wipe-in{animation:wipe .42s var(--ease-out) both}details[open]>:not(summary){animation:rise .25s var(--ease-out) both}.spin-icon{transition:transform var(--spring-bouncy-ms) var(--spring-bouncy);display:inline-block}.split-bar{border:1px solid var(--border);background:var(--sunken);border-radius:5px;height:10px;margin-top:14px;display:flex;overflow:hidden}.split-bar>i{background:var(--accent);min-width:2px;transition:flex-grow var(--spring-soft-ms) var(--spring-soft);flex-basis:0}.split-bar>i+i,.key-dot.interest{background:color-mix(in srgb, var(--accent) 35%, var(--sunken))}.key-dot{background:var(--accent);vertical-align:0;border-radius:2px;width:9px;height:9px;display:inline-block}.swatch-stack{position:relative;overflow:hidden}.swatch-stack>i{animation:spread var(--spring-soft-ms) var(--spring-soft) both;position:absolute;inset:0}@keyframes spread{0%{clip-path:circle(0%)}to{clip-path:circle(75%)}}.ratio-box{transition:width var(--spring-soft-ms) var(--spring-soft), aspect-ratio var(--spring-soft-ms) var(--spring-soft)}.peel-chip{background:var(--sunken);border:1px solid var(--border);animation:pop var(--spring-bouncy-ms) var(--spring-bouncy) both;border-radius:4px;margin:0 3px;padding:0 6px;text-decoration:line-through;display:inline-block}.bin-bit{transition:color .3s;display:inline-block}.big-number.alarm{animation:.8s ease-in-out 4 alarm}.big-number.running{color:var(--accent);transition:color .3s}@media (width<=860px){.menu-btn{display:grid}.topbar{padding:0 16px}.layout{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:25;border-right:1px solid var(--border);visibility:hidden;width:min(310px,86vw);transition:transform .22s cubic-bezier(.2,.8,.2,1),visibility .22s;position:fixed;top:56px;left:0;transform:translate(-100%)}.sidebar.open{visibility:visible;transform:none;box-shadow:12px 0 32px #0000002e}.backdrop{z-index:20;background:#14131166;display:block;position:fixed;inset:56px 0 0}.sidebar kbd{display:none}.content{padding:28px 16px 72px}}@media (width<=560px){.topbar-meta{display:none}.hero{padding-bottom:32px}.hero-sub{font-size:1rem}.search-box-lg{margin-top:22px}.grid{grid-template-columns:minmax(0,1fr)}.card{padding:14px}.tool-head{gap:14px;margin-bottom:20px}.tile-lg{width:64px;height:64px}.tile-lg .mj{width:34px;height:34px}.tile-lg .tile-sym{font-size:.6rem;top:5px;left:6px}.panel{border-radius:var(--radius-sm);padding:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.sk{background:var(--sunken)}.roll-strip,.pill-row>.pill,.bar>i{transition:none!important}}
