.nav nav a.on{color:var(--ink);font-weight:700}
.tools-hero{background:linear-gradient(180deg,var(--paper),#fff);padding:60px 0 30px}
.tools-hero h1{font-size:clamp(30px,4vw,46px)}
.free-card{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center;background:#fff;border:2px solid var(--plum);border-radius:18px;padding:34px;position:relative}
.badge-free{position:absolute;top:-14px;left:28px;background:#2f7a4f;color:#fff;font-size:12px;font-weight:800;letter-spacing:.04em;padding:5px 12px;border-radius:999px}
.free-card h2{font-size:28px;margin:6px 0 10px;letter-spacing:-.5px}
.free-card ul{padding:0;list-style:none;margin:16px 0 22px}
.free-card li{padding:5px 0 5px 26px;position:relative}
.free-card li::before{content:"";position:absolute;left:0;top:11px;width:14px;height:8px;border-left:2.5px solid #2f7a4f;border-bottom:2.5px solid #2f7a4f;transform:rotate(-45deg)}
.sheet{display:flex;gap:18px;align-items:center;justify-content:center}
.a4{width:170px;height:240px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 14px 30px -14px rgba(0,0,0,.25);display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:6px;padding:8px}
.a4 div{border:1.5px dashed #cfc6dc;border-radius:3px;display:grid;place-items:center;font-size:11px;font-weight:700;color:#7b6f8f}
.a4 .l{background:#f0e8f7;color:var(--plum)}
.arrow{font-size:28px;color:var(--plum);font-weight:800}
.stack{display:flex;flex-direction:column;gap:6px}
.p46{width:78px;height:116px;background:#fff;border:1px solid var(--line);border-radius:5px;box-shadow:0 8px 18px -10px rgba(0,0,0,.3);display:grid;place-items:center;font-size:10px;font-weight:700;color:var(--plum)}
.p46.inv{color:#7b6f8f}
.pro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pro{border:1px solid var(--line);border-radius:14px;padding:22px;background:#fff;display:flex;flex-direction:column}
.pro .top{display:flex;justify-content:space-between;align-items:center}
.pro h3{margin:12px 0 6px;font-size:18px}
.pro p{margin:0 0 16px;color:var(--muted);font-size:15px;flex:1}
.lock{font-size:11px;font-weight:800;letter-spacing:.05em;background:#e8b44a;color:#3a2a00;padding:3px 8px;border-radius:5px}
.lock.free{background:#e6f4ec;color:#2f7a4f}
.tool-shell{max-width:1000px;margin:0 auto;padding:30px 22px 60px}
.crumb{font-size:14px;color:var(--muted);margin-bottom:10px}.crumb a{color:var(--muted)}
.tcard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;margin-bottom:16px}
#drop{border:2px dashed #cbbfdc;border-radius:14px;padding:38px;text-align:center;background:#fbfafd;cursor:pointer;transition:.2s}
#drop.hover{border-color:var(--plum);background:var(--plum-soft)}
#drop b{color:var(--plum)}
.opts{display:flex;flex-wrap:wrap;gap:22px;align-items:center;font-size:14px;color:var(--muted)}
.opts label{display:flex;gap:6px;align-items:center}
.opts input[type=number]{width:64px;padding:6px;border:1px solid var(--line);border-radius:6px;font:inherit}
.opts input[type=checkbox]{width:16px;height:16px;accent-color:var(--plum)}
.pv-file{margin-top:16px}.pv-file h3{font-size:14px;margin:8px 0}
.grid{display:flex;flex-wrap:wrap;gap:10px}
.tile{position:relative;width:110px;border:2px solid #2f7a4f;border-radius:6px;overflow:hidden;cursor:pointer;background:#fff}
.tile canvas{display:block;width:100%;height:auto}
.tile .tag{position:absolute;left:0;right:0;bottom:0;font-size:11px;padding:2px 4px;background:rgba(47,122,79,.9);color:#fff}
.tile.off{border-color:#ccd;opacity:.35}.tile.off .tag{background:#889}
#msg{margin-top:12px;font-size:15px}.err{color:#b3261e}.okm{color:#2f7a4f;font-weight:600}
.btn:disabled{opacity:.5;cursor:not-allowed}
.upsell{background:var(--plum-soft);border-radius:14px;padding:20px 22px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.tip{font-size:14px;color:var(--muted)}
@media (max-width:900px){.free-card{grid-template-columns:1fr}.pro-grid{grid-template-columns:1fr}}
