@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/syne-greek-500-normal-DUQv5E33.woff2)format("woff2"),url(/assets/syne-greek-500-normal-L1Ji5iNA.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/syne-latin-ext-500-normal-DHUXVE3f.woff2)format("woff2"),url(/assets/syne-latin-ext-500-normal-C5b4wHnS.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/syne-latin-500-normal-emxikWQ7.woff2)format("woff2"),url(/assets/syne-latin-500-normal-DR6mUQpY.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/syne-greek-600-normal-BpFII5Ja.woff2)format("woff2"),url(/assets/syne-greek-600-normal-BJs4kvyH.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/syne-latin-ext-600-normal-ZnizrDKU.woff2)format("woff2"),url(/assets/syne-latin-ext-600-normal-DEzBMW8B.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/syne-latin-600-normal-BiwQbQXw.woff2)format("woff2"),url(/assets/syne-latin-600-normal-dRu9QuIh.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/syne-greek-700-normal-RbvlO3f8.woff2)format("woff2"),url(/assets/syne-greek-700-normal-C01yjWE_.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/syne-latin-ext-700-normal-DuyXglMe.woff2)format("woff2"),url(/assets/syne-latin-ext-700-normal-C-qCH-vM.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/syne-latin-700-normal-AF3Rs61n.woff2)format("woff2"),url(/assets/syne-latin-700-normal-Cd-_iCn5.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/syne-greek-800-normal-n2LZS_yH.woff2)format("woff2"),url(/assets/syne-greek-800-normal-DtzFnRR0.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/syne-latin-ext-800-normal-CAQAsWuS.woff2)format("woff2"),url(/assets/syne-latin-ext-800-normal-B2iBRfEf.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/syne-latin-800-normal-EehdNYzx.woff2)format("woff2"),url(/assets/syne-latin-800-normal-BuJcbPcX.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--card:#faf9f5;--ring:#c96442;--input:#b4b2a7;--muted:#ede9de;--accent:#e9e6dc;--border:#dad9d4;--radius:.5rem;--chart-1:#b05730;--chart-2:#9c87f5;--chart-3:#ded8c4;--chart-4:#dbd3f0;--chart-5:#b4552d;--popover:#fff;--primary:#c96442;--sidebar:#f5f4ee;--secondary:#e9e6dc;--background:#faf9f5;--foreground:#3d3929;--destructive:#141413;--sidebar-ring:#b5b5b5;--sidebar-accent:#e9e6dc;--sidebar-border:#ebebeb;--card-foreground:#141413;--sidebar-primary:#c96442;--muted-foreground:#83827d;--accent-foreground:#28261b;--popover-foreground:#28261b;--primary-foreground:#fff;--sidebar-foreground:#3d3d3a;--secondary-foreground:#535146;--destructive-foreground:#fff;--sidebar-accent-foreground:#343434;--sidebar-primary-foreground:#fbfbfb;--ok:#5a7a3a;--warn:#8a5a10;--shadow:0 18px 40px #3d392914;--font-display:"Syne", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--card:#262624;--ring:#d97757;--input:#52514a;--muted:#1b1b19;--accent:#1a1915;--border:#3e3e38;--chart-1:#b05730;--chart-2:#9c87f5;--chart-3:#1a1915;--chart-4:#2f2b48;--chart-5:#b4552d;--popover:#30302e;--primary:#d97757;--sidebar:#1f1e1d;--secondary:#faf9f5;--background:#262624;--foreground:#c3c0b6;--destructive:#ef4444;--sidebar-ring:#b5b5b5;--sidebar-accent:#0f0f0e;--sidebar-border:#ebebeb;--card-foreground:#faf9f5;--sidebar-primary:#343434;--muted-foreground:#b7b5a9;--accent-foreground:#f5f4ee;--popover-foreground:#e5e5e2;--primary-foreground:#fff;--sidebar-foreground:#c3c0b6;--secondary-foreground:#30302e;--destructive-foreground:#fff;--sidebar-accent-foreground:#c3c0b6;--sidebar-primary-foreground:#fbfbfb;--ok:#9bbe6a;--warn:#d4a05a;--shadow:0 18px 40px #00000059}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--card:#262624;--ring:#d97757;--input:#52514a;--muted:#1b1b19;--accent:#1a1915;--border:#3e3e38;--chart-1:#b05730;--chart-2:#9c87f5;--chart-3:#1a1915;--chart-4:#2f2b48;--chart-5:#b4552d;--popover:#30302e;--primary:#d97757;--sidebar:#1f1e1d;--secondary:#faf9f5;--background:#262624;--foreground:#c3c0b6;--destructive:#ef4444;--sidebar-ring:#b5b5b5;--sidebar-accent:#0f0f0e;--sidebar-border:#ebebeb;--card-foreground:#faf9f5;--sidebar-primary:#343434;--muted-foreground:#b7b5a9;--accent-foreground:#f5f4ee;--popover-foreground:#e5e5e2;--primary-foreground:#fff;--sidebar-foreground:#c3c0b6;--secondary-foreground:#30302e;--destructive-foreground:#fff;--sidebar-accent-foreground:#c3c0b6;--sidebar-primary-foreground:#fbfbfb;--ok:#9bbe6a;--warn:#d4a05a;--shadow:0 18px 40px #00000059}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;font-family:var(--font-display);color:var(--foreground);background:radial-gradient(circle at 12% -10%, color-mix(in srgb, var(--primary) 18%, transparent), transparent 42%), radial-gradient(circle at 90% 8%, color-mix(in srgb, var(--chart-3) 55%, transparent), transparent 36%), linear-gradient(180deg, var(--background) 0%, var(--sidebar) 100%);background-attachment:fixed;margin:0}#app{width:min(1080px,100% - 2rem);margin:0 auto;padding:1.5rem 0 3rem}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.site-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;animation:.55s both rise;display:flex}.brand{align-items:center;gap:.75rem;display:inline-flex}.brand-mark{border-radius:calc(var(--radius) + .15rem);background:0 0;flex-shrink:0;place-items:center;width:2.4rem;height:2.4rem;display:grid;overflow:hidden}.brand-mark svg{width:100%;height:100%;display:block}.brand-mark .mark-tile{fill:var(--card-foreground)}.brand-mark .mark-u{fill:var(--background)}.brand-mark .mark-chip{fill:var(--primary);transform-origin:22.5px 9.5px;transition:transform .35s cubic-bezier(.34,1.4,.64,1)}.brand:hover .mark-chip{transform:translateY(1px)rotate(12deg)}.brand-name{letter-spacing:-.03em;font-size:1.15rem;font-weight:700}.header-github{border-radius:var(--radius);color:var(--muted-foreground);letter-spacing:-.01em;align-items:center;gap:.45rem;padding:.4rem .7rem;font-size:.9rem;font-weight:600;transition:color .15s,background .15s;display:inline-flex}.header-github:hover{color:var(--foreground);background:color-mix(in srgb, var(--muted) 70%, transparent);text-decoration:none}.header-github-icon{place-items:center;line-height:0;display:grid}.header-github-icon svg{display:block}.site-main{animation:.65s 50ms both rise}.hero{margin-bottom:1.75rem}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--primary);margin:0 0 .6rem;font-size:.72rem;font-weight:700}.hero h1{letter-spacing:-.05em;margin:0;font-size:clamp(2.6rem,7vw,4.4rem);line-height:.95}.tool-search-wrap{max-width:28rem;margin:0 0 1.25rem;animation:.6s 80ms both rise}.tool-search{border-radius:calc(var(--radius) + .15rem);box-shadow:var(--shadow);padding:.85rem 1rem;font-size:1rem}.tool-search::-webkit-search-cancel-button{cursor:pointer}.search-empty{color:var(--muted-foreground);margin:.25rem 0 0;font-size:.95rem}.tool-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.tool-card{appearance:none;text-align:left;border:1px solid var(--border);background:var(--card);color:var(--card-foreground);border-radius:calc(var(--radius) + .25rem);box-shadow:var(--shadow);cursor:pointer;gap:.45rem;padding:1.15rem 1.2rem 1.3rem;transition:transform .2s,border-color .2s,box-shadow .2s;display:grid}.tool-card:hover,.tool-card:focus-visible{border-color:color-mix(in srgb, var(--primary) 45%, var(--border));box-shadow:0 22px 44px color-mix(in srgb, var(--foreground) 12%, transparent);outline:none;transform:translateY(-3px)}.tool-tag{letter-spacing:.08em;text-transform:uppercase;color:var(--primary);font-size:.72rem;font-weight:700}.tool-name{letter-spacing:-.03em;font-size:1.25rem;font-weight:700}.tool-blurb{color:var(--muted-foreground);font-size:.95rem;line-height:1.45}.back{appearance:none;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;margin-bottom:1rem;padding:0;font-weight:600}.back:hover{color:var(--foreground)}.panel{background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:calc(var(--radius) + .35rem);box-shadow:var(--shadow);padding:clamp(1.2rem,3vw,1.8rem)}.panel-title{letter-spacing:-.04em;margin:0 0 .4rem;font-size:clamp(1.6rem,3vw,2.1rem)}.lede{color:var(--muted-foreground);max-width:42rem;margin:0 0 1.25rem;line-height:1.5}.field{gap:.45rem;margin-bottom:1rem;display:grid}.field-label{font-size:.85rem;font-weight:700}.field-hint{color:var(--muted-foreground);font-size:.8rem}.input{border:1px solid var(--input);background:var(--popover);width:100%;color:var(--popover-foreground);border-radius:var(--radius);padding:.75rem .9rem}.input:focus{outline:2px solid color-mix(in srgb, var(--ring) 55%, transparent);outline-offset:1px}.input.mono,.mono{font-family:var(--font-mono);font-size:.88rem}textarea.input{resize:vertical;min-height:8rem}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.actions{flex-wrap:wrap;align-items:center;gap:.65rem;margin:.4rem 0 1rem;display:flex}.btn{appearance:none;border-radius:calc(var(--radius) + .15rem);background:var(--primary);color:var(--primary-foreground);cursor:pointer;border:0;padding:.7rem 1.1rem;font-weight:700}.btn:hover{background:color-mix(in srgb, var(--primary) 88%, var(--foreground))}.btn:disabled{opacity:.65;cursor:default}.btn-secondary{color:var(--foreground);border:1px solid var(--border);background:0 0}.btn-secondary:hover{background:var(--secondary);color:var(--secondary-foreground)}.status{border-radius:var(--radius);background:var(--muted);color:var(--muted-foreground);font-family:var(--font-mono);margin:0 0 1rem;padding:.7rem .85rem;font-size:.82rem}.status[data-state=ok]{color:var(--ok);background:color-mix(in srgb, var(--ok) 14%, var(--muted))}.status[data-state=error]{color:var(--destructive);background:color-mix(in srgb, var(--destructive) 12%, var(--muted))}.status[data-state=busy]{color:var(--warn)}.result-list{gap:.85rem;display:grid}.result-card{border:1px solid var(--border);border-radius:calc(var(--radius) + .15rem);background:var(--popover);color:var(--popover-foreground);padding:.9rem}.result-meta h3{margin:0;font-size:1rem}.result-meta p{color:var(--muted-foreground);margin:.25rem 0 .75rem;font-size:.86rem}.result-row{grid-template-columns:1fr auto;gap:.55rem;display:grid}.gallery{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.gallery-item,.compare figure{background:var(--popover);border:1px solid var(--border);border-radius:calc(var(--radius) + .15rem);margin:0;overflow:hidden}.gallery-item img,.compare img{background:linear-gradient(45deg, var(--border) 25%, transparent 25%), linear-gradient(-45deg, var(--border) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--border) 75%), linear-gradient(-45deg, transparent 75%, var(--border) 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;width:100%;height:auto;display:block}.favicon-preview .favicon-swatch{background:linear-gradient(45deg, var(--border) 25%, transparent 25%), linear-gradient(-45deg, var(--border) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--border) 75%), linear-gradient(-45deg, transparent 75%, var(--border) 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;place-items:center;min-height:120px;padding:1rem;display:grid}.favicon-preview img{image-rendering:auto;background:0 0;width:auto;max-width:96px;height:auto;max-height:96px;display:block}.favicon-preview img[width="16"],.favicon-preview img[width="32"],.favicon-preview img[width="48"]{image-rendering:pixelated}.qr-preview{border:1px solid var(--border);border-radius:calc(var(--radius) + .15rem);background:var(--muted);place-items:center;margin:.25rem 0 1rem;padding:1rem;display:grid}.qr-canvas{border-radius:var(--radius);background:#fff;max-width:100%;height:auto;display:block}.live-clock{border-radius:var(--radius);background:var(--muted);color:var(--foreground);font-family:var(--font-mono);margin:0 0 1rem;padding:.7rem .85rem;font-size:.82rem}.color-picker-stage{border:1px dashed var(--border);border-radius:calc(var(--radius) + .15rem);background:var(--muted);cursor:crosshair;outline:none;place-items:center;min-height:220px;margin:.25rem 0 1rem;padding:.75rem;transition:border-color .2s,background .2s;display:grid}.color-picker-stage:focus-visible,.color-picker-stage.is-dragover{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 8%, var(--muted));border-style:solid}.color-picker-stage:not(.has-image):after{content:"Drop an image here, or paste with ⌘V / Ctrl+V";color:var(--muted-foreground);text-align:center;pointer-events:none;font-size:.9rem}.color-picker-stage.has-image:after{content:none}.color-picker-canvas{border-radius:var(--radius);max-width:100%;height:auto;box-shadow:var(--shadow);background:#fff;display:none}.color-picker-stage.has-image .color-picker-canvas{display:block}.color-readout{grid-template-columns:5.5rem minmax(0,1fr);align-items:start;gap:1rem;margin-bottom:.75rem;display:grid}.color-swatch{border-radius:calc(var(--radius) + .15rem);border:1px solid var(--border);background:var(--muted);width:5.5rem;height:5.5rem}.color-values{gap:.35rem;display:grid}.color-values .field{margin-bottom:.35rem}.color-palette{flex-wrap:wrap;gap:.5rem;min-height:2rem;margin:.35rem 0 1rem;display:flex}.color-chip{appearance:none;border-radius:var(--radius);border:1px solid var(--border);cursor:pointer;width:2rem;height:2rem;padding:0}.color-chip:hover,.color-chip:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.gallery-item figcaption,.compare figcaption{color:var(--muted-foreground);justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem .75rem;font-size:.8rem;display:flex}.compare{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start;gap:1rem;display:grid}.speed-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin:.5rem 0 .75rem;display:grid}.speed-card{background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:calc(var(--radius) + .15rem);padding:1rem 1.05rem}.speed-label{letter-spacing:.1em;text-transform:uppercase;color:var(--primary);margin-bottom:.45rem;font-size:.72rem;font-weight:700;display:block}.speed-readout{align-items:baseline;gap:.35rem;display:flex}.speed-value{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:clamp(1.8rem,4vw,2.4rem);font-weight:800;line-height:1}.speed-unit{color:var(--muted-foreground);font-family:var(--font-mono);font-size:.8rem}.pdf-layout{grid-template-columns:minmax(0,340px) minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}.pdf-section-title{letter-spacing:-.02em;margin:1.1rem 0 .55rem;font-size:1rem}.pdf-fields{gap:.35rem;display:grid}.field-inline{grid-template-columns:1fr auto;align-items:center}.sig-pad{aspect-ratio:480/160;border:1px solid var(--border);border-radius:var(--radius);background:var(--popover);touch-action:none;cursor:crosshair;width:100%;max-width:480px;height:auto}.pdf-preview-host{border:1px solid var(--border);border-radius:calc(var(--radius) + .15rem);background:var(--muted);max-height:min(70vh,900px);padding:.75rem;overflow:auto}.pdf-preview-stage{-webkit-user-select:none;user-select:none;width:100%;line-height:0;display:inline-block;position:relative}.pdf-preview-canvas{width:100%;height:auto;box-shadow:0 8px 24px color-mix(in srgb, var(--foreground) 12%, transparent);background:#fff;border-radius:4px;display:block}.pdf-sig-stamp{cursor:grab;touch-action:none;border:1px dashed color-mix(in srgb, var(--primary) 55%, transparent);background:color-mix(in srgb, var(--popover) 55%, transparent);box-sizing:border-box;z-index:2;border-radius:4px;position:absolute}.pdf-sig-stamp.is-dragging{cursor:grabbing;border-color:var(--primary);box-shadow:0 8px 20px color-mix(in srgb, var(--foreground) 18%, transparent);z-index:3}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=720px){#app{width:min(100% - 1.25rem,1080px)}.site-header{align-items:center}.grid-2,.result-row,.speed-metrics,.pdf-layout{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
