@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/bricolage-grotesque-vietnamese-600-normal.Ipewt4hn.woff2)format("woff2");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;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/bricolage-grotesque-latin-ext-600-normal.CN5JKkBm.woff2)format("woff2");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;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/bricolage-grotesque-latin-600-normal.nxTgbNFE.woff2)format("woff2");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:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/bricolage-grotesque-vietnamese-700-normal.BLYPkJbo.woff2)format("woff2");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;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/bricolage-grotesque-latin-ext-700-normal.fBkt-7fi.woff2)format("woff2");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;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/bricolage-grotesque-latin-700-normal.gtcctNPv.woff2)format("woff2");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:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/bricolage-grotesque-vietnamese-800-normal.RJtJa6zl.woff2)format("woff2");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;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/bricolage-grotesque-latin-ext-800-normal.BimIDUhy.woff2)format("woff2");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;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/bricolage-grotesque-latin-800-normal.J50vIsBe.woff2)format("woff2");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:Geist;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/geist-vietnamese-400-normal.C4gMWAkH.woff2)format("woff2");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:Geist;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/geist-latin-ext-400-normal.CND6cjiG.woff2)format("woff2");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:Geist;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/geist-latin-400-normal.B40WzpMT.woff2)format("woff2");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:Geist;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/geist-vietnamese-500-normal.DEhtl5QD.woff2)format("woff2");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:Geist;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/geist-latin-ext-500-normal.BovoTgeE.woff2)format("woff2");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:Geist;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/geist-latin-500-normal.CTWBw9NS.woff2)format("woff2");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:Geist;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/geist-vietnamese-600-normal.BFUgqsz8.woff2)format("woff2");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:Geist;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/geist-latin-ext-600-normal.CVFbg5dS.woff2)format("woff2");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:Geist;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/geist-latin-600-normal.CSETrqM2.woff2)format("woff2");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;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jetbrains-mono-greek-400-normal.C190GLew.woff2)format("woff2");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;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jetbrains-mono-vietnamese-400-normal.ByoDsISC.woff2)format("woff2");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;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jetbrains-mono-latin-ext-400-normal.Bc8Ftmh3.woff2)format("woff2");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;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jetbrains-mono-latin-400-normal.V6pRDFza.woff2)format("woff2");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:Geist Fallback;src:local(Arial),local(Liberation Sans),local(Roboto);font-weight:100 450;size-adjust:104.73%;ascent-override:95.96%;descent-override:28.17%;line-gap-override:0%;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,U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,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,U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial Bold),local(Arial-BoldMT),local(Liberation Sans Bold),local(Roboto Bold);font-weight:451 900;size-adjust:101.4%;ascent-override:99.11%;descent-override:29.09%;line-gap-override:0%;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,U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,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,U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Fallback;src:local(Arial Bold),local(Arial-BoldMT),local(Liberation Sans Bold),local(Roboto Bold);font-weight:100 900;size-adjust:102.97%;ascent-override:90.31%;descent-override:26.22%;line-gap-override:0%;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,U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,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,U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-paper:oklch(98% .004 265);--color-paper-2:oklch(95.7% .007 265);--color-paper-3:oklch(92.8% .01 265);--color-rule:oklch(90% .009 265);--color-ink:oklch(24% .027 265);--color-ink-2:oklch(42% .025 265);--color-muted:oklch(51% .022 265);--color-cab:oklch(21% .045 272);--color-cab-2:oklch(27% .06 274);--color-cab-rule:oklch(33% .05 274);--color-cab-text:oklch(93% .012 270);--color-cab-muted:oklch(72% .03 272);--color-accent:oklch(51% .25 277);--color-accent-hover:oklch(45% .23 277);--color-accent-ink:oklch(48% .24 277);--color-accent-wash:oklch(94.5% .03 280);--color-on-accent:oklch(99% .005 84);--color-brand-1:oklch(62.3% .214 259.8);--color-brand-2:oklch(58.5% .233 277.1);--color-brand-3:oklch(62.7% .265 303.9);--color-flower-1:oklch(54.6% .245 262.9);--color-flower-2:oklch(51.1% .262 277);--color-flower-3:oklch(54.1% .281 293);--color-flower-dark-1:oklch(70.7% .165 254.6);--color-flower-dark-2:oklch(67.3% .182 276.9);--color-flower-dark-3:oklch(70.9% .159 293.5);--color-error:oklch(47% .16 22);--color-ok:oklch(46% .1 150);--color-focus:oklch(51% .25 277);--color-ad:oklch(95.4% .006 265);--font-display:"Bricolage Grotesque", "Bricolage Fallback", ui-sans-serif, system-ui, sans-serif;--font-body:"Geist", "Geist Fallback", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:.9375rem;--text-md:1.0625rem;--text-lg:1.3125rem;--text-xl:1.75rem;--text-2xl:clamp(1.4rem, 1.2rem + .6vw, 1.75rem);--text-display:clamp(1.6rem, 1.3rem + 1vw, 2.25rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--radius-sm:4px;--radius-md:8px;--radius-lg:14px;--rule:1px solid var(--color-rule);--rule-ink:1.5px solid var(--color-ink);--drawer-w:272px;--drawer-rail:68px;--page-max:1180px;--gutter:clamp(1rem, .6rem + 1.8vw, 2.5rem);--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in:cubic-bezier(.55, 0, 1, .45);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.12s;--dur-med:.22s;--color-surface:oklch(100% 0 0);--color-tool-red:oklch(53% .19 26);--color-tool-violet:oklch(52% .2 290);--color-tool-orange:oklch(57% .15 55);--color-tool-blue:oklch(53% .19 255);--color-tool-teal:oklch(48% .09 195);--color-tool-pink:oklch(52% .18 350);--color-tool-green:oklch(48% .11 155);--color-code:oklch(20% .025 265);--color-code-ink:oklch(92% .012 265);--color-qr-paper:oklch(100% 0 0);--color-logo-light-hit:oklch(96.8% .007 247.9);--color-logo-dark-hit:oklch(27.9% .041 260)}:root[data-theme=dark]{--color-paper:oklch(19% .019 265);--color-surface:oklch(23% .024 265);--color-paper-2:oklch(26% .025 265);--color-paper-3:oklch(31% .026 265);--color-rule:oklch(34% .024 265);--color-ink:oklch(95% .006 265);--color-ink-2:oklch(82% .012 265);--color-muted:oklch(72% .019 265);--color-accent-ink:oklch(77% .13 277);--color-accent-wash:oklch(29% .065 277);--color-focus:oklch(77% .13 277);--color-ad:oklch(21% .018 265);--color-error:oklch(76% .14 22);--color-ok:oklch(76% .13 150);--color-tool-red:oklch(74% .14 26);--color-tool-violet:oklch(76% .14 290);--color-tool-orange:oklch(77% .13 55);--color-tool-blue:oklch(76% .13 255);--color-tool-teal:oklch(75% .09 195);--color-tool-pink:oklch(75% .14 350);--color-tool-green:oklch(75% .11 155)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);-webkit-font-smoothing:antialiased;margin:0;line-height:1.55}h1,h2,h3,h4,p,ul,ol,figure{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}img,svg{max-width:100%;display:block}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}.skip-link{left:var(--space-4);z-index:100;background:var(--color-ink);color:var(--color-paper);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);position:absolute;top:-100px}.skip-link:focus{top:var(--space-3)}.wrap{width:100%;max-width:var(--page-max);padding-inline:var(--gutter);margin-inline:auto}.plate{min-width:2.1em;height:1.5rem;padding:0 var(--space-2);border:1px solid var(--color-rule);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.02em;color:var(--color-muted);white-space:nowrap;background:var(--color-paper);justify-content:center;align-items:center;font-weight:400;display:inline-flex}.btn{justify-content:center;align-items:center;gap:var(--space-2);height:2.5rem;padding:0 var(--space-4);border:1.5px solid var(--color-ink);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-ink);font-weight:600;font-size:var(--text-sm);white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);display:inline-flex}.btn:hover{background:var(--color-paper-3)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{background:var(--color-ink);color:var(--color-paper)}.btn-primary:hover{background:var(--color-ink-2)}.btn-accent{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.btn-accent:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn-ghost{border-color:var(--color-rule)}.btn[aria-busy=true]{cursor:progress}.icon-btn{border-radius:var(--radius-md);width:2.5rem;height:2.5rem;color:var(--color-ink-2);transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:1px solid #0000;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--color-paper-3);color:var(--color-ink)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.section-head{justify-content:space-between;align-items:baseline;gap:var(--space-4);padding-bottom:var(--space-2);margin-bottom:var(--space-3);border-bottom:var(--rule-ink);display:flex}.section-head h2{font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);letter-spacing:-.025em;min-width:0;line-height:1.1}.section-head a,.section-head .meta{font-size:var(--text-sm);color:var(--color-muted);white-space:nowrap}.section-head a{color:var(--color-accent-ink);gap:var(--space-1);align-items:center;font-weight:600;display:inline-flex}.section-head a:hover{text-underline-offset:3px;text-decoration:underline}.shell{grid-template-columns:var(--drawer-w) minmax(0, 1fr);min-height:100dvh;transition:grid-template-columns var(--dur-med) var(--ease-out);display:grid}html.drawer-collapsed .shell{grid-template-columns:var(--drawer-rail) minmax(0, 1fr)}.page{flex-direction:column;min-width:0;display:flex}main{flex:1}.drawer{background:var(--color-cab);height:100dvh;color:var(--color-cab-text);scrollbar-width:thin;scrollbar-color:var(--color-cab-rule) transparent;flex-direction:column;display:flex;position:sticky;top:0;overflow:hidden}.drawer-head{height:64px;padding:0 var(--space-5);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.drawer-close{display:none}.logo{align-items:center;gap:var(--space-2);white-space:nowrap;transition:transform var(--dur-med) var(--ease-out);display:inline-flex}.logo:hover{transform:scale(1.03)}.logo-icon{flex-shrink:0;width:34px;height:34px}.logo-text{font-family:var(--font-display);letter-spacing:-.045em;color:var(--color-ink);font-size:1.4rem;font-weight:700;line-height:1}.drawer-nav{padding:var(--space-2) var(--space-3) var(--space-6);scrollbar-width:thin;scrollbar-color:var(--color-cab-rule) transparent;flex:1 1 0;min-height:0;overflow-y:auto}.drawer-ad{border-top:1px solid var(--color-cab-rule);max-height:60%;padding:var(--space-3) var(--space-2);text-align:center;flex-shrink:0;overflow-y:auto}.drawer-ad .ad-placement{justify-content:center}.ad-square .ad-reserved{background:var(--color-cab-2);border:0;width:250px;min-height:250px}html.drawer-collapsed .drawer-ad{display:none}.drawer-label{padding:var(--space-6) var(--space-3) var(--space-2);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-cab-muted)}.drawer-link{align-items:center;gap:var(--space-3);height:2.375rem;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--color-cab-muted);font-size:var(--text-sm);transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);grid-template-columns:18px minmax(0,1fr) auto;font-weight:500;display:grid;position:relative}.drawer-link span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.drawer-list{gap:2px;display:grid}.drawer-nav>.drawer-link+.drawer-link{margin-top:2px}.drawer-link:hover{background:color-mix(in oklch, var(--color-cab-2) 55%, transparent);color:var(--color-cab-text)}.drawer-link[aria-current=page]:before{content:"";left:calc(-1 * var(--space-3));background:var(--color-accent);border-radius:0 2px 2px 0;width:3px;position:absolute;top:7px;bottom:7px}.drawer .plate{border-color:var(--color-cab-rule);color:var(--color-cab-muted);background:0 0;min-width:2.75rem;height:1.375rem}.drawer-link[aria-current=page] .plate{border-color:var(--color-accent);color:var(--color-cab-text)}.drawer :focus-visible{outline-color:var(--color-accent)}html.drawer-collapsed .drawer .logo-text,html.drawer-collapsed .drawer-label,html.drawer-collapsed .drawer-link span,html.drawer-collapsed .drawer-link .plate{display:none}html.drawer-collapsed .drawer-head{justify-content:center;padding:0}html.drawer-collapsed .drawer-nav{padding-inline:var(--space-2)}html.drawer-collapsed .drawer-link{grid-template-columns:1fr;justify-items:center;padding:0}html.drawer-collapsed .drawer-list{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-cab-rule)}html.drawer-collapsed .drawer-link[aria-current=page]:before{left:calc(-1 * var(--space-2))}.drawer-scrim{display:none}.topbar{z-index:20;align-items:center;gap:var(--space-3);height:64px;padding-inline:var(--gutter);background:color-mix(in oklch, var(--color-paper) 96%, transparent);-webkit-backdrop-filter:blur(10px);border-bottom:var(--rule);display:flex;position:sticky;top:0}.toggle-mobile,.topbar-mark{display:none}.topbar-mark .logo-icon{width:30px;height:30px}.topbar-mark .logo-text{font-size:1.2rem}.crumbs{flex:1;min-width:0}.crumbs ol{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-muted);white-space:nowrap;display:flex;overflow:hidden}.crumbs li{align-items:center;gap:var(--space-2);min-width:0;display:flex}.crumbs li+li:before{content:"/";color:var(--color-rule)}.crumbs li:last-child{overflow:hidden}.crumbs li:last-child span{text-overflow:ellipsis;color:var(--color-ink);font-weight:500;overflow:hidden}.crumbs a:hover{color:var(--color-ink)}.topbar-search{flex:0 26rem;min-width:0;margin-left:auto}.topbar:not(:has(.crumbs)) .topbar-search{max-width:40rem;margin-left:var(--space-2);flex:auto}.topbar-actions{margin-left:var(--space-2);align-items:center;gap:var(--space-2);display:flex}.topbar:not(:has(.topbar-search)) .topbar-actions{margin-left:auto}.topbar-cmd{display:none}.finder-bar{max-width:none;margin-top:0}.finder-bar .finder-field{border-width:1px;border-color:var(--color-rule);height:2.5rem;box-shadow:none;padding-left:var(--space-3);gap:var(--space-2)}.finder-bar .finder-field:hover{border-color:var(--color-ink-2)}.finder-bar .finder-field:focus-within{border-color:var(--color-ink);box-shadow:0 0 0 3px var(--color-accent-wash);transform:none}.finder-bar .finder-field input{font-size:var(--text-sm)}.finder-bar .finder-pop{z-index:30}@media (width>=1024px){.topbar-saved{display:none}}.search-pill{align-items:center;gap:var(--space-2);width:15rem;height:2.5rem;padding:0 var(--space-2) 0 var(--space-3);border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-muted);font-size:var(--text-sm);transition:border-color var(--dur-fast) var(--ease-out);display:inline-flex}.search-pill:hover{border-color:var(--color-ink-2);color:var(--color-ink-2)}.search-pill span{text-align:left;white-space:nowrap;flex:1}kbd{font-family:var(--font-mono);font-size:var(--text-2xs);border:1px solid var(--color-rule);border-radius:var(--radius-sm);color:var(--color-muted);background:var(--color-paper-2);white-space:nowrap;border-bottom-width:2px;padding:1px 6px}.command-dialog{border:1.5px solid var(--color-ink);border-radius:var(--radius-lg);background:var(--color-paper);width:min(640px,100vw - 2rem);max-height:min(560px,100dvh - 4rem);color:var(--color-ink);margin:10vh auto auto;padding:0;overflow:hidden;box-shadow:0 24px 60px -20px oklch(20% .02 60/.45)}.command-dialog[open]{animation:dialog-in var(--dur-med) var(--ease-out);flex-direction:column;display:flex}.command-dialog::backdrop{background:oklch(20% .012 60/.45)}@keyframes dialog-in{0%{opacity:0;transform:translateY(6px)}}.command-field{align-items:center;gap:var(--space-3);padding:0 var(--space-3) 0 var(--space-5);border-bottom:var(--rule);color:var(--color-muted);display:flex}.command-field input{min-width:0;height:3.5rem;font-size:var(--text-md);color:var(--color-ink);background:0 0;border:0;flex:1}.command-field input:focus{outline:none}.command-label{padding:var(--space-4) var(--space-5) var(--space-2);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.command-results{padding:0 var(--space-2) var(--space-2);overflow-y:auto}.command-result{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-ink-2);grid-template-columns:20px minmax(0,1fr) 18px;display:grid}.command-result span{min-width:0;color:var(--color-ink);flex-direction:column;font-weight:500;display:flex}.command-result small{font-size:var(--text-xs);color:var(--color-muted);font-weight:400}.command-result>svg:last-child{opacity:0;transition:opacity var(--dur-fast) var(--ease-out)}.command-result.selected{background:var(--color-accent-wash)}.command-result.selected>svg:last-child{opacity:1;color:var(--color-accent-ink)}.empty-small{padding:var(--space-4) var(--space-5);color:var(--color-muted);font-size:var(--text-sm)}.command-foot{gap:var(--space-5);padding:var(--space-3) var(--space-5);border-top:var(--rule);font-size:var(--text-xs);color:var(--color-muted);background:var(--color-paper-2);display:flex}.command-dialog .icon-button{border-radius:var(--radius-md);width:2.25rem;height:2.25rem;color:var(--color-muted);background:0 0;border:0;place-items:center;display:inline-grid}.command-dialog .icon-button:hover{background:var(--color-paper-3);color:var(--color-ink)}.home-top{padding-block:var(--space-5) var(--space-1)}.home-title{font-family:var(--font-display);font-weight:800;font-size:var(--text-display);letter-spacing:-.035em;overflow-wrap:anywhere;min-width:0;line-height:1.05}.home-title .accent{color:var(--color-accent);white-space:nowrap}.finder{margin-top:var(--space-4);max-width:820px;position:relative}.finder-field{align-items:center;gap:var(--space-3);height:3.25rem;padding:0 var(--space-2) 0 var(--space-4);border:1.5px solid var(--color-ink);border-radius:var(--radius-md);background:var(--color-paper);box-shadow:3px 3px 0 var(--color-ink);transition:box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);display:flex}.finder-field:focus-within{box-shadow:1px 1px 0 var(--color-accent);transform:translate(2px,2px)}.finder-field>svg{color:var(--color-ink-2);flex-shrink:0}.finder-field input{min-width:0;height:100%;font-size:var(--text-md);color:var(--color-ink);background:0 0;border:0;flex:1}.finder-field input::placeholder{color:var(--color-muted)}.finder-field input:focus{outline:none}.finder-field kbd{margin-right:var(--space-2)}.finder-clear{border-radius:var(--radius-md);width:2.25rem;height:2.25rem;color:var(--color-muted);background:0 0;border:0;place-items:center;display:inline-grid}.finder-clear:hover{background:var(--color-paper-3);color:var(--color-ink)}.finder-pop{z-index:15;left:0;right:0;top:calc(100% + var(--space-2));border:1.5px solid var(--color-ink);border-radius:var(--radius-md);background:var(--color-paper);padding:var(--space-1);max-height:24rem;position:absolute;overflow-y:auto;box-shadow:0 20px 50px -24px oklch(20% .02 60/.5)}.finder-option{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-ink-2);grid-template-columns:18px minmax(0,1fr) auto;display:grid}.finder-option-name{color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:block;overflow:hidden}.finder-option-desc{font-size:var(--text-xs);color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.finder-option[aria-selected=true]{background:var(--color-accent-wash)}.finder-option[aria-selected=true] .plate{border-color:var(--color-accent);color:var(--color-accent-ink)}.finder-empty{padding:var(--space-3);font-size:var(--text-sm);color:var(--color-muted)}.finder-all{padding:var(--space-2) var(--space-3);margin-top:var(--space-1);border-top:var(--rule);font-size:var(--text-sm);color:var(--color-accent-ink);justify-content:space-between;font-weight:600;display:flex}.finder-all:hover{text-underline-offset:3px;text-decoration:underline}.tasks{margin-top:var(--space-3);gap:var(--space-2);flex-wrap:wrap;display:flex}.task{align-items:center;gap:var(--space-1);height:2rem;padding:0 var(--space-3);border:1px solid var(--color-rule);background:var(--color-paper);font-size:var(--text-xs);color:var(--color-ink-2);white-space:nowrap;transition:border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);border-radius:999px;font-weight:500;display:inline-flex}.task svg{color:var(--color-muted);transition:transform var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out)}.task:hover{border-color:var(--color-ink);color:var(--color-ink);background:var(--color-paper-2)}.task:hover svg{color:var(--color-accent);transform:translate(2px)}.ad-band{padding-block:var(--space-3)}.ad-placement{justify-content:flex-start;display:flex}.ad-reserved{background:var(--color-ad);border-radius:var(--radius-md);width:100%}.ad-leaderboard .ad-reserved{max-width:970px;height:90px}.ad-inline .ad-reserved{min-height:90px}.ad-inline[data-ad-position=before_seo_content] .ad-reserved{min-height:250px}ins.adsbygoogle[data-ad-status=unfilled]{display:none!important}ins.adsbygoogle iframe{color-scheme:light}.ad-rail .ad-reserved{border:0;width:160px;height:600px}@media (width<=767px){.ad-leaderboard{display:none}.ad-inline .ad-reserved{min-height:250px}}.block{padding-block:var(--space-5)}.top-grid{column-gap:var(--space-6);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.top-grid li{border-bottom:var(--rule);min-width:0}.top-grid a{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-1);transition:background-color var(--dur-fast) var(--ease-out);grid-template-columns:1.75rem minmax(0,1fr);display:grid}.top-grid a:hover{background:var(--color-paper-2)}.rank{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-muted)}.top-grid a:hover .rank{color:var(--color-accent-ink)}.top-name{min-width:0;font-weight:600;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.index-columns{columns:4 13.5rem;column-gap:var(--space-8)}.index-group{break-inside:avoid;margin-bottom:var(--space-5)}.index-group h3{justify-content:space-between;align-items:center;gap:var(--space-3);padding-bottom:var(--space-1);margin-bottom:var(--space-1);border-bottom:var(--rule);font-family:var(--font-display);font-weight:700;font-size:var(--text-md);letter-spacing:-.015em;display:flex}.index-group h3 .plate{height:1.25rem}.index-group h3 a:hover{color:var(--color-accent-ink)}.index-group li a{font-size:var(--text-sm);color:var(--color-ink-2);transition:color var(--dur-fast) var(--ease-out);padding:2px 0;line-height:1.4;display:block}.index-group li a:hover{color:var(--color-accent-ink);text-underline-offset:3px;text-decoration:underline}.list-head{justify-content:space-between;align-items:flex-end;gap:var(--space-4);padding-block:var(--space-6) var(--space-4);flex-wrap:wrap;display:flex}.list-head h1{font-family:var(--font-display);font-weight:800;font-size:var(--text-display);letter-spacing:-.035em;overflow-wrap:anywhere;min-width:0;line-height:1.05}.list-head p{margin-top:var(--space-1);color:var(--color-muted);font-size:var(--text-sm)}.filter{align-items:center;gap:var(--space-2);width:min(100%,20rem);height:2.5rem;padding:0 var(--space-3);border:1.5px solid var(--color-ink);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-muted);display:flex}.filter:focus-within{border-color:var(--color-accent)}.filter input{min-width:0;color:var(--color-ink);background:0 0;border:0;flex:1}.filter input:focus{outline:none}.rows{column-gap:var(--space-6);border-top:var(--rule-ink);grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));display:grid}.rows>li{border-bottom:var(--rule);min-width:0}.section-head+.rows{border-top:0}.row{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-1);transition:background-color var(--dur-fast) var(--ease-out);grid-template-columns:minmax(0,1fr) auto;display:grid}.row:hover{background:var(--color-paper-2)}.row-link{min-width:0;display:block}.row-name{font-weight:600;font-size:var(--text-sm);color:var(--color-ink);display:block}.row-desc{font-size:var(--text-xs);color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.row>svg{color:var(--color-muted);transition:transform var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out)}.row:hover>svg{color:var(--color-accent);transform:translate(3px)}.row-tools{align-items:center;gap:var(--space-2);display:flex}.list-count{margin-bottom:var(--space-4);font-size:var(--text-sm);color:var(--color-muted)}.empty{padding:var(--space-12) 0;text-align:center;color:var(--color-muted)}.empty strong{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-ink);letter-spacing:-.02em;margin-bottom:var(--space-2);display:block}.empty a{color:var(--color-accent-ink);text-underline-offset:3px;font-weight:600;text-decoration:underline}.cat-grid{border-top:var(--rule-ink);grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));display:grid}.cat-card{padding:var(--space-3) var(--space-1) var(--space-4);border-bottom:var(--rule);transition:background-color var(--dur-fast) var(--ease-out);display:block}.cat-card:hover{background:var(--color-paper-2)}.cat-card-top{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.cat-card h2{font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);letter-spacing:-.02em;align-items:center;gap:var(--space-2);display:flex}.cat-card h2 svg{color:var(--color-accent)}.cat-card p{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-muted)}.tool-layout{gap:var(--space-8);grid-template-columns:minmax(0,1fr);display:grid}.tool-rail{display:none}@media (width>=1440px){.tool-layout{max-width:calc(var(--page-max) + 200px);grid-template-columns:minmax(0,1fr) 160px}.tool-rail{align-self:start;display:block;position:sticky;top:88px}}.tool-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding-block:var(--space-5) var(--space-4);display:flex}.tool-head h1{font-family:var(--font-display);font-weight:800;font-size:var(--text-display);letter-spacing:-.035em;overflow-wrap:anywhere;min-width:0;line-height:1.05}.tool-head p{margin-top:var(--space-1);font-size:var(--text-base);color:var(--color-ink-2);max-width:60ch}.save-btn{flex-shrink:0}.save-btn[aria-pressed=true]{border-color:var(--color-accent);color:var(--color-accent-ink);background:var(--color-accent-wash)}.save-btn[aria-pressed=true] svg{fill:currentColor}.workspace{border:1.5px solid var(--color-ink);border-radius:var(--radius-lg);background:var(--color-paper);min-width:0;padding:var(--space-6);box-shadow:4px 4px 0 var(--color-paper-3)}.workspace-out{gap:var(--space-3);background:var(--color-paper-2);box-shadow:none;justify-items:start;display:grid}.workspace-out .out-title{font-family:var(--font-display);font-weight:700;font-size:var(--text-xl);letter-spacing:-.02em;line-height:1.15}.workspace-out p:not(.out-title){color:var(--color-ink-2);max-width:54ch}.workspace-out .btn{margin-top:var(--space-3)}.related{padding-top:var(--space-3)}.plain-workspace{gap:var(--space-4);display:grid}.plain-workspace label,.field-label{font-weight:600;font-size:var(--text-sm)}.plain-workspace textarea,.json-input textarea{width:100%;padding:var(--space-4);border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper);font-size:var(--text-base);resize:vertical;color:var(--color-ink);transition:border-color var(--dur-fast) var(--ease-out);line-height:1.6}.plain-workspace textarea:focus,.json-input textarea:focus{border-color:var(--color-ink);outline:none}.count-stats{border:var(--rule);border-radius:var(--radius-md);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.count-stats div{padding:var(--space-4);gap:2px;display:grid}.count-stats div+div{border-left:var(--rule)}.count-stats strong{font-family:var(--font-display);font-weight:800;font-size:var(--text-xl);letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1}.count-stats span{font-size:var(--text-xs);color:var(--color-muted)}.password-snippet{align-items:center;gap:var(--space-2);padding-right:var(--space-2);border:1.5px solid var(--color-ink);border-radius:var(--radius-md);display:flex}.password-output{min-width:0;height:3.5rem;padding:0 var(--space-4);font-family:var(--font-mono);font-size:var(--text-md);color:var(--color-ink);background:0 0;border:0;flex:1}.password-output:focus{outline:none}.password-settings{gap:var(--space-3);display:grid}.password-settings label{justify-content:space-between;display:flex}.password-settings strong{font-family:var(--font-mono);font-weight:400}.range{width:100%;accent-color:var(--color-accent);cursor:pointer;height:1.5rem}.switch{align-items:center;gap:var(--space-3);font-weight:500;font-size:var(--text-sm);cursor:pointer;display:inline-flex;justify-content:flex-start!important}.switch input{opacity:0;width:1px;height:1px;position:absolute}.switch-track{background:var(--color-paper-3);border:1px solid var(--color-rule);width:2.5rem;height:1.5rem;transition:background-color var(--dur-fast) var(--ease-out);border-radius:999px;flex-shrink:0;position:relative}.switch-track:after{content:"";background:var(--color-paper);width:1.125rem;height:1.125rem;transition:transform var(--dur-fast) var(--ease-out);border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px oklch(0% 0 0/.25)}.switch input:checked+.switch-track{background:var(--color-accent);border-color:var(--color-accent)}.switch input:checked+.switch-track:after{transform:translate(1rem)}.switch input:focus-visible+.switch-track{outline:2px solid var(--color-focus);outline-offset:2px}.action-row{gap:var(--space-3);flex-wrap:wrap;display:flex}.helper{font-size:var(--text-sm);color:var(--color-muted)}.helper.error{color:var(--color-error);font-weight:500}.upload-area{justify-items:center;gap:var(--space-1);padding:var(--space-6) var(--space-5);border:1.5px dashed var(--color-ink-2);border-radius:var(--radius-lg);background:var(--color-paper-2);text-align:center;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);display:grid;position:relative}.upload-area:hover,.upload-area:focus-within{border-color:var(--color-accent);background:var(--color-accent-wash)}.upload-area input{opacity:0;cursor:pointer;position:absolute;inset:0}.upload-area strong{font-size:var(--text-md);overflow-wrap:anywhere}.upload-area span,.upload-area small{color:var(--color-muted);font-size:var(--text-sm);font-weight:400}.upload-glyph{color:var(--color-accent);margin-bottom:var(--space-2)}.image-result{border-radius:var(--radius-md);border:var(--rule);justify-self:start;max-height:420px}.qr-workspace{align-items:start;gap:var(--space-8);grid-template-columns:minmax(0,1fr) 15rem}.qr-workspace>div:first-child{gap:var(--space-4);display:grid}.qr-preview{padding:var(--space-4);border:var(--rule);border-radius:var(--radius-md);background:var(--color-paper)}.qr-preview svg{width:100%;height:auto}.json-workbench{gap:var(--space-4);display:grid}.json-panels{gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.json-input,.json-output{gap:var(--space-2);grid-template-rows:auto 1fr;min-width:0;display:grid}.json-input label,.output-label{font-weight:600;font-size:var(--text-sm)}.json-input textarea{min-height:20rem;font-family:var(--font-mono);font-size:var(--text-sm)}.output-label{justify-content:space-between;align-items:center;display:flex}.json-output pre{min-height:20rem;max-height:32rem;padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-cab);color:var(--color-cab-text);font-family:var(--font-mono);font-size:var(--text-sm);margin:0;line-height:1.6;overflow:auto}.workbench-actions{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.workbench-actions>div{gap:var(--space-3);flex-wrap:wrap;display:flex}.workbench-status{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-ok);display:inline-flex}.workbench-status.error{color:var(--color-error)}.lost{padding-block:var(--space-10);gap:var(--space-4);grid-template-columns:minmax(0,1fr);justify-items:start;display:grid}.lost-code{font-family:var(--font-mono);color:var(--color-accent-ink);font-size:var(--text-sm)}.lost h1{font-family:var(--font-display);font-weight:800;font-size:var(--text-display);letter-spacing:-.045em;overflow-wrap:anywhere;max-width:14ch;line-height:.92}.lost p{color:var(--color-ink-2)}.base{margin-top:var(--space-10);background:var(--color-cab);color:var(--color-cab-text)}.base-inner{max-width:var(--page-max);padding:var(--space-8) var(--gutter) var(--space-5);margin-inline:auto}.base-grid{gap:var(--space-8);grid-template-columns:minmax(0,1.1fr) minmax(0,1.6fr) minmax(0,1.1fr) minmax(0,.7fr);display:grid}.base-brand p{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-cab-muted)}.base-label{margin-bottom:var(--space-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-cab-muted)}.base-flow{gap:var(--space-1) var(--space-4);font-size:var(--text-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.base-stack{gap:var(--space-1);font-size:var(--text-sm);display:grid}.base-flow a,.base-stack a{color:var(--color-cab-muted);transition:color var(--dur-fast) var(--ease-out);white-space:nowrap}.base-line{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-cab-rule);font-size:var(--text-xs);color:var(--color-cab-muted);font-family:var(--font-mono)}.base :focus-visible{outline-color:var(--color-accent)}@media (width<=1023px){.shell,html.drawer-collapsed .shell{display:block}.drawer{z-index:60;visibility:hidden;width:min(86vw,20rem);height:auto;transition:transform var(--dur-med) var(--ease-out), visibility 0s linear var(--dur-med);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}html.drawer-open .drawer{visibility:visible;transition:transform var(--dur-med) var(--ease-out);transform:none}html.drawer-collapsed .drawer .logo-text,html.drawer-collapsed .drawer-label,html.drawer-collapsed .drawer-link span,html.drawer-collapsed .drawer-link .plate{display:revert}html.drawer-collapsed .drawer-head{padding:0 var(--space-5);justify-content:space-between}html.drawer-collapsed .drawer-link{padding:0 var(--space-3);grid-template-columns:18px minmax(0,1fr) auto;justify-items:stretch}html.drawer-collapsed .drawer-list{border-top:0;margin-top:0;padding-top:0}.drawer-close{border-radius:var(--radius-md);width:2.5rem;height:2.5rem;color:var(--color-cab-muted);background:0 0;border:0;place-items:center;display:inline-grid}.drawer-close:hover{background:var(--color-cab-2);color:var(--color-cab-text)}.drawer-scrim{z-index:55;opacity:0;pointer-events:none;transition:opacity var(--dur-med) var(--ease-out);background:oklch(20% .012 60/.5);border:0;display:block;position:fixed;inset:0}html.drawer-open .drawer-scrim{opacity:1;pointer-events:auto}html.drawer-open{overflow:hidden}.toggle-desktop{display:none}.toggle-mobile{display:inline}.topbar-mark{display:inline-flex}.crumbs{display:none}.search-pill{border:0;justify-content:center;width:2.5rem;height:2.5rem;padding:0}.search-pill span,.search-pill kbd{display:none}.top-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.base-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.base-brand{grid-column:1/-1}}@media (width<=767px){.home-top{padding-top:var(--space-4)}.finder-field{height:3rem}.finder-field kbd,.topbar-search{display:none}.topbar-cmd{display:inline-flex}.tasks{margin-inline:calc(-1 * var(--gutter));padding:0 var(--gutter) var(--space-1);scrollbar-width:none;scroll-snap-type:x proximity;scroll-padding-inline:var(--gutter);flex-wrap:nowrap;overflow-x:auto}.tasks:after{content:"";flex:0 0 1px}.tasks::-webkit-scrollbar{display:none}.tasks li{scroll-snap-align:start;flex-shrink:0}.ad-band:has(.ad-leaderboard){display:none}.top-grid{grid-template-columns:minmax(0,1fr)}.list-head{padding-block:var(--space-4) var(--space-3)}.filter{width:100%}.tool-head{gap:var(--space-3);padding-block:var(--space-4) var(--space-3);flex-direction:column}.workspace{padding:var(--space-4);box-shadow:none}.count-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.count-stats div:nth-child(3){border-left:0}.count-stats div:nth-child(n+3){border-top:var(--rule)}.qr-workspace,.json-panels{grid-template-columns:minmax(0,1fr)}.qr-preview{max-width:15rem}.base-grid{gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr))}.base-grid>div:nth-child(2){grid-column:1/-1}.base-flow{grid-template-columns:repeat(3,minmax(0,1fr))}.command-foot{display:none}}@media (width<=400px){.base-flow{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important}.finder-field:focus-within{transform:none}}:root{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}html,body{overflow-x:clip}.page{--page-max:1512px;--gutter:clamp(1rem, 2.2vw, 2.5rem)}.topbar{background:var(--color-surface);gap:var(--space-3)}.topbar-actions{margin-left:auto}.theme-toggle{border-color:var(--color-rule);background:var(--color-paper)}.theme-sun,[data-theme=dark] .theme-moon{display:none}[data-theme=dark] .theme-sun{display:block}.logo{--color-logo-hit:var(--color-logo-dark-hit);--logo-accent:var(--color-flower-2)}.logo-dark,[data-theme=dark] .logo{--color-logo-hit:var(--color-logo-light-hit);--logo-accent:var(--color-flower-dark-2)}.logo-text{display:inline-flex}.logo-accent{color:var(--logo-accent)}.logo-letter.logo-flash{color:var(--color-logo-hit);filter:drop-shadow(0 0 8px color-mix(in oklab, var(--color-logo-hit) 30%, transparent))}.library{padding-top:var(--space-8)}.library-heading{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.library-heading h1{font-family:var(--font-display);font-size:var(--text-display);letter-spacing:-.035em;overflow-wrap:anywhere;min-width:0;font-weight:700;line-height:1.2}.library-heading p{color:var(--color-muted);margin-top:var(--space-2);font-size:var(--text-sm)}.library-total{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--color-muted);white-space:nowrap}.library-total strong{font-size:var(--text-xl);color:var(--color-ink);text-align:right;font-weight:400;line-height:1.25;display:block}.library-search{align-items:center;gap:var(--space-3);background:var(--color-surface);border:var(--rule);border-radius:var(--radius-lg);padding:0 var(--space-4);height:3.25rem;color:var(--color-muted);display:flex}.library-search:focus-within{border-color:var(--color-focus);outline:2px solid var(--color-accent-wash)}.library-search input{width:100%;min-width:0;height:100%;color:var(--color-ink);font-size:var(--text-sm);background:0 0;border:0;outline:none}.library-search input::placeholder{color:var(--color-muted)}.library-search button{flex-shrink:0}.category-tabs{gap:var(--space-2);padding-block:var(--space-4);flex-wrap:wrap;display:flex}.category-tab{align-items:center;gap:var(--space-2);height:2.25rem;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--color-ink-2);font-size:var(--text-xs);white-space:nowrap;background:0 0;border:1px solid #0000;font-weight:500;display:inline-flex}.category-tab>svg{width:15px;height:15px;color:var(--color-muted)}.category-tab small{color:var(--color-muted);font-weight:400;font-size:var(--text-2xs);font-variant-numeric:tabular-nums}.category-tab:hover{background:var(--color-paper-2)}.category-tab[aria-pressed=true]{background:var(--color-accent-wash);color:var(--color-accent-ink);border-color:color-mix(in oklch, var(--color-accent-ink) 20%, transparent)}.category-tab[aria-pressed=true]>svg,.category-tab[aria-pressed=true] small{color:inherit}.library-section-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.library-section-head h2{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-.02em;font-weight:700}.library-section-head>span,.library-section-head>a{font-size:var(--text-xs);color:var(--color-muted);white-space:nowrap}.library-section-head>a{align-items:center;gap:var(--space-2);display:inline-flex}.library-section-head>a:hover{color:var(--color-accent-ink)}.popular-shelf{padding-block:var(--space-4) var(--space-5);border-top:var(--rule)}.popular-shelf .library-section-head{margin-bottom:var(--space-3)}.popular-tools{gap:var(--space-3) var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.popular-tool{align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);min-width:0;display:flex}.popular-tool:hover{background:var(--color-surface)}.popular-tool>span:nth-child(2){gap:2px;min-width:0;display:grid}.popular-tool strong{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.popular-tool small{font-size:var(--text-xs);color:var(--color-muted)}.popular-tool>svg{width:15px;height:15px;color:var(--color-muted);flex-shrink:0;margin-left:auto}.tool-emblem{width:42px;height:42px;color:var(--tool-hue,var(--color-accent-ink));background:color-mix(in oklab, var(--tool-hue,var(--color-accent-ink)) 10%, var(--color-surface));border-radius:12px;flex-shrink:0;place-items:center;display:inline-grid}[data-category=PDF\ Tools]{--tool-hue:var(--color-tool-red)}[data-category=Image\ Tools],[data-category=Design\ Tools]{--tool-hue:var(--color-tool-violet)}[data-category="Video & Audio Tools"],[data-category="Media Recording Tools"]{--tool-hue:var(--color-tool-orange)}[data-category=Developer\ Tools],[data-category=Text\ Tools]{--tool-hue:var(--color-tool-blue)}[data-category=Utility\ Tools],[data-category=Web\ Tools],[data-category=Conversion\ Tools]{--tool-hue:var(--color-tool-teal)}[data-category="Social Media Tools"]{--tool-hue:var(--color-tool-pink)}[data-category=Health\ Tools],[data-category=Calculator\ Tools],[data-category=File\ Tools]{--tool-hue:var(--color-tool-green)}.library-ad{margin-block:var(--space-2) var(--space-6)}.ad-reserved{background:var(--color-ad);border:1px solid var(--color-rule);border-radius:var(--radius-md)}.page .ad-placement{justify-content:center}.browse-library{padding-top:var(--space-2);scroll-margin-top:80px}.browse-library .library-section-head{padding-bottom:var(--space-3);border-bottom:var(--rule)}.tool-tile{background:var(--color-surface);border:var(--rule);border-radius:var(--radius-lg);min-width:0;position:relative}.tool-tile:hover{border-color:color-mix(in oklch, var(--color-accent-ink) 38%, var(--color-rule))}.tile-link{min-height:110px;padding:var(--space-5);padding-right:var(--space-10);align-content:start;align-items:start;gap:var(--space-3);grid-template-columns:42px minmax(0,1fr);display:grid}.tile-link .tool-emblem{margin-bottom:0}.tile-copy{gap:var(--space-1);min-width:0;display:grid}.tile-copy strong{font-size:var(--text-sm);overflow-wrap:anywhere;font-weight:600;line-height:1.4}.tile-copy>span{font-size:var(--text-xs);color:var(--color-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.6;display:-webkit-box;overflow:hidden}.tile-save{top:var(--space-3);right:var(--space-3);color:var(--color-muted);width:2rem;height:2rem;position:absolute}.tile-save[aria-pressed=true]{color:var(--color-accent-ink)}.tile-save[aria-pressed=true] svg{fill:currentColor}.tile-bottom{justify-content:space-between;align-items:center;gap:var(--space-2);padding:0 var(--space-5) var(--space-4);padding-left:calc(var(--space-5) + 42px + var(--space-3));color:var(--color-muted);font-size:var(--text-2xs);display:flex}.tile-bottom>svg{width:14px;height:14px}.load-tools{padding-top:var(--space-6);justify-content:center;display:flex}.load-tools:has(button[hidden]){display:none}.load-tools .btn{background:var(--color-surface);border-color:var(--color-rule)}.catalog-footer{justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-8);padding-block:var(--space-5);border-top:var(--rule);font-size:var(--text-xs);color:var(--color-muted);flex-wrap:wrap;display:flex}.catalog-footer nav{gap:var(--space-4);flex-wrap:wrap;display:flex}.catalog-footer a{white-space:nowrap}.catalog-footer a:hover{color:var(--color-ink)}.page .workspace{border:var(--rule);background:var(--color-surface);box-shadow:none}.page .section-head,.page .rows,.page .cat-grid{border-color:var(--color-rule)}.page .finder-field{background:var(--color-surface);border-color:var(--color-rule);box-shadow:none}.page .finder-field:focus-within{border-color:var(--color-focus);transform:none}.page .filter,.page .password-snippet{border:var(--rule);background:var(--color-surface)}.page .btn:not(.btn-accent):not(.btn-primary){border-color:var(--color-rule)}.page .qr-preview{background:var(--color-qr-paper)}.page .json-output{background:var(--color-code)}.page .json-output pre{color:var(--color-code-ink)}.page .row{padding-block:var(--space-4)}.page .cat-grid{gap:var(--space-4);border-top:0}.page .cat-card{padding:var(--space-5);border:var(--rule);border-radius:var(--radius-lg);background:var(--color-surface)}.page .cat-card h2 svg{color:var(--color-accent-ink)}.page .list-head,.page .tool-head{padding-top:var(--space-8)}.page .upload-area:hover,.page .upload-area:focus-within{border-color:var(--color-focus)}@media (width<=1199px) and (width>=1024px){.popular-tools{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.library{padding-top:var(--space-5)}.library-heading{margin-bottom:var(--space-4);align-items:flex-start}.library-heading p{max-width:28ch}.library-total{display:none}.category-tabs{scrollbar-width:thin;margin-right:calc(-1 * var(--gutter));padding-right:var(--gutter);flex-wrap:nowrap;overflow-x:auto}.category-tab{flex-shrink:0;height:2.5rem}.popular-tools{gap:var(--space-1);grid-template-columns:repeat(2,minmax(0,1fr))}.popular-tool{padding:var(--space-2) var(--space-1);gap:var(--space-2)}.popular-tool>svg{display:none}.popular-tool strong{font-size:var(--text-xs)}.popular-tool small{font-size:var(--text-2xs)}.popular-tool .tool-emblem{border-radius:var(--radius-md);width:32px;height:32px}.popular-tool .tool-emblem svg{width:17px;height:17px}.library-section-head{flex-wrap:wrap;align-items:flex-start}.library-section-head h2{font-size:var(--text-md)}.tile-link{padding:var(--space-3);gap:var(--space-2);grid-template-columns:minmax(0,1fr);min-height:157px}.tile-copy strong{font-size:var(--text-xs)}.tile-copy>span{font-size:var(--text-2xs)}.tile-bottom{padding-inline:var(--space-3);padding-bottom:var(--space-3)}.tile-save{top:var(--space-2);right:var(--space-1)}.tile-link .tool-emblem{border-radius:var(--radius-md);width:34px;height:34px}.topbar{gap:var(--space-1)}.topbar-actions{gap:0;margin-left:auto}.topbar-saved{display:none}.topbar-mark .logo-text{font-size:var(--text-md)}.topbar-mark .logo-icon{width:28px;height:28px}.catalog-footer{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){.logo:hover{transform:none}}.library-heading h1{font-size:clamp(1.75rem,1.5rem + 1vw,2.5rem)}.browse-library{padding-top:var(--space-6)}.category-collections{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.category-collection{text-align:left;min-width:0;padding:var(--space-5);border:var(--rule);border-radius:var(--radius-lg);background:var(--color-surface)}.category-collection:hover{border-color:var(--tool-hue,var(--color-accent-ink));background:color-mix(in oklab, var(--tool-hue,var(--color-accent-ink)) 4%, var(--color-surface))}.collection-title{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.collection-title strong{font-size:var(--text-md);font-weight:600}.collection-title small{color:var(--color-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;margin-left:auto}.collection-title .tool-emblem{border-radius:var(--radius-md);background:var(--tool-hue,var(--color-accent));width:34px;height:34px;color:var(--color-on-accent)}.collection-samples{font-size:var(--text-xs);color:var(--color-muted);line-height:1.7;display:block}.home-directory{margin-top:var(--space-8)}.home-directory .category-collections,.home-directory .collection-samples{margin:0;padding:0;list-style:none}.home-directory .collection-title{font-size:inherit;font-weight:inherit;margin-top:0}.home-directory .category-collection:hover{border:var(--rule);background:var(--color-surface)}.home-directory .collection-samples{font-size:var(--text-sm);flex-wrap:wrap;gap:0 6px;display:flex}.home-directory .collection-samples li:not(:last-child):after{content:"·";color:var(--color-muted);margin-inline-start:6px}.home-directory .collection-samples a{color:var(--color-ink-2);text-decoration:none}.home-directory .collection-samples a:hover{color:var(--color-accent-ink);text-decoration:underline}.library-back{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;color:var(--color-accent-ink);font-size:var(--text-sm);white-space:nowrap;background:0 0;border:0;font-weight:500;display:inline-flex}.library-back>svg{transform:rotate(180deg)}.popular-shelf{margin-top:var(--space-8);padding-top:var(--space-5)}.page .plain-workspace:not(.qr-workspace),.page .password-settings{grid-template-columns:minmax(0,1fr)}.page .plain-workspace>*,.page .password-settings>*{min-width:0}.page .range{max-width:100%;margin-inline:0}@media (width<=1199px) and (width>=1024px){.category-collections{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=767px){.category-collections{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr))}.category-collection{padding:var(--space-3)}.collection-title{gap:var(--space-2);flex-wrap:wrap}.collection-title strong{font-size:var(--text-sm)}.collection-title small{margin-left:0}.collection-samples{font-size:var(--text-2xs)}.base-stack a{text-overflow:ellipsis;display:block;overflow:hidden}}.tool-directory .library-heading{margin-bottom:var(--space-5)}.tool-directory .library-heading h1{font-size:var(--text-display)}.directory-section,.tool-results{margin-top:var(--space-6)}.directory-section-head{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-3);display:flex}.directory-section-head h2{align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-.02em;font-weight:700;display:inline-flex}.directory-section-head h2>svg{color:var(--color-accent-ink)}.directory-section-head>span,.directory-section-head>a{font-size:var(--text-xs);color:var(--color-muted);white-space:nowrap}.directory-section-head>a{align-items:center;gap:var(--space-2);display:inline-flex}.directory-section-head>a:hover{color:var(--color-accent-ink)}.tool-entries,.tool-grid{--tool-min:max(250px, calc((100% - 48px) / 5));grid-template-columns:repeat(auto-fill, minmax(min(100%, var(--tool-min)), 1fr));gap:12px;display:grid}.tool-entry{min-width:0;position:relative}.tool-entry-link{border:var(--rule);border-radius:var(--radius-lg);background:var(--color-surface);grid-template-columns:36px minmax(0,1fr);align-items:start;gap:12px;height:100%;min-height:124px;padding:14px 40px 14px 14px;transition:border-color .15s,background-color .15s;display:grid}.tool-entry-link:hover{border-color:color-mix(in oklab, var(--color-accent-ink) 45%, var(--color-rule));background:color-mix(in oklab, var(--color-accent-ink) 4%, var(--color-surface))}.tool-entry-link:hover .entry-copy strong{color:var(--color-accent-ink)}.tool-entry-link:hover .tool-emblem{background:var(--color-accent-wash);color:var(--color-accent-ink)}.tool-entry-link:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.tool-entry-link .tool-emblem{width:36px;height:36px}.entry-copy{flex-direction:column;gap:4px;min-width:0;height:100%;display:flex}.entry-copy strong{font-size:var(--text-sm);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;line-height:1.4;display:-webkit-box;overflow:hidden}.entry-copy>span{color:var(--color-ink-2);font-size:var(--text-xs);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}.entry-copy small{font-size:var(--text-2xs);color:var(--color-muted);flex-wrap:wrap;column-gap:6px;margin-top:auto;padding-top:6px;display:flex}.entry-copy small>*,.entry-copy time{white-space:nowrap}.entry-copy time:before{content:"·";margin-inline-end:6px}.entry-save{width:2rem;height:2rem;color:var(--color-muted);position:absolute;top:8px;right:6px}.entry-save[aria-pressed=true]{color:var(--color-accent-ink)}.entry-save[aria-pressed=true] svg{fill:currentColor}.rows.tool-entries{border-top:0}.rows.tool-entries>li{border-bottom:0}.category-entries .entry-copy>span{-webkit-line-clamp:3}.category-entries .tool-entry-link{min-height:0}.shuffle-tools{height:2rem;font-size:var(--text-xs);padding-inline:var(--space-3)}.home-shelves .library-ad{margin-block:var(--space-6)}.random-section{padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-paper-2);margin-inline:0}.save-status:empty{display:none}.save-status{margin-top:var(--space-4)}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=767px){.tool-directory .library-heading .btn{padding-inline:var(--space-3);font-size:var(--text-xs)}.directory-section-head{gap:var(--space-2);flex-wrap:wrap}.directory-section-head h2{font-size:var(--text-md)}.directory-section-head>span{white-space:normal}.tool-entries,.tool-grid{grid-template-columns:minmax(0,1fr);gap:8px}.tool-entry-link{min-height:0;padding-block:12px}.random-section{padding:var(--space-3);margin-inline:0}.home-directory .category-collections{grid-template-columns:minmax(0,1fr)}.home-directory .collection-title{flex-wrap:nowrap}.home-directory .collection-title small{margin-inline-start:auto}}.list-filter{margin-block:var(--space-2) var(--space-6);flex-wrap:wrap;gap:8px;display:flex}.list-chip{border:var(--rule);background:var(--color-surface);height:34px;color:var(--color-ink-2);font-size:var(--text-xs);white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding-inline:12px;font-weight:500;display:inline-flex}.list-chip b{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--color-muted);font-weight:500}.list-chip:hover{border-color:color-mix(in oklab, var(--color-accent-ink) 45%, var(--color-rule))}.list-chip[aria-pressed=true]{border-color:var(--color-accent-ink);background:var(--color-accent-wash);color:var(--color-accent-ink)}.list-chip[aria-pressed=true] b{color:inherit}.list-chip:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}@media (width<=767px){.list-filter{margin-inline:calc(-1 * var(--space-4));padding-inline:var(--space-4);scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}}.list-group{content-visibility:auto;contain-intrinsic-size:auto calc(var(--count) * 110px + 48px);margin:-4px;padding:4px}@media (width>=768px){.list-group{contain-intrinsic-size:auto calc(round(up, var(--count) / 4, 1) * 144px + 48px)}}.list-group+.list-group{margin-top:calc(var(--space-8) - 4px)}.list-group-head{margin-bottom:var(--space-3);font-family:var(--font-display);font-size:var(--text-md);letter-spacing:-.01em;justify-content:space-between;align-items:baseline;gap:12px;font-weight:700;display:flex}.list-group-head span{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-muted);font-weight:500}.entry-rank{font-family:var(--font-mono);color:var(--color-ink-2);font-weight:600}.entry-rank.podium{color:var(--color-accent-ink)}.entry-rank:after{content:"·";font-family:var(--font-body);color:var(--color-muted);margin-inline-start:6px;font-weight:400}.topbar{gap:var(--space-4)}.topbar-left{align-items:center;gap:var(--space-2);flex-shrink:0;display:none}.topbar .topbar-mark{display:inline-flex}.topbar .topbar-search,.topbar:not(:has(.crumbs)) .topbar-search{flex:1 1 0;min-width:0;max-width:none;margin:0;display:block}.topbar-actions{gap:var(--space-1);flex-shrink:0;margin-left:0}.topbar .finder-field{height:42px}.topbar .finder-bar{width:100%;max-width:none;margin:0}.drawer-collapse{border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-cab-muted);background:0 0;border:0;flex-shrink:0;place-items:center;display:inline-grid}.drawer-collapse:hover{background:var(--color-cab-2);color:var(--color-cab-text)}.page-crumbs{padding-top:var(--space-5);padding-bottom:0;display:block}.language-trigger{width:auto;font-size:var(--text-xs);justify-content:center;align-items:center;gap:6px;padding-inline:8px;font-weight:600;display:inline-flex}.history-trigger{position:relative}.history-badge{background:var(--color-accent);color:#fff;min-width:15px;height:15px;font:500 9px var(--font-mono);border-radius:8px;place-items:center;padding-inline:3px;display:grid;position:absolute;top:2px;right:1px}.history-badge[hidden]{display:none}.header-popover{overscroll-behavior:contain;width:350px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 140px);padding:var(--space-3);border:var(--rule);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-ink);margin:0;position:fixed;inset:auto;overflow:auto;box-shadow:0 12px 40px #00000026}.header-popover::backdrop{background:0 0}.header-popover-heading{justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:var(--rule);margin-bottom:var(--space-2);padding:4px 6px 12px;display:flex}.header-popover-heading h2{font-size:var(--text-sm);font-weight:600}.header-popover-heading>span{color:var(--color-muted);font-size:var(--text-xs)}.language-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;display:grid}.language-options a{justify-content:space-between;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);color:var(--color-ink);text-align:start;font-size:var(--text-sm);background:0 0;border:0;padding:10px 8px;display:flex}.language-options a svg{visibility:hidden;flex-shrink:0}.language-options a[aria-current=true]{background:var(--color-accent-wash);color:var(--color-accent-ink)}.language-options a[aria-current=true] svg{visibility:visible}.language-options a:hover,.history-list a:hover{background:var(--color-paper-2)}.history-list li{align-items:center;gap:var(--space-1);grid-template-columns:minmax(0,1fr) 28px;display:grid}.history-list a{border-radius:var(--radius-md);gap:3px;padding:10px 6px;display:grid}.history-list a strong{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.history-list a small{font-size:var(--text-xs);color:var(--color-muted)}.history-list .icon-btn{width:28px;height:28px}.history-clear{color:var(--color-muted);font-size:var(--text-xs);background:0 0;border:0;padding:4px}.history-clear:hover{color:var(--color-ink)}.history-empty,.translation-status{padding:var(--space-3) 6px;color:var(--color-muted);font-size:var(--text-sm);line-height:1.5}.page .rows{--tool-min:max(210px, calc((100% - 64px) / 5));grid-template-columns:repeat(auto-fill, minmax(min(100%, var(--tool-min)), 1fr));column-gap:16px}.page .row{grid-template-columns:minmax(0,1fr);gap:6px;padding-block:12px}.page .row-tools{justify-content:space-between}@media (width>=1024px){html.drawer-collapsed .drawer .logo,html.drawer-collapsed .topbar .drawer-toggle{display:none}html.drawer-collapsed .topbar-left{display:flex}html.drawer-collapsed .topbar-mark .logo-text{display:inline-flex}}@media (width<=1023px){.drawer-collapse{display:none}.topbar-left{display:flex}}@media (width<=767px){.topbar{grid-template-columns:minmax(0,1fr) auto;gap:10px;height:auto;min-height:110px;padding-block:12px;display:grid}.topbar-left{gap:4px}.topbar-mark .logo{gap:6px}.topbar-mark .logo-icon{width:24px;height:24px}.topbar-mark .logo-text{font-size:16px}.topbar .icon-btn{width:32px;height:32px}.topbar .language-trigger{gap:4px;width:auto;padding-inline:6px}.language-trigger>svg:last-child{display:none}.topbar-actions{gap:2px}.topbar .topbar-search{order:3;grid-column:1/-1}.topbar .finder-field{height:42px}.finder-option{gap:var(--space-2)}.finder-option .plate{display:none}.finder-option{grid-template-columns:18px minmax(0,1fr)}.page-crumbs{display:block}}.tool-emblem svg,.drawer-head svg{flex-shrink:0;display:block}.topbar svg{flex-shrink:0}html[dir=rtl] .shell,html[dir=rtl] .topbar{direction:ltr}html[dir=rtl] .drawer-nav{direction:rtl}html[dir=rtl] .drawer-link{flex-direction:row}html[dir=rtl] .topbar-search,html[dir=rtl] .header-popover{direction:rtl}html[dir=rtl] .finder-field{padding-right:var(--space-3)}html[dir=rtl] .entry-save{left:6px;right:auto}html[dir=rtl] .tool-entry-link{padding:14px 14px 14px 40px}html[dir=rtl] .finder-all svg,html[dir=rtl] .row>svg{transform:rotate(180deg)}.native-results{min-height:360px;margin-top:var(--space-8)}.finder-match-icon{color:var(--color-muted);place-items:center;display:grid}.finder-bar .finder-pop[hidden],.finder-clear[hidden],.finder-all[hidden]{display:none}html[dir=rtl] .page{direction:rtl}.page .category-head{align-items:center;gap:20px;padding-bottom:24px}.category-heading{flex:400px;align-items:flex-start;gap:14px;min-width:0;display:flex}.category-heading>div{min-width:0}.category-heading h1{font-size:clamp(1.75rem,2.5vw,2.25rem)}.category-title-line{flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.category-total{border-inline-start:var(--rule);color:var(--color-muted);font-size:var(--text-xs);white-space:nowrap;font-variant-numeric:tabular-nums;padding-inline-start:16px}.list-head .category-summary{max-width:64ch;color:var(--color-ink-2);line-height:1.6;font-size:var(--text-sm);margin-top:10px}.category-emblem{border:var(--rule);background:var(--color-surface);width:48px;height:48px;color:var(--color-accent-ink);border-radius:14px;flex-shrink:0;place-items:center;display:grid}.category-filter{border:var(--rule);background:var(--color-surface);flex-shrink:0;width:min(100%,360px);height:44px}.category-filter .icon-btn{flex-shrink:0;width:26px;height:26px}.category-filter [hidden]{display:none}.page .category-entries{--tool-min:max(250px, calc((100% - 48px) / 5));gap:12px}.category-guide{border-top:var(--rule);grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);margin-top:40px;padding-block:32px 48px;display:grid}.category-guide h2{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-.02em;margin-bottom:14px;font-weight:700;line-height:1.3}.category-guide h3{font-size:var(--text-sm);margin-bottom:10px;font-weight:600}.category-guide p{max-width:75ch;font-size:var(--text-sm);color:var(--color-ink-2);line-height:1.8}.category-guide p a{color:var(--color-accent-ink);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--color-accent-ink) 35%, transparent);text-underline-offset:3px}.category-guide p a:hover{text-decoration-color:currentColor}.category-guide-section{margin-top:24px}.category-guide-faq details{border-block:var(--rule)}.category-guide-faq details+details{border-top:0}.category-guide-faq summary{font-size:var(--text-sm);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding-block:16px;font-weight:500;list-style:none;display:flex}.category-guide-faq summary::-webkit-details-marker{display:none}.category-guide-faq summary svg{flex-shrink:0}.category-guide-faq details[open] summary svg{transform:rotate(180deg)}.category-guide-faq details p{padding-bottom:20px}@media (width<=767px){.page .category-head{gap:18px;padding-block:24px 20px}.category-filter{width:100%}.category-guide{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:24px;padding-block:24px 32px}}:root{--color-paper:#f7f8fa;--color-surface:#fff;--color-paper-2:#eef1f5;--color-paper-3:#e5e9f0;--color-rule:#dde2ea;--color-ink:#222b39;--color-code:var(--color-paper-2);--color-code-ink:var(--color-ink);--color-ink-2:#4c586a;--color-muted:#626e80;--color-cab:#edf0f5;--color-cab-2:#e2e7f0;--color-cab-rule:#d0d7e3;--color-cab-text:#263247;--color-cab-muted:#58677d;--color-cab-active:#dce3fa;--color-cab-active-text:#3549bc;--color-accent:#4f5fda;--color-accent-hover:#3e4fc4;--color-accent-ink:#3e50c2;--color-accent-wash:#e8ecfc;--color-on-accent:#fff;--color-focus:#4f5fda;--color-ad:#eceff4}:root[data-theme=dark]{--color-paper:#191e25;--color-surface:#202630;--color-paper-2:#252d38;--color-paper-3:#2d3744;--color-rule:#364150;--color-ink:#edf1f7;--color-ink-2:#c2cbd9;--color-muted:#a7b3c4;--color-cab:#141920;--color-cab-2:#202936;--color-cab-rule:#2c3746;--color-cab-text:#e8edf5;--color-cab-muted:#a7b5c9;--color-cab-active:#27324d;--color-cab-active-text:#b9c5ff;--color-accent:#8c9aff;--color-accent-hover:#a5afff;--color-accent-ink:#b1bbff;--color-accent-wash:#2b3551;--color-on-accent:#131b39;--color-focus:#a5afff;--color-ad:#1d242d}.drawer{border-inline-end:1px solid var(--color-cab-rule)}.drawer-link[aria-current=page],.drawer-link[aria-current=page]:hover{background:var(--color-cab-active);color:var(--color-cab-active-text)}.drawer-link[aria-current=page] svg{color:var(--color-cab-active-text)}.drawer-link[aria-current=page] .plate{border-color:color-mix(in srgb, var(--color-cab-active-text) 35%, transparent);color:var(--color-cab-active-text);background:color-mix(in srgb, var(--color-cab) 55%, transparent)}.base{background:var(--color-cab);border-top:1px solid var(--color-cab-rule)}.base-inner{padding-block:32px 40px}.base-brand .logo-icon{width:30px;height:30px}.base-brand .logo-text{font-size:1.2rem}.base-brand{flex-direction:column;align-items:flex-start;display:flex}.base-brand .logo{margin-bottom:12px}.base-brand .base-copyright{color:var(--color-cab-muted);font-size:var(--text-xs);white-space:nowrap;margin:auto 0 0;padding-top:20px}.base-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1.6fr) minmax(0,1.2fr) minmax(0,.8fr)}.base-brand .base-description{max-width:38ch;color:var(--color-cab-muted);margin:0;line-height:1.75}.base-social{flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px;display:flex}.base-social a{border:1px solid var(--color-cab-rule);width:34px;height:34px;color:var(--color-cab-muted);border-radius:8px;place-items:center;display:grid}.base-social a:hover{background:var(--color-cab-2);color:var(--color-cab-active-text);border-color:var(--color-cab-active-text)}.base-social svg{flex-shrink:0;display:block}.base-label{color:var(--color-cab-text)}.base-flow a,.base-stack a{white-space:normal;line-height:1.6}.base-flow a:hover,.base-stack a:hover{color:var(--color-cab-active-text)}.back-to-top{inset-inline-end:20px;z-index:25;border-color:var(--color-rule);background:var(--color-surface);width:40px;height:40px;color:var(--color-ink);position:fixed;bottom:20px;box-shadow:0 4px 14px #00000014}.back-to-top svg{transform:rotate(-90deg)}.back-to-top[hidden]{display:none}@media (width<=1023px){.base-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=639px){.base-grid{grid-template-columns:minmax(0,1fr);gap:28px}.base-description{max-width:44ch}}:root:not([data-theme=dark]) .logo-dark{--color-flower-dark-1:var(--color-flower-1);--color-flower-dark-2:var(--color-flower-2);--color-flower-dark-3:var(--color-flower-3)}.base-privacy{color:var(--color-cab-muted);font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;padding:0;line-height:1.6}.base-privacy:hover{color:var(--color-cab-active-text)}.privacy-panel{border:var(--rule);background:var(--color-surface);width:min(560px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--color-ink);border-radius:16px;margin:auto;padding:24px;overflow:auto}.privacy-panel::backdrop{background:#0c121e8c}.privacy-panel header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.privacy-panel h2{font-size:var(--text-lg)}.privacy-panel p{color:var(--color-muted);font-size:var(--text-sm);line-height:1.7}.privacy-essential{align-items:center;gap:8px;margin-top:16px;display:flex}.privacy-essential svg{flex-shrink:0}.privacy-options{border-block:var(--rule);margin-block:20px;display:grid}.privacy-options label{font-size:var(--text-sm);justify-content:space-between;align-items:center;gap:16px;padding-block:14px;display:flex}.privacy-options label+label{border-top:var(--rule)}.privacy-options input{width:18px;height:18px;accent-color:var(--color-accent)}.privacy-actions{flex-wrap:wrap;gap:10px;display:flex}.privacy-actions .btn{white-space:normal;text-align:center;height:auto;min-height:40px}.lang-offer{z-index:26;border:var(--rule);border-radius:var(--radius-lg);background:var(--color-surface);width:max-content;max-width:min(520px,100vw - 32px);color:var(--color-ink);animation:lang-offer-in .2s var(--ease-out) both;align-items:center;gap:12px;padding:10px 10px 10px 16px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000001f}.lang-offer p{font-size:var(--text-sm);margin:0}.lang-offer .btn{white-space:nowrap;flex-shrink:0}.lang-offer-close{flex-shrink:0;width:32px;height:32px;font-size:20px;line-height:1}@keyframes lang-offer-in{0%{opacity:0;transform:translate(-50%,8px)}}@media (prefers-reduced-motion:reduce){.lang-offer{animation:none}}@media (width<=639px){.lang-offer{flex-wrap:wrap;width:auto;max-width:none;bottom:12px;left:12px;right:68px;transform:none}.lang-offer p{flex:100%}@keyframes lang-offer-in{0%{opacity:0;transform:translateY(8px)}}}.input,.native-select,.native-field-pair input,.qr-fields input,.qr-fields textarea{border:var(--rule);background:var(--color-surface);min-width:0;max-width:100%;min-height:44px;color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-sm);border-radius:8px;padding:10px 12px;line-height:1.5}.input::placeholder,.native-field-pair input::placeholder,.qr-fields input::placeholder,.qr-fields textarea::placeholder,.text-editor::placeholder{color:var(--color-muted);opacity:1}.input:focus-visible,.native-select:focus-visible,.native-field-pair input:focus-visible,.qr-fields input:focus-visible,.qr-fields textarea:focus-visible,.password-output:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-color:var(--color-accent-ink)}.input:disabled,.native-select:disabled,.qr-fields input:disabled{opacity:.6;cursor:not-allowed}.input:user-invalid{border-color:var(--color-danger,#bc3341)}.native-select{cursor:pointer;padding-inline-end:32px}.native-select option,.tool-dialog select option{background:var(--color-surface);color:var(--color-ink)}.workbench-input>.native-select{width:100%}.native-field-pair label,.contact-form-panel label,.qr-fields label{text-align:start}textarea.input{resize:vertical;width:100%;display:block}@media (width<=767px){.page .input,.page .contact-form-panel .input,.page .native-select,.page .native-field-pair input,.page .qr-fields input,.page .qr-fields textarea,.page .text-workbench .text-editor,.page .json-input textarea{font-size:16px}}
