:root{--bg:#f7f8fa;--panel:#fff;--ink:#0f1419;--soft:#5a6675;--faint:#8b97a6;--line:#e4e8ed;--line-2:#eef1f5;--brand:#2f6df6;--brand-ink:#1b4fc4;--brand-wash:#eef3ff;--ok:#0e9f6e;--ok-wash:#e8f7f1;--warn:#b45309;--r:14px;--sb:248px;--mono:ui-monospace,SFMono-Regular,Menlo,monospace}@media (prefers-color-scheme:dark){:root{--bg:#0c0f14;--panel:#141922;--ink:#e8ecf2;--soft:#98a4b4;--faint:#6b7889;--line:#222a35;--line-2:#1a212b;--brand:#5b92ff;--brand-ink:#8fb4ff;--brand-wash:#16203a;--ok:#3fbd8c;--ok-wash:#11291f;--warn:#d69e2e}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);margin:0;font-family:system-ui,-apple-system,Segoe UI,PingFang SC,PingFang TC,Microsoft YaHei,sans-serif;line-height:1.65}a{color:var(--brand-ink);text-decoration:none}a:hover{text-decoration:underline}.shell{min-height:100vh;display:flex}.side{width:var(--sb);background:var(--panel);border-right:1px solid var(--line);flex:none;height:100vh;padding:14px 0 22px;position:sticky;top:0;overflow-y:auto}.brand{letter-spacing:-.02em;color:var(--ink);align-items:center;gap:8px;padding:2px 16px 16px;font-size:1.02rem;font-weight:800;display:flex}.brand:hover{text-decoration:none}.brand .mk{background:var(--brand);color:#fff;border-radius:7px;flex:none;place-items:center;width:26px;height:26px;font-size:13px;display:grid}.sgp{border:0}.sgp>summary{cursor:pointer;user-select:none;align-items:center;gap:6px;list-style:none;display:flex}.sgp>summary::-webkit-details-marker{display:none}.sgp>summary:after{content:"";opacity:.55;border-bottom:1.5px solid;border-right:1.5px solid;width:6px;height:6px;margin-left:auto;transition:transform .15s;transform:rotate(-45deg)}.sgp[open]>summary:after{transform:rotate(45deg)}.sgp>summary:hover{color:var(--ink)}.sgrp{letter-spacing:.09em;text-transform:uppercase;color:var(--faint);padding:9px 16px 3px;font-size:10.5px;font-weight:800}.side .it{color:var(--soft);border-left:2px solid #0000;align-items:center;gap:9px;padding:7px 16px;font-size:13.6px;display:flex}.side a.it:hover{background:var(--line-2);color:var(--ink);text-decoration:none}.side a.it[aria-current]{background:var(--brand-wash);color:var(--brand-ink);border-left-color:var(--brand);font-weight:650}.side .it.off{color:var(--faint);cursor:default}.side .it .soon{color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent);border-radius:4px;margin-left:auto;padding:1px 5px;font-size:9.5px;font-weight:700}.sfoot{border-top:1px solid var(--line);margin-top:14px;padding:12px 16px 0}.langs{flex-wrap:wrap;gap:5px;display:flex}.langs a{border:1px solid var(--line);color:var(--soft);border-radius:7px;padding:4px 9px;font-size:12px;font-weight:650}.langs a[aria-current]{background:var(--brand);border-color:var(--brand);color:#fff}.main{flex:1;min-width:0}.top{border-bottom:1px solid var(--line);background:var(--panel);align-items:center;gap:16px;height:54px;padding:0 22px;display:flex}.top .burger{font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;font-size:20px;display:none}.top nav{gap:16px;font-size:13.6px;font-weight:600;display:flex}.top nav a{color:var(--soft)}.wrap{max-width:1000px;margin:0 auto;padding:26px 22px 0}.hero{text-align:center;padding:12px 0 4px}h1{letter-spacing:-.025em;margin:0 0 .35em;font-size:clamp(1.7rem,3.6vw,2.4rem);line-height:1.2}.sub{color:var(--soft);max-width:64ch;margin:0 auto;font-size:1.03rem}.claims{flex-wrap:wrap;justify-content:center;gap:7px;margin:16px 0 0;padding:0;list-style:none;display:flex}.claims li{color:var(--ok);background:var(--ok-wash);border:1px solid color-mix(in srgb,var(--ok) 26%,transparent);border-radius:999px;padding:3px 11px;font-size:12.3px;font-weight:700}.app{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);grid-template-columns:1.15fr .85fr;gap:16px;margin-top:20px;padding:16px;display:grid}.drop{border:2px dashed var(--line);text-align:center;cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:238px;padding:38px 18px;display:flex}.drop:hover,.drop.over{border-color:var(--brand);background:var(--brand-wash)}.app.has{grid-template-columns:1fr}.app.has .drop{text-align:left;background:0 0;border:0;flex-direction:row;justify-content:flex-start;gap:9px;min-height:0;padding:9px 2px}.app.has .drop:hover{background:0 0}.app.has .drop b{color:var(--brand);font-size:.95rem}.app.has .drop .hint,.app.has .drop #dropsub{display:none}.app.has .drop .addic{display:grid}.app.has .panel h2{display:none}.app.has .files{max-height:none}.addic{width:30px;height:30px;color:var(--brand);background:var(--brand-wash);border-radius:8px;flex:none;place-items:center;display:none}.addic svg{width:17px;height:17px}.drop b{font-size:1.02rem}.drop .hint{color:var(--faint);font-size:.83rem}.panel{flex-direction:column;gap:12px;display:flex}.panel h2{margin:0;font-size:.95rem}.files{gap:7px;max-height:210px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.files li{border:1px solid var(--line);background:var(--bg);border-radius:11px;align-items:center;gap:11px;padding:10px 12px;font-size:.86rem;display:flex}.files .fic{width:34px;height:34px;color:var(--brand);background:var(--brand-wash);border-radius:9px;flex:none;place-items:center;display:grid}.files .fic svg{width:19px;height:19px}.files .nm{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.files .nm b{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.files .nm em{color:var(--faint);font-variant-numeric:tabular-nums;font-size:.79rem;font-style:normal}.files .st{color:var(--faint);font-variant-numeric:tabular-nums;flex:none;font-size:.79rem}.files .st.ok{color:var(--ok)}.files .st.err{color:#d64545}.files .mv{color:var(--faint);cursor:pointer;font:inherit;background:0 0;border:0;padding:0 3px}.files .mv:hover{color:var(--brand)}.files .rm{border-radius:7px;place-items:center;padding:5px;display:grid}.files .rm svg{width:17px;height:17px}.files .rm:hover{color:#d64545;background:#d6454517}.foot{align-items:center;gap:12px;display:flex}.addedn{color:var(--soft);margin-right:auto;font-size:.88rem}.app.has .foot{border-top:1px solid var(--line);margin-top:4px;padding-top:13px}.app.has .foot .btn.wide{width:auto;min-width:148px}.empty{color:var(--faint);text-align:center;padding:26px 0;font-size:.87rem}.btn{font:inherit;border:1px solid var(--brand);background:var(--brand);color:#fff;cursor:pointer;border-radius:9px;padding:10px 16px;font-size:.92rem;font-weight:700}.btn:hover:not(:disabled){background:var(--brand-ink)}.btn.ghost{color:var(--brand-ink);background:0 0}.btn.sm{padding:6px 11px;font-size:.82rem}.btn:disabled{opacity:.45;cursor:default}.btn.wide{width:100%}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.out textarea{width:100%;min-height:200px;font-family:var(--mono);border:1px solid var(--line);background:var(--bg);color:inherit;border-radius:9px;padding:11px;font-size:.84rem}section.blk{margin-top:44px}section.blk>h2{letter-spacing:-.02em;text-align:center;margin:0 0 4px;font-size:1.35rem}section.blk>p.sub{margin-bottom:18px}.cards{grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:12px;display:grid}.c{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:15px 16px}.c h3{margin:0 0 4px;font-size:.98rem}.c p{color:var(--soft);margin:0;font-size:.89rem}.c.link:hover{border-color:var(--brand)}.steps{counter-reset:s;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.steps .c{padding-top:38px;position:relative}.steps .c:before{counter-increment:s;content:counter(s);background:var(--brand);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;font-weight:800;display:grid;position:absolute;top:13px;left:16px}details.faq{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-bottom:8px;padding:12px 15px}details.faq summary{cursor:pointer;font-size:.95rem;font-weight:650}details.faq p{color:var(--soft);margin:.55em 0 0;font-size:.9rem}.privacy{background:var(--ok-wash);border:1px solid color-mix(in srgb,var(--ok) 24%,transparent);border-radius:var(--r);margin-top:22px;padding:15px 17px}.privacy h2{color:var(--ok);margin:0 0 5px;font-size:1rem}.privacy p{color:var(--soft);margin:0;font-size:.9rem}footer.site{border-top:1px solid var(--line);color:var(--faint);margin-top:52px;padding:24px 0 38px;font-size:.86rem}.fnav{grid-template-columns:repeat(auto-fit,minmax(144px,1fr));gap:18px 24px;display:grid}.fcol h2{letter-spacing:.09em;text-transform:uppercase;color:var(--faint);margin:0 0 9px;font-size:10.5px;font-weight:800}.fcol ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.fcol a{color:var(--soft);font-size:13.2px}.fcol a:hover{color:var(--brand-ink)}.fbot{border-top:1px solid var(--line-2);max-width:80ch;margin:24px 0 0;padding-top:16px}.legal{max-width:70ch}.legal h1{margin-bottom:.22em}.legal .updated{color:var(--faint);margin:0;font-size:.84rem}.legal .lead{color:var(--soft);margin:15px 0 0;font-size:1.02rem}.legal section{margin-top:30px}.legal h2{letter-spacing:-.015em;margin:0 0 .5em;font-size:1.12rem}.legal p{color:var(--soft);margin:0 0 .85em;font-size:.95rem}.legal ul{color:var(--soft);margin:0 0 .9em;padding-left:1.15em;font-size:.95rem}.legal li{margin-bottom:.45em}@media (width<=900px){.app{grid-template-columns:1fr}.side{z-index:40;transition:transform .18s;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:0 0 0 100vmax #0000}.side.open{transform:none;box-shadow:0 0 0 100vmax #0006}.top .burger{display:block}}.warnbox{background:color-mix(in srgb,var(--warn) 10%,transparent);border:1px solid color-mix(in srgb,var(--warn) 32%,transparent);color:var(--warn);border-radius:9px;margin:0 0 10px;padding:10px 12px;font-size:.85rem}.chips{flex-wrap:wrap;gap:6px;margin:0 0 14px;display:flex}.chips button{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--soft);cursor:pointer;border-radius:999px;padding:5px 12px;font-size:.83rem;font-weight:650}.chips button:hover{border-color:var(--brand);color:var(--brand-ink)}.chips button[aria-current=true]{background:var(--brand-wash);border-color:var(--brand);color:var(--brand-ink)}.tgrid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:12px;display:grid}.tpl{text-align:left;font:inherit;color:inherit;cursor:pointer;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:9px;display:block;position:relative}.tpl[hidden]{display:none}.tpl canvas{border:1px solid var(--line-2);background:var(--bg);border-radius:7px;width:100%;height:auto;display:block}.tpl .nm{margin-top:7px;font-size:.82rem;font-weight:650;display:block}.tpl .tag{letter-spacing:.04em;border-radius:4px;padding:2px 6px;font-size:9.5px;font-weight:800;position:absolute;top:15px;right:15px}.tpl .tag.free{color:var(--ok);background:var(--ok-wash);border:1px solid color-mix(in srgb,var(--ok) 30%,transparent)}.tpl .tag.lock{color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent);border:1px solid color-mix(in srgb,var(--warn) 32%,transparent)}.tpl:hover{border-color:var(--brand)}.tpl[aria-current=true]{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-wash)}.tpl.locked canvas{filter:saturate(.5);opacity:.62}.pv{background:var(--bg);border:1px solid var(--line);border-radius:12px;flex-direction:column;justify-content:flex-start;align-items:center;gap:9px;padding:14px;display:flex}.pv canvas{touch-action:none;border-radius:5px;width:auto;max-width:100%;height:auto;max-height:66vh;box-shadow:0 1px 5px #00000029}.hint-line{color:var(--faint);margin:0;font-size:.82rem}.fld{color:var(--soft);margin-bottom:9px;font-size:.82rem;display:block}.fld input[type=text],.fld input:not([type]),.fld textarea{border:1px solid var(--line);background:var(--panel);width:100%;color:var(--ink);font:inherit;resize:vertical;border-radius:7px;margin-top:3px;padding:7px 9px;font-size:.88rem}.fld input[type=color],.fld input[type=range]{border:1px solid var(--line);background:var(--panel);border-radius:7px;margin-top:4px;display:block}.fld input[type=range]{border:0;padding:0}.swatches{flex-wrap:wrap;gap:7px;display:flex}.swatches button{border:1px solid var(--line);cursor:pointer;border-radius:8px;width:30px;height:30px;padding:0}.swatches button[aria-current=true]{outline:2px solid var(--brand);outline-offset:2px}.localnote{color:var(--ok);background:var(--ok-wash);border-radius:7px;margin:0 0 8px;padding:7px 10px;font-size:.82rem;line-height:1.45}
