@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-vietnamese-wght-normal.CnvboYUG.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-ext-wght-normal.Ca2vKHc0.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-wght-normal.ukD16Tqj.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{--paper:#f6f7fb;--paper-2:#eceef5;--card:#fff;--ink:#151a2d;--ink-2:#3d4459;--ink-3:#6b7287;--rule:#dde1ec;--rule-2:#c6ccdb;--accent:#3b5bdb;--accent-ink:#2f49b3;--accent-wash:#e3e9fb;--ok:#2b7a4b;--ok-wash:#e1efe4;--err:#b8382a;--err-wash:#f8e1dd;--hue:var(--accent);--brand:var(--hue);--brand-ink:var(--accent-ink);--bg:var(--paper);--line:var(--rule);--surface-2:var(--paper-2);--r:14px;--r-sm:9px;--serif:"Fraunces Variable", "Iowan Old Style", Georgia, serif;--sans:"Inter Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;color-scheme:light}:root[data-theme=dark]{--paper:#0f1220;--paper-2:#161a2b;--card:#1a1f33;--ink:#e9ecf5;--ink-2:#b9bfd3;--ink-3:#868ca3;--rule:#2a3049;--rule-2:#3a4160;--accent:#7b93f0;--accent-ink:#9aaeff;--accent-wash:#232c52;--ok:#73c893;--ok-wash:#1c2f22;--err:#f08a7a;--err-wash:#3a201c;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:80px}body{font-family:var(--sans);background:var(--paper);color:var(--ink);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}img,svg,canvas,video{max-width:100%}.i{vertical-align:middle;flex:none;display:inline-block}a{color:var(--accent-ink);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--ink)}::selection{background:var(--accent-wash);color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}h1,h2,h3,.serif{font-family:var(--serif);font-optical-sizing:auto;letter-spacing:-.015em;color:var(--ink)}h1{font-variation-settings:"SOFT" 50;margin:0 0 .5rem;font-size:clamp(2rem,4.6vw,3.1rem);font-weight:560;line-height:1.08}h2{margin:2.4rem 0 .8rem;font-size:clamp(1.35rem,2.4vw,1.7rem);font-weight:560;line-height:1.2}h3{margin:1.4rem 0 .4rem;font-size:1.1rem;font-weight:600;line-height:1.3}p{margin:0 0 1rem}small{font-size:.85rem}.wrap{max-width:1180px;margin:0 auto;padding:0 22px}.narrow{max-width:860px}.muted{color:var(--ink-3)}.eyebrow{font:600 .74rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.skip{position:absolute;left:-999px}.skip:focus{background:var(--card);z-index:20;padding:8px 12px;top:12px;left:12px}.site-head{z-index:10;background:color-mix(in srgb, var(--paper) 92%, transparent);backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--rule);position:sticky;top:0}.site-head .wrap{grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;height:64px;display:grid}.site-head .logo{justify-self:start}.logo{color:var(--ink);flex:none;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.logo:hover{color:var(--ink)}.logo .mark{width:30px;height:30px}.logo .word{font-family:var(--serif);letter-spacing:-.02em;font-size:1.32rem;font-weight:620}.logo .word em{color:var(--accent);font-style:italic;font-weight:480}.head-nav{border:1px solid var(--rule);background:var(--card);border-radius:12px;align-items:center;gap:2px;padding:3px;display:flex;position:relative}.head-nav>a,.head-categories summary{color:var(--ink-2);white-space:nowrap;border-radius:8px;align-items:center;gap:5px;padding:7px 11px;font-size:.87rem;font-weight:550;text-decoration:none;display:flex}.head-nav>a:hover,.head-categories summary:hover{color:var(--ink);background:var(--paper-2)}.head-nav>a[aria-current],.head-categories[open] summary,.head-categories .category-active{color:var(--accent-ink);background:var(--accent-wash)}.head-categories summary{cursor:pointer;list-style:none}.head-categories summary::-webkit-details-marker{display:none}.head-categories[open] summary .i{transform:rotate(180deg)}.category-menu{border:1px solid var(--rule);background:var(--card);border-radius:16px;width:min(650px,100vw - 44px);max-height:calc(100dvh - 75px);padding:16px;position:absolute;top:calc(100% + 9px);left:50%;overflow:auto;transform:translate(-50%);box-shadow:0 18px 42px -17px #10183065}.category-menu .eyebrow,.drawer .eyebrow{margin:0 0 10px}.category-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:0;padding:0;list-style:none;display:grid}.category-links a{color:var(--ink);border-radius:9px;align-items:center;gap:9px;padding:8px;text-decoration:none;display:flex}.category-links a:hover,.category-links a[aria-current]{background:var(--paper-2)}.category-links strong,.category-links small{line-height:1.3;display:block}.category-links strong{font-size:.84rem}.category-links small{color:var(--ink-2);margin-top:2px;font-size:.75rem}.category-icon{width:32px;height:32px;color:color-mix(in srgb, var(--category-color) 65%, var(--ink));background:color-mix(in srgb, var(--category-color) 13%, var(--card));border-radius:8px;flex:none;place-items:center;display:grid}.category-all{border-top:1px solid var(--rule);align-items:center;gap:7px;margin-top:11px;padding:12px 4px 0;font-size:.85rem;font-weight:650;text-decoration:none;display:flex}.category-all:hover{text-decoration:underline}.head-tools{align-items:center;gap:8px;margin-left:auto;display:flex}.icon-btn{border:1px solid var(--rule);background:var(--card);width:38px;height:38px;color:var(--ink-2);cursor:pointer;border-radius:10px;place-items:center;display:inline-grid}.icon-btn:hover{color:var(--ink);border-color:var(--rule-2)}.head-search{border:1px solid var(--rule);background:var(--card);height:38px;color:var(--ink-2);cursor:pointer;border-radius:10px;align-items:center;gap:8px;min-width:152px;padding:0 12px;font-size:.85rem;display:flex}.head-search:hover{border-color:var(--rule-2)}.head-search kbd{font:500 .72rem var(--mono);border:1px solid var(--rule);color:var(--ink-3);border-radius:5px;margin-left:auto;padding:1px 6px}.menu-btn{display:none}@media (width<=760px){.site-head .wrap{display:flex}.head-nav{display:none}.menu-btn{display:inline-grid}}@media (width<=620px){.head-search{justify-content:center;width:38px;min-width:0;padding:0}.head-search span,.head-search kbd{display:none}}@media (width<=380px){.site-head .wrap{gap:9px;padding-inline:15px}.head-tools{gap:5px}}.drawer{background:var(--paper);z-index:9;border-top:1px solid var(--rule);padding:18px 22px 40px;position:fixed;inset:64px 0 0;overflow:auto}.drawer[hidden]{display:none}.drawer-inner{max-width:34rem;margin-inline:auto}.drawer-primary{flex-wrap:wrap;gap:6px;margin-bottom:23px;display:flex}.drawer-primary a{border:1px solid var(--rule);background:var(--card);color:var(--ink);border-radius:9px;align-items:center;gap:6px;padding:8px 9px;font-size:.84rem;text-decoration:none;display:inline-flex}.drawer-primary a[aria-current]{color:var(--accent-ink);background:var(--accent-wash)}.drawer .category-links{grid-template-columns:repeat(2,minmax(0,1fr))}.drawer .category-links a{padding-inline:5px}.sdlg{width:min(640px,100vw - 28px);color:var(--ink);background:0 0;border:0;margin-top:9vh;padding:0}.sdlg::backdrop{backdrop-filter:blur(3px);background:#1d1a1661}.sbox{background:var(--card);border:1px solid var(--rule-2);border-radius:16px;overflow:hidden;box-shadow:0 24px 60px -20px #1d1a1659}.sbox .sin{border-bottom:1px solid var(--rule);color:var(--ink-3);align-items:center;gap:10px;padding:0 16px;display:flex}.sbox input{font:400 1.05rem var(--sans);color:var(--ink);background:0 0;border:0;outline:0;flex:1;padding:16px 0}.sres{max-height:56vh;margin:0;padding:6px;list-style:none;overflow:auto}.sres a{color:var(--ink);border-radius:10px;align-items:center;gap:12px;padding:9px 10px;text-decoration:none;display:flex}.sres a .c{color:var(--ink-3);margin-left:auto;font-size:.78rem}.sres a[aria-selected=true],.sres a:hover{background:var(--paper-2)}.sres .empty{color:var(--ink-3);padding:18px}.hero{border-bottom:1px solid var(--rule);padding:64px 0 34px}.hero-grid{grid-template-columns:1.25fr 1fr;align-items:end;gap:48px;display:grid}.hero h1{font-size:clamp(2.4rem,6vw,4.3rem);line-height:1.02}.hero h1 em{color:var(--accent);font-style:italic;font-weight:420}.hero .lead{color:var(--ink-2);max-width:34rem;margin:18px 0 26px;font-size:1.12rem}.hero-search{background:var(--card);border:1px solid var(--rule-2);max-width:560px;height:58px;color:var(--ink-3);cursor:text;border-radius:14px;align-items:center;gap:10px;padding:0 8px 0 16px;display:flex}.hero-search:focus-within{border-color:var(--ink)}.hero-search input,.hero-search input:focus{box-shadow:none;height:auto;font:400 1.05rem var(--sans);color:var(--ink);background:0 0;border:0;outline:0;flex:1;min-width:0;padding:0}.hero-search .btn{height:42px}.trust{color:var(--ink-2);flex-wrap:wrap;gap:18px;margin-top:22px;font-size:.9rem;display:flex}.trust span{align-items:center;gap:7px;display:inline-flex}.hero-side{border-left:1px solid var(--rule);padding-left:34px}.hero-side ol{counter-reset:n;margin:10px 0 0;padding:0;list-style:none}.hero-side li{counter-increment:n;border-bottom:1px dashed var(--rule);align-items:baseline;gap:14px;padding:11px 0;display:flex}.hero-side li:before{content:counter(n, decimal-leading-zero);font:500 .8rem var(--mono);color:var(--ink-3)}.hero-side a{color:var(--ink);font-weight:500;text-decoration:none}.hero-side a:hover{color:var(--accent-ink)}.hero-side li small{color:var(--ink-3);margin-left:auto}@media (width<=900px){.hero-grid{grid-template-columns:1fr;gap:30px}.hero-side{border-left:0;border-top:1px solid var(--rule);padding-top:22px;padding-left:0}.hero{padding-top:40px}}.cat-strip{border-bottom:1px solid var(--rule);grid-template-columns:repeat(6,1fr);display:grid}.cat-strip a{--hue:inherit;color:var(--ink);border-right:1px solid var(--rule);border-top:1px solid var(--rule);flex-direction:column;gap:6px;padding:18px 16px;text-decoration:none;display:flex}.cat-strip a:nth-child(6n){border-right:0}.cat-strip a:hover{background:var(--card)}.cat-strip .ic{color:var(--hue)}.cat-strip b{font-size:.98rem;font-weight:600}.cat-strip small{color:var(--ink-3)}@media (width<=900px){.cat-strip{grid-template-columns:repeat(3,1fr)}.cat-strip a:nth-child(6n){border-right:1px solid var(--rule)}.cat-strip a:nth-child(3n){border-right:0}}@media (width<=520px){.cat-strip{grid-template-columns:repeat(2,1fr)}.cat-strip a:nth-child(3n){border-right:1px solid var(--rule)}.cat-strip a:nth-child(2n){border-right:0}}.section{margin:54px 0}.sec-head{border-bottom:1px solid var(--ink);align-items:baseline;gap:14px;margin-bottom:4px;padding-bottom:10px;display:flex}.sec-head h2{align-items:center;gap:10px;margin:0;display:flex}.sec-head h2 .i{color:var(--hue)}.sec-head .count{font:500 .8rem var(--mono);color:var(--ink-3)}.sec-head a{white-space:nowrap;margin-left:auto;font-size:.9rem}.tlist{grid-template-columns:repeat(3,1fr);column-gap:28px;display:grid}@media (width<=900px){.tlist{grid-template-columns:repeat(2,1fr)}}@media (width<=580px){.tlist{grid-template-columns:1fr}}.titem{border-bottom:1px solid var(--rule);color:var(--ink);align-items:flex-start;gap:13px;padding:15px 2px;text-decoration:none;display:flex}.titem .ti{width:36px;height:36px;color:var(--hue);background:color-mix(in srgb, var(--hue) 11%, var(--card));border:1px solid color-mix(in srgb, var(--hue) 18%, var(--rule));border-radius:9px;flex:none;place-items:center;display:grid}.titem b{font-size:.98rem;font-weight:600;line-height:1.3;display:block}.titem span.d{color:var(--ink-3);margin-top:2px;font-size:.87rem;line-height:1.4;display:block}.titem .arr{color:var(--rule-2);align-self:center;margin-left:auto;transition:transform .15s,color .15s}.titem:hover{color:var(--ink)}.titem:hover b{color:var(--accent-ink)}.titem:hover .arr{color:var(--accent);transform:translate(3px)}.titem[hidden]{display:none}.crumbs{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:6px;margin:26px 0 0;font-size:.85rem;display:flex}.crumbs a{color:var(--ink-3);text-decoration:none}.crumbs a:hover{color:var(--ink)}.tool-head{padding:14px 0 26px}.tool-head .eyebrow{color:var(--hue);align-items:center;gap:7px;display:inline-flex}.tool-head h1{margin-top:12px}.tool-head p.lede{color:var(--ink-2);max-width:44rem;margin:6px 0 0;font-size:1.1rem}.chips{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.chip{color:var(--ink-2);border:1px solid var(--rule);background:var(--card);border-radius:99px;align-items:center;gap:6px;padding:4px 10px;font-size:.82rem;display:inline-flex}.chip .i{color:var(--ok)}.panel{background:var(--card);border:1px solid var(--rule-2);border-radius:var(--r);padding:24px}.panel+.panel{margin-top:14px}@media (width<=640px){.panel{border-radius:12px;padding:16px}}.drop{border:1.5px dashed var(--rule-2);text-align:center;background:var(--paper);cursor:pointer;color:var(--ink-2);border-radius:12px;padding:38px 18px;transition:border-color .15s,background .15s}.drop .i{color:var(--hue);margin-bottom:8px}.drop:hover,.drop.over{border-color:var(--hue);background:color-mix(in srgb, var(--hue) 6%, var(--paper))}.drop strong{color:var(--ink);margin-bottom:3px;font-size:1.06rem;display:block}.drop small{color:var(--ink-3)}.drop input{display:none}.row{flex-wrap:wrap;align-items:end;gap:12px;margin:14px 0;display:flex}.field{color:var(--ink-2);flex-direction:column;gap:6px;min-width:0;font-size:.86rem;font-weight:500;display:flex}.field.grow{flex:220px}input[type=text],input[type=number],input[type=url],input[type=email],input[type=search],input[type=date],input[type=time],input[type=datetime-local],input[type=password],input[type=tel],select,textarea{font:400 .97rem var(--sans);color:var(--ink);background:var(--paper);border:1px solid var(--rule-2);border-radius:var(--r-sm);width:100%;min-width:0;padding:10px 12px}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23847a6d' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;padding-right:32px}input:focus,select:focus,textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px color-mix(in srgb, var(--hue) 18%, transparent);outline:0}textarea{resize:vertical;min-height:180px;line-height:1.55}textarea.mono,.mono{font-family:var(--mono);font-size:.88rem}input[type=range]{accent-color:var(--accent);width:100%}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:16px;height:16px;margin:0}input[type=color]{border:1px solid var(--rule-2);background:var(--paper);border-radius:8px;padding:2px}label.check{color:var(--ink-2);cursor:pointer;align-items:center;gap:8px;font-size:.92rem;display:inline-flex}.btn{font:600 .95rem var(--sans);border:1px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;text-decoration:none;transition:background .15s,transform 50ms;display:inline-flex}.btn:hover{background:var(--accent-ink);border-color:var(--accent-ink);color:#fff}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed;background:var(--ink);border-color:var(--ink)}.btn.ghost{background:var(--card);color:var(--ink);border-color:var(--rule-2)}.btn.ghost:hover{border-color:var(--ink);background:var(--card);color:var(--ink)}.btn.sm{border-radius:8px;padding:6px 12px;font-size:.85rem}.btns{flex-wrap:wrap;gap:8px;display:flex}.note{border-radius:var(--r-sm);background:var(--paper-2);color:var(--ink-2);margin:12px 0 0;padding:10px 14px;font-size:.9rem}.note.ok{background:var(--ok-wash);color:var(--ok)}.note.err{background:var(--err-wash);color:var(--err)}.note:empty{display:none}.files{flex-direction:column;gap:6px;margin:14px 0 0;padding:0;list-style:none;display:flex}.files li{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-sm);align-items:center;gap:10px;padding:8px 12px;font-size:.92rem;display:flex}.files li .nm{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.files li .sz{color:var(--ink-3);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.84rem}.files li button{cursor:pointer;color:var(--ink-3);background:0 0;border:0;border-radius:6px;padding:3px 6px;font-size:.95rem}.files li button:hover{background:var(--paper-2);color:var(--ink)}.stats{border:1px solid var(--rule);border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:0;margin:0 0 16px;display:grid;overflow:hidden}.stat{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--paper);margin:0 -1px -1px 0;padding:14px 16px}.stat b{font:600 1.45rem/1.2 var(--serif);font-variant-numeric:tabular-nums;display:block}.stat span{color:var(--ink-3);font-size:.8rem}.result{margin-top:16px}.big{font:600 clamp(1.6rem, 3.4vw, 2.2rem)/1.2 var(--serif);color:var(--ink);font-variant-numeric:tabular-nums}.thumbs{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:16px;display:grid}.thumb{background:var(--paper);border:1px solid var(--rule);border-radius:12px;flex-direction:column;gap:8px;padding:10px;display:flex}.thumb img,.thumb canvas,.thumb video{background:repeating-conic-gradient(var(--paper-2) 0 25%, var(--card) 0 50%) 0 0 / 16px 16px;border-radius:8px;width:100%;height:auto;display:block}.thumb .meta{color:var(--ink-2);justify-content:space-between;align-items:center;gap:8px;font-size:.85rem;display:flex}table.tbl{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.9rem}.tbl th,.tbl td{text-align:right;border-bottom:1px solid var(--rule);padding:9px 10px}.tbl th:first-child,.tbl td:first-child{text-align:left}.tbl th{color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.scroll-x{overflow-x:auto}.diff{font-family:var(--mono);border:1px solid var(--rule);background:var(--paper);border-radius:10px;max-height:520px;font-size:.86rem;overflow:auto}.diff div{white-space:pre-wrap;word-break:break-word;padding:1px 10px}.diff .add{background:var(--ok-wash);color:var(--ok)}.diff .del{background:var(--err-wash);color:var(--err)}.two{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=720px){.two{grid-template-columns:1fr}}.bar{background:var(--paper-2);border-radius:99px;height:10px;display:flex;overflow:hidden}.bar i{height:100%;display:block}.progress{background:var(--paper-2);border-radius:99px;height:4px;margin-top:12px;overflow:hidden}.progress i{background:var(--hue);width:0;height:100%;transition:width .2s;display:block}.preview-box{border:1px solid var(--rule);background:repeating-conic-gradient(var(--paper-2) 0 25%, var(--card) 0 50%) 0 0 / 16px 16px;border-radius:12px;place-items:center;min-height:160px;padding:12px;display:grid}.preview-box img,.preview-box canvas,.preview-box video{border-radius:6px;max-height:60vh}.swatches{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;display:grid}.swatch{border:1px solid var(--rule);background:var(--card);cursor:pointer;text-align:left;font:inherit;color:var(--ink);border-radius:10px;padding:0;overflow:hidden}.swatch i{height:70px;display:block}.swatch span{font:500 .82rem var(--mono);padding:7px 10px;display:block}.kbd{font:500 .78rem var(--mono);border:1px solid var(--rule-2);background:var(--card);border-bottom-width:2px;border-radius:6px;padding:1px 6px}.timer-face{font:500 clamp(3rem, 12vw, 6.5rem)/1 var(--mono);text-align:center;letter-spacing:-.03em;font-variant-numeric:tabular-nums;padding:24px 0}.prose{margin:44px 0 10px}.prose>h2:first-child{margin-top:0}.prose ol,.prose ul{padding-left:1.3rem}.prose li{margin:.4rem 0}.prose ol.steps{counter-reset:s;padding:0;list-style:none}.prose ol.steps li{counter-increment:s;border-bottom:1px dashed var(--rule);align-items:baseline;gap:14px;margin:0;padding:10px 0;display:flex}.prose ol.steps li:before{content:counter(s);background:var(--ink);width:26px;height:26px;color:var(--paper);font:600 .8rem var(--sans);border-radius:50%;flex:none;place-items:center;display:grid}.faq details{border-bottom:1px solid var(--rule);padding:14px 0}.faq details:first-of-type{border-top:1px solid var(--rule)}.faq summary{cursor:pointer;justify-content:space-between;gap:14px;font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font:400 1.3rem/1 var(--sans);color:var(--ink-3)}.faq details[open] summary:after{content:"–"}.faq details p{color:var(--ink-2);margin:10px 0 0}.callout{border:1px solid var(--rule);background:var(--card);color:var(--ink-2);border-radius:12px;align-items:flex-start;gap:12px;margin:18px 0 0;padding:14px 16px;font-size:.93rem;display:flex}.callout .i{color:var(--ok);margin-top:2px}.ad-slot{min-height:0;margin:30px 0}.ad-slot.on{min-height:120px}.site-foot{border-top:1px solid var(--ink);color:var(--ink-2);background:var(--paper-2);margin-top:80px;padding:44px 0 30px;font-size:.9rem}.foot-top{grid-template-columns:1.3fr 3fr;gap:40px;display:grid}.foot-cols{grid-template-columns:repeat(4,1fr);gap:26px;display:grid}.site-foot h4{font:600 .76rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin:0 0 10px}.site-foot ul{margin:0;padding:0;list-style:none}.site-foot li{margin:6px 0}.site-foot a{color:var(--ink-2);text-decoration:none}.site-foot a:hover{color:var(--ink);text-decoration:underline}.foot-base{border-top:1px solid var(--rule-2);color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;gap:14px;margin-top:34px;padding-top:18px;font-size:.84rem;display:flex}@media (width<=860px){.foot-top{grid-template-columns:1fr}.foot-cols{grid-template-columns:repeat(2,1fr)}}.cropbox{touch-action:none;user-select:none;max-width:100%;display:inline-block;position:relative}.cropbox img{max-width:100%;max-height:70vh;display:block}.cropsel{cursor:move;border:2px solid #fff;position:absolute;box-shadow:0 0 0 9999px #00000080}.cropsel .h{background:var(--accent);cursor:nwse-resize;border:2px solid #fff;border-radius:50%;width:18px;height:18px;position:absolute;bottom:-9px;right:-9px}.sigpad{border:1px solid var(--rule-2);touch-action:none;cursor:crosshair;background:#fff;border-radius:10px;width:100%;height:200px}.pagegrid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-top:14px;display:grid}.pagegrid .pg{border:1px solid var(--rule);background:var(--paper);cursor:grab;text-align:center;color:var(--ink-3);border-radius:8px;padding:6px;font-size:.8rem;position:relative}.pagegrid .pg canvas{background:#fff;border-radius:4px;width:100%;height:auto;display:block}.pagegrid .pg.drag{opacity:.4}.pagegrid .pg.sel{outline:2px solid var(--accent)}[hidden]{display:none!important}.drop .dz-ic{width:46px;height:46px;color:var(--hue);background:color-mix(in srgb, var(--hue) 12%, var(--card));border-radius:12px;place-items:center;margin:0 auto 10px;display:grid}
