:root{--page:#eef1f0;--section:#ffffff80;--ink:#1d0e08;--muted:#5e5651;--hair:#1d0e081a;--field:#ffffffa8;--glass:#ffffff85;--glass-hi:#ffffffdb;--glass-edge:#ffffffbf;--gloss:linear-gradient(160deg, #ffffff8c, #fff0 42%);--glass-shadow:0 1px 1px #1d0e080a, 0 20px 50px -24px #1d0e0847;--blur:blur(26px) saturate(180%);--glow-a:#124c526b;--glow-b:#fca75180;--glow-c:#fbeed1e6;--teal:#124c52;--teal-ink:#fbeed1;--link:#0f6168;--orange:#fca751;--cream:#fbeed1;--graphite:#3d3c41;--line-w:2.5px;--sticker:#1d0e08;--ok:#1e7a4c;--bad:#c0262d;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Inter", "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--page:#050708;--section:#ffffff0f;--ink:#f5f0ea;--muted:#a9a29c;--hair:#f5f0ea1f;--field:#ffffff14;--glass:#1c202280;--glass-hi:#ffffff29;--glass-edge:#ffffff24;--gloss:linear-gradient(160deg, #ffffff1f, #fff0 40%);--glass-shadow:0 24px 60px -24px #000000b3;--glow-a:#126e7680;--glow-b:#fc8c324d;--glow-c:#785a3c59;--link:#6cc3c9;--bad:#ff7a7a;--ok:#4cc48a;--sticker:#fbeed1;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:64px}body{background:var(--page);color:var(--ink);font:400 17px/1.47 var(--font);letter-spacing:-.012em;-webkit-font-smoothing:antialiased;margin:0}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(38vmax 34vmax at 12% 18%, var(--glow-a), transparent 70%), radial-gradient(34vmax 30vmax at 88% 30%, var(--glow-b), transparent 70%), radial-gradient(42vmax 36vmax at 60% 92%, var(--glow-c), transparent 70%);position:fixed;inset:-10vmax}nav.top,.search,.shelf,.sheet,.guide>div,footer{background:var(--gloss), var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow), inset 0 1px 0 var(--glass-edge)}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:3px solid var(--orange);outline-offset:2px;border-radius:6px}h1,h2,h3{letter-spacing:-.022em;margin:0;font-weight:600;line-height:1.1}h3{font-size:19px}main{max-width:1040px;margin:0 auto;padding:0 22px}nav.top{z-index:20;border-radius:999px;max-width:1060px;margin:10px auto 0;position:sticky;top:10px}.top-in{justify-content:space-between;align-items:center;gap:20px;height:52px;padding:0 18px 0 12px;display:flex}.brand{color:var(--ink);letter-spacing:-.02em;align-items:center;gap:9px;font-size:17px;font-weight:600;display:flex}.brand:hover{text-decoration:none}.cats{gap:22px;font-size:13px;display:flex}.cats a{color:var(--ink);opacity:.8}.cats a:hover{opacity:1;text-decoration:none}.top-right{align-items:center;gap:18px;display:flex}.theme-btn{border:1px solid var(--glass-edge);background:var(--field);width:34px;height:34px;color:var(--ink);cursor:pointer;border-radius:50%;place-items:center;transition:background .15s;display:grid}.theme-btn:hover{background:var(--glass-hi)}.theme-btn svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.theme-btn[aria-pressed=false] svg{fill:currentColor;stroke:none}.avatar{background:var(--cream);object-fit:cover;border-radius:50%;flex:none;display:block}.hero{text-align:center;padding:72px 0 56px}.hero-mark{border:var(--line-w) solid var(--sticker);box-shadow:5px 5px 0 var(--sticker);background:var(--cream);border-radius:50%;margin-bottom:28px;padding:6px;display:inline-block}.hero-mark .avatar{background:0 0;width:132px;height:132px}.hero h1{letter-spacing:-.035em;max-width:14ch;margin:0 auto;font-size:clamp(40px,6.4vw,72px);font-weight:700;line-height:1.04}.lede{color:var(--muted);max-width:36em;margin:16px auto 0;font-size:clamp(18px,2vw,21px);line-height:1.45}.search{border-radius:999px;align-items:center;gap:10px;max-width:560px;margin:32px auto 0;padding:0 20px;transition:border-color .15s;display:flex}.search:focus-within{border-color:var(--teal);box-shadow:var(--glass-shadow), 0 0 0 4px color-mix(in srgb, var(--teal) 18%, transparent)}.search svg{fill:none;width:20px;height:20px;stroke:var(--muted);stroke-width:2px;stroke-linecap:round;flex:none}.search input{min-width:0;font:400 17px var(--font);color:var(--ink);box-shadow:none;background:0 0;border:0;flex:1;padding:14px 0}.search input:focus{box-shadow:none;outline:none}.bento{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:72px;display:grid}.tile{color:#1d0e08;min-height:200px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--glass-shadow), inset 0 1px 0 #ffffff80;border:1px solid #ffffff73;border-radius:28px;flex-direction:column;gap:6px;padding:26px;transition:transform .2s;display:flex;position:relative}.tile.big{grid-column:span 2;min-height:260px}.tile:hover{text-decoration:none;transform:translateY(-3px)}.tile.teal,.tile.graphite{--gloss:linear-gradient(160deg, #ffffff29, #fff0 45%)}.tile.teal{background:var(--gloss), #124c52db;color:var(--cream)}.tile.orange{background:var(--gloss), #fca751c7}.tile.cream{background:var(--gloss), #fbeed1b8}.tile.graphite{background:var(--gloss), #3d3c41db;color:var(--cream)}.tile-cat{opacity:.75;font-size:14px;font-weight:600}.tile strong{letter-spacing:-.025em;font-size:26px;font-weight:700;line-height:1.1}.tile.big strong{font-size:34px}.tile-line{opacity:.9;max-width:26ch;font-size:16px;line-height:1.4}.tile-cta{margin-top:auto;padding-top:18px;font-size:15px;font-weight:600}.tile-cta:after{content:"";border-top:2px solid;border-right:2px solid;width:7px;height:7px;margin-left:8px;display:inline-block;transform:translateY(-1px)rotate(45deg)}.shelf{border-radius:30px;margin-bottom:18px;padding:30px 32px 22px}.shelf-head{flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-bottom:22px;display:flex}.shelf-head h2{font-size:32px;font-weight:700}.shelf-head p{color:var(--muted);margin:0;font-size:17px}.toollist{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:4px 28px;margin:0;padding:0;list-style:none;display:grid}.toollist a{border-bottom:1px solid var(--hair);color:var(--ink);padding:12px 0;display:block}.toollist a:hover{text-decoration:none}.toollist a:hover strong{color:var(--link)}.toollist strong{letter-spacing:-.015em;font-size:17px;font-weight:600;display:block}.toollist span{color:var(--muted);margin-top:2px;font-size:14px;line-height:1.4;display:block}.results{padding-bottom:72px}.results h2{margin-bottom:18px;font-size:24px}.tool{padding:40px 0 88px}.tool.center{text-align:center;padding-top:96px}.crumbs{color:var(--muted);gap:8px;margin-bottom:14px;font-size:14px;display:flex}.tool>h1{letter-spacing:-.032em;font-size:clamp(34px,5vw,56px);font-weight:700}.tool>.lede{margin-left:0}.tool.center>.lede{margin-left:auto}.sheet{border-radius:30px;margin-top:32px;padding:32px}.sheet>*+*{margin-top:18px}.sheet>div>*+*{margin-top:16px}.sheet h3{margin-top:26px}.guide{grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:start;gap:18px;margin-top:48px;display:grid}.guide>div{border-radius:28px;padding:28px}.guide h2,.related h2{margin-bottom:18px;font-size:28px;font-weight:700}.guide ol{counter-reset:s;gap:16px;margin:0;padding:0;list-style:none;display:grid}.guide ol li{counter-increment:s;grid-template-columns:32px 1fr;align-items:start;gap:12px;display:grid}.guide ol li:before{content:counter(s);border:2px solid var(--ink);width:30px;height:30px;font:700 14px var(--font);border-radius:50%;place-items:center;display:grid}.guide details{border-top:1px solid var(--hair)}.guide details:last-of-type{border-bottom:1px solid var(--hair)}.guide summary{cursor:pointer;justify-content:space-between;gap:16px;padding:16px 0;font-weight:600;list-style:none;display:flex}.guide summary::-webkit-details-marker{display:none}.guide summary:after{content:"+";color:var(--muted);font-size:22px;font-weight:400;line-height:1;transition:transform .2s}.guide details[open] summary:after{transform:rotate(45deg)}.guide details p{color:var(--muted);max-width:60ch;margin:0 0 18px}.related{margin-top:72px}.drop{border:2px dashed var(--hair);background:var(--section);cursor:pointer;text-align:center;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:40px 16px;transition:border-color .15s,background .15s;display:flex;position:relative}.drop.over,.drop:hover{border-color:var(--teal)}.drop input{opacity:0;width:1px;height:1px;position:absolute}.drop:focus-within{outline:3px solid var(--orange);outline-offset:2px}.drop-cta{color:var(--link);align-items:center;gap:8px;font-size:17px;font-weight:600;display:inline-flex}.drop-cta:before{content:"";background:var(--teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FBEED1' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M12 18V6M6 12l6-6 6 6'/%3E%3C/svg%3E") center / 16px no-repeat;border-radius:50%;width:26px;height:26px}.drop-hint{color:var(--muted);font-size:14px}.files{background:var(--section);border-radius:14px;margin:0;padding:0 16px;list-style:none}.files li{align-items:center;gap:8px;padding:10px 0;display:flex}.files li+li{border-top:1px solid var(--hair)}.fname{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.fsize{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.row{flex-wrap:wrap;align-items:end;gap:14px;display:flex}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field.wide{width:100%}.field>span{color:var(--muted);font-size:13px;font-weight:600}.field.check{flex-direction:row;align-items:center;gap:8px;min-height:42px}.field.check>span{color:var(--ink);order:2;font-size:15px;font-weight:400}input,select,textarea{font:400 16px var(--font);color:var(--ink);background:var(--field);border:1px solid #0000;border-radius:12px;max-width:100%;padding:10px 12px;transition:border-color .15s,box-shadow .15s}input[type=color]{cursor:pointer;width:56px;height:42px;padding:3px}input[type=range]{accent-color:var(--teal);background:0 0;min-width:160px;padding:0}input[type=checkbox],input[type=radio]{accent-color:var(--teal);width:18px;height:18px}textarea{resize:vertical;width:100%;font:14px/1.55 ui-monospace,SF Mono,Menlo,Consolas,monospace}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 4px color-mix(in srgb, var(--teal) 16%, transparent);outline:none}.tabs{background:var(--section);border-radius:12px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.tabs button{color:var(--ink);font:500 14px var(--font);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:7px 14px}.tabs button:hover{background:color-mix(in srgb, var(--ink) 6%, transparent)}.tabs button[aria-selected=true]{background:var(--glass-hi);font-weight:600;box-shadow:0 1px 3px #1d0e0826,0 0 0 .5px #1d0e0814}.tabs button b{opacity:.6;margin-left:4px;font-weight:400}.btn{font:500 16px var(--font);background:var(--teal);color:var(--teal-ink);cursor:pointer;border:0;border-radius:980px;padding:11px 22px;transition:filter .15s;display:inline-block}.btn:hover:not(:disabled){filter:brightness(1.15);text-decoration:none}.btn.ghost{color:var(--link);background:0 0;padding:11px 14px}.btn.ghost:hover:not(:disabled){background:color-mix(in srgb, var(--teal) 8%, transparent);filter:none}.btn:disabled{opacity:.35;cursor:not-allowed}.icon{background:var(--field);color:var(--ink);cursor:pointer;border:0;border-radius:50%;width:32px;height:32px}.icon:hover:not(:disabled){background:color-mix(in srgb, var(--teal) 16%, var(--field))}.icon:disabled{opacity:.3}.icon[aria-pressed=true]{background:var(--ink);color:var(--page)}.status{background:var(--section);border-radius:12px;align-items:baseline;gap:10px;margin:0;padding:12px 16px;font-size:15px;display:flex}.status:before{content:"";background:var(--muted);border-radius:50%;flex:none;width:8px;height:8px;transform:translateY(-1px)}.status.busy:before{background:var(--orange);animation:1s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.25}}.status.ok:before{background:var(--ok)}.status.err{color:var(--bad);background:color-mix(in srgb, var(--bad) 8%, var(--section))}.status.err:before{background:var(--bad)}.note{color:var(--muted);margin:0;font-size:14px}.preview{background:repeating-conic-gradient(#e6e6ea 0 25%, #fff 0 50%) 0 0 / 16px 16px;border-radius:14px;max-width:100%;max-height:460px;display:block}.canvas-wrap{touch-action:none;border-radius:12px;max-width:100%;line-height:0;display:inline-block;position:relative;overflow:hidden}.canvas-wrap canvas{max-width:100%;height:auto;display:block}.canvas-wrap canvas+canvas{width:100%;height:100%;position:absolute;inset:0}.crop-box{pointer-events:none;border:2px solid #fff;position:absolute;box-shadow:0 0 0 9999px #00000080}.thumbs{grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:12px;display:grid}.thumbs figure{background:var(--section);text-align:center;cursor:grab;border-radius:14px;margin:0;padding:8px}.thumbs figure.off{opacity:.35}.thumbs img{background:#fff;border-radius:6px;width:100%;transition:transform .2s;display:block}.thumbs figcaption{flex-wrap:wrap;justify-content:center;gap:4px;margin-top:8px;font-size:12px;display:flex}.thumbs figcaption span{width:100%}.thumbs .icon{width:26px;height:26px;font-size:12px}.swatches{flex-wrap:wrap;gap:10px;display:flex}.swatches button{cursor:pointer;border:0;border-radius:18px;justify-content:center;align-items:end;width:96px;height:96px;padding:6px;font-size:12px;display:flex}.swatches button span{color:#111;background:#ffffffe6;border-radius:6px;padding:2px 6px}table.grid{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:15px}table.grid th,table.grid td{border-bottom:1px solid var(--hair);text-align:left;padding:9px 10px}table.grid th{color:var(--muted);font-size:13px;font-weight:600}.stats{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.stats div{background:var(--section);border-radius:18px;padding:16px}.stats b{letter-spacing:-.025em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;line-height:1.15;display:block}.stats span{color:var(--muted);font-size:13px}.cols{grid-template-columns:1fr 1fr;gap:16px;display:grid}.diff{white-space:pre-wrap;word-break:break-word;background:var(--section);border-radius:12px;max-height:480px;margin:0;padding:12px;font:13px/1.55 ui-monospace,SF Mono,Menlo,monospace;overflow:auto}.diff .add{color:#0b3d1c;background:#c8f2d4}.diff .del{color:#4d0a0a;background:#f8cfcf}mark{background:color-mix(in srgb, var(--orange) 70%, #fff);color:#1d0e08;border-radius:3px}.html-out{border:1px solid var(--hair);background:#fff;border-radius:12px;width:100%;min-height:320px}.doc{color:#111;letter-spacing:0;background:#fff;border-radius:6px;padding:36px;font:14px/1.45 Arial,sans-serif;box-shadow:0 0 0 1px #0000000f,0 20px 40px -24px #00000059}.doc h2{letter-spacing:0;margin:0 0 4px;font:700 22px Arial,sans-serif}.doc h3{letter-spacing:0}.doc table{border-collapse:collapse;width:100%;margin:12px 0}.doc td,.doc th{text-align:left;border-bottom:1px solid #ccc;padding:5px 4px}.doc .r{text-align:right}.items td input{width:100%}.sig{border:2px dashed var(--hair);touch-action:none;cursor:crosshair;background:#fff;border-radius:16px;max-width:100%}.ascii{white-space:pre;color:#000;background:#fff;border-radius:12px;max-height:520px;padding:10px;font:7px/7px ui-monospace,Menlo,monospace;overflow:auto}.out .row{margin-top:10px}footer{color:var(--muted);border-radius:30px;max-width:1060px;margin:24px auto 16px;font-size:13px}.foot-in{padding:24px 28px}.foot-in p{margin:0 0 8px}.byline{color:var(--ink);align-items:center;gap:12px;font-size:15px;display:flex}.byline .avatar{border:2px solid var(--sticker)}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (width<=820px){.cats{display:none}.bento{grid-template-columns:1fr 1fr}}@media (width<=560px){body{font-size:16px}main{padding:0 16px}nav.top{margin:10px 10px 0}footer{margin:24px 10px 12px}.shelf{border-radius:24px;padding:22px 18px 14px}.guide>div{border-radius:24px;padding:20px}.hero{padding:44px 0 40px}.hero-mark .avatar{width:104px;height:104px}.bento{grid-template-columns:1fr}.tile.big{grid-column:auto;min-height:200px}.tile{min-height:170px;padding:22px}.sheet{border-radius:22px;padding:18px}.guide{grid-template-columns:1fr;gap:40px}.cols{grid-template-columns:1fr}input[type=range]{width:100%;min-width:0}.row>.field{flex:140px}.doc{padding:18px}}
