
:root{--ink:#16202b;--sub:#5b6b7a;--line:#dbe2e9;--bg:#f7f9fb;--card:#fff;--accent:#1d5fd0;--accent-ink:#123f8f;--ok:#1a7f4b;--warn:#a05a00;--err:#b3261e;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:15px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:880px;margin:0 auto;padding:0 1.1rem}
nav{background:var(--card);border-bottom:1px solid var(--line)}
nav .in{max-width:880px;margin:0 auto;padding:.7rem 1.1rem;display:flex;align-items:center;gap:1.1rem}
nav .logo{font-weight:700;color:var(--ink);font-size:1rem}
nav .logo b{color:var(--accent)}
nav .lk{margin-left:auto;display:flex;gap:.9rem;font-size:.86rem}
h1{font-size:1.55rem;line-height:1.3;margin:.4rem 0 .6rem}
h2{font-size:1.12rem;margin:2rem 0 .5rem}
h3{font-size:.98rem;margin:1.3rem 0 .3rem}
p,li{color:#2a3742}
.muted{color:var(--sub);font-size:.86rem}
.hero{padding:2.2rem 0 1rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1.1rem 1.2rem;margin:1rem 0}
.tool-card{border-color:#b9c9de}
.drop{border:2px dashed #a9bdd6;border-radius:10px;padding:1.6rem 1rem;text-align:center;cursor:pointer;background:#fbfdff}
.drop.on{border-color:var(--accent);background:#eef4fd}
.drop input{display:none}
.status{margin:.7rem 0 0;font-size:.88rem;color:var(--sub)}
.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.7rem;margin:.9rem 0}
.opts label{font-size:.78rem;color:var(--sub);display:block;margin-bottom:.15rem}
.opts input,.opts select{width:100%;padding:.45rem .5rem;border:1px solid var(--line);border-radius:7px;font-size:.9rem;background:#fff;color:var(--ink)}
button.primary{background:var(--accent);border:none;color:#fff;padding:.6rem 1.3rem;border-radius:8px;font-size:.95rem;cursor:pointer}
button.primary:hover{background:var(--accent-ink)}
button.primary:disabled{background:#9db4d6;cursor:default}
button.ghost{background:#fff;border:1px solid var(--line);color:var(--ink);padding:.5rem 1rem;border-radius:8px;font-size:.9rem;cursor:pointer}
.row{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap;margin-top:.8rem}
textarea.preview{width:100%;min-height:190px;font-family:var(--mono);font-size:.8rem;border:1px solid var(--line);border-radius:8px;padding:.6rem;white-space:pre;overflow:auto;background:#fcfdfe}
table.fields{border-collapse:collapse;width:100%;font-size:.86rem;margin:.6rem 0}
table.fields th,table.fields td{border:1px solid var(--line);padding:.4rem .55rem;text-align:left;vertical-align:top}
table.fields th{background:#eef2f7}
code,.k{font-family:var(--mono);font-size:.85em;background:#eef2f7;padding:.08em .35em;border-radius:4px}
pre.example{font-family:var(--mono);font-size:.8rem;background:#101820;color:#d7e3ef;padding:.9rem 1rem;border-radius:8px;overflow:auto;line-height:1.5}
.issue{border-left:3px solid var(--err);background:#fdf3f2;padding:.45rem .7rem;margin:.35rem 0;font-size:.86rem;border-radius:0 6px 6px 0}
.issue.warn{border-color:var(--warn);background:#fdf7ee}
.issue.info{border-color:#8a97a5;background:#f4f6f8}
.issue.ok{border-color:var(--ok);background:#eff8f2}
.badge{display:inline-block;font-size:.72rem;padding:.1rem .5rem;border-radius:99px;border:1px solid var(--line);color:var(--sub);margin-left:.4rem}
.steps{counter-reset:s;padding-left:0;list-style:none}
.steps li{counter-increment:s;margin:.5rem 0;padding-left:2rem;position:relative}
.steps li:before{content:counter(s);position:absolute;left:0;top:.1rem;width:1.35rem;height:1.35rem;border-radius:50%;background:var(--accent);color:#fff;font-size:.78rem;display:flex;align-items:center;justify-content:center}
.pricing{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin:.8rem 0}
@media(max-width:620px){.pricing{grid-template-columns:1fr}}
.price{border:1px solid var(--line);border-radius:10px;padding:1rem 1.1rem;background:var(--card)}
.price.full{border-color:var(--accent);box-shadow:0 1px 0 var(--accent)}
.price .p{font-size:1.5rem;font-weight:700}
.price .n{font-weight:600}
.price ul{margin:.4rem 0 0;padding-left:1.1rem;font-size:.86rem}
.price li{margin:.25rem 0}
.faq h3{margin-top:1.1rem}
footer{border-top:1px solid var(--line);margin-top:2.6rem;padding:1.3rem 0 2rem;font-size:.8rem;color:var(--sub)}
.crumb{font-size:.8rem;color:var(--sub);margin-top:1rem}
.lic{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.lic input{flex:1;min-width:180px;padding:.45rem .55rem;border:1px solid var(--line);border-radius:7px;font-family:var(--mono);font-size:.85rem;text-transform:uppercase}
.notice{border:1px solid #e3d3a2;background:#fdf9ec;color:#6b5410;padding:.55rem .8rem;border-radius:8px;font-size:.86rem;margin:.6rem 0}
