.tools{max-width:860px;margin:0 auto;padding:16px 16px 80px;font-family:var(--hub-font)}.tools-wide{max-width:min(1100px,calc(100% - 16px))}.tools .err{color:var(--danger)}.tools-kicker{margin:0 0 8px;color:var(--muted)}.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));grid-gap:16px;gap:16px;margin-top:20px}.tools-card{display:block;background:var(--surface);border:1px solid var(--stroke);border-radius:16px;padding:18px;text-decoration:none;color:inherit}.tools-card h2{margin:0 0 8px}.tools-card label{display:block;margin:12px 0}.tools-card input,.tools-card select,.tools-card textarea{display:block;width:100%;margin-top:6px}.tools-modes{display:flex;gap:8px;margin:12px 0}.tools-modes button{background:var(--surface);color:var(--text);border:1px solid var(--stroke)}.tools-modes button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.tools-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tools-link-btn{display:inline-block;padding:8px 12px;border-radius:12px;background:var(--primary-soft);color:var(--primary);text-decoration:none}.tools-text-link{display:inline;padding:0;border:0;border-radius:0;background:none;color:var(--primary);font:inherit;text-decoration:underline;cursor:pointer}.tools-steps{margin:0;padding:0;list-style:none;display:grid;grid-gap:16px;gap:16px}.tools-steps li{padding:12px;border-radius:12px;border:1px solid var(--stroke)}.tools-steps li.is-now{border-color:var(--primary)}.tools-steps li.is-done{background:var(--primary-soft)}.tools-steps strong{display:block;margin-bottom:4px}.tools-check{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tools-check input{width:auto;margin:0}.tools-range-labels{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.tools-help{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-size:12px;font-style:normal;cursor:help;position:relative}.tools-help em{display:none;position:absolute;left:24px;top:-4px;width:min(240px,70vw);padding:8px 10px;border-radius:10px;background:var(--text);color:#fff;font-style:normal;font-size:13px;z-index:3}.tools-help:focus em,.tools-help:hover em{display:block}.tools-more{width:100%;margin:0;padding:4px 0;border:0;background:transparent;color:var(--text);font-family:var(--hub-font);font-size:15px;text-align:left}.tools-fine{padding:12px 16px}.tools-swatches{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.tools-swatch{display:flex;align-items:center;gap:4px}.tools-swatch i{width:28px;height:28px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--stroke)}.tools-file-btn{display:inline-block;padding:8px 12px;border-radius:12px;background:var(--primary);color:#fff;cursor:pointer}.tools-file-btn input{display:none}.tools-actions button.active,.tools-modes button.active{background:var(--primary);color:#fff}.tools-toolbar{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.tools-toolbar button.tools-tool,button.tools-tool{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:76px;padding:8px 10px;border-radius:12px;border:1px solid var(--stroke);background:var(--surface);color:var(--text);font-family:var(--hub-font);font-size:12px;line-height:1.2;cursor:pointer}.tools-toolbar button.tools-tool.active,button.tools-tool.active{background:var(--primary);color:#fff;border-color:var(--primary)}.tools-toolbar button.tools-tool:disabled,button.tools-tool:disabled{opacity:.45;color:var(--text);background:var(--surface)}.tools-tool i{display:block;width:20px;height:20px;background:currentColor;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.tools-tool .i-drop{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M4 20l2.5-6.5 8-8a2.5 2.5 0 1 1 3.5 3.5l-8 8L4 20zm11.8-12.3a1 1 0 1 0-1.4-1.4l-8.2 8.2-.7 1.8 1.8-.7 8.5-7.9z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M4 20l2.5-6.5 8-8a2.5 2.5 0 1 1 3.5 3.5l-8 8L4 20zm11.8-12.3a1 1 0 1 0-1.4-1.4l-8.2 8.2-.7 1.8 1.8-.7 8.5-7.9z'/></svg>")}.tools-tool .i-erase{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M15.5 4.5l4 4-9.8 9.8H5.8L4 16.3 15.5 4.5zm-8 12.3h2.8l8.2-8.2-2.8-2.8-8.2 8.2v2.8zM4 20h16v2H4z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M15.5 4.5l4 4-9.8 9.8H5.8L4 16.3 15.5 4.5zm-8 12.3h2.8l8.2-8.2-2.8-2.8-8.2 8.2v2.8zM4 20h16v2H4z'/></svg>")}.tools-tool .i-restore{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M7 3h10a2 2 0 0 1 2 2v16l-7-3-7 3V5a2 2 0 0 1 2-2zm0 2v13.1l5-2.1 5 2.1V5H7z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M7 3h10a2 2 0 0 1 2 2v16l-7-3-7 3V5a2 2 0 0 1 2-2zm0 2v13.1l5-2.1 5 2.1V5H7z'/></svg>")}.tools-tool .i-undo{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M12 5V2L6 8l6 6V11c3.3 0 6 2.2 6 5.5V18h2v-1.5C20 12 16.6 8.2 12 8V5z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M12 5V2L6 8l6 6V11c3.3 0 6 2.2 6 5.5V18h2v-1.5C20 12 16.6 8.2 12 8V5z'/></svg>")}.tools-tool .i-redo{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M12 5V2l6 6-6 6v-3c-3.3 0-6 2.2-6 5.5V18H4v-1.5C4 12 7.4 8.2 12 8V5z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M12 5V2l6 6-6 6v-3c-3.3 0-6 2.2-6 5.5V18H4v-1.5C4 12 7.4 8.2 12 8V5z'/></svg>")}.tools-tool .i-reset{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M12 6V3L8 7l4 4V8a5 5 0 1 1-4.6 3H5.3A7 7 0 1 0 12 6z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M12 6V3L8 7l4 4V8a5 5 0 1 1-4.6 3H5.3A7 7 0 1 0 12 6z'/></svg>")}.tools-tool .i-down{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M11 4h2v9h3l-4 5-4-5h3V4zm-6 14h14v2H5z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M11 4h2v9h3l-4 5-4-5h3V4zm-6 14h14v2H5z'/></svg>")}.tools-brush-size{display:inline-flex;align-items:center;gap:8px;margin:0;min-width:160px}.tools-brush-size input{width:120px;margin:0}.tools-preview-wrap{margin-top:12px;min-height:220px;border-radius:16px;border:1px solid var(--stroke);background:linear-gradient(45deg,#d9d4c8 25%,transparent 0),linear-gradient(-45deg,#d9d4c8 25%,transparent 0),linear-gradient(45deg,transparent 75%,#d9d4c8 0),linear-gradient(-45deg,transparent 75%,#d9d4c8 0);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0;background-color:#fff;overflow:hidden;position:relative}.tools-preview-wrap.is-wide{width:100%}.tools-zoom{transform-origin:top left}.tools-compare{position:relative;line-height:0}.tools-compare>canvas.is-after{display:block;width:100%;height:auto;position:relative;z-index:0}.tools-compare-clip{position:absolute;left:0;top:0;bottom:0;overflow:hidden;z-index:1;pointer-events:none}.tools-compare-clip canvas{display:block;height:100%;width:calc(100% * 100 / var(--split, 100));max-width:none}.tools-canvas{display:block;max-width:100%;height:auto;touch-action:none}.tools-preview-hint{padding:12px}.tools-hit{position:absolute;inset:0;z-index:3;touch-action:none}.tools-compare-overlay{position:absolute;left:12px;right:12px;bottom:10px;z-index:5;display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:12px;background:hsla(0,0%,100%,.9);color:var(--text);font-family:var(--hub-font);font-size:13px}.tools input[type=range]{width:100%;margin:6px 0 0;padding:0;border:0;background:transparent}.tools-compare-overlay input[type=range]{flex:1 1;width:auto;margin:0}.tools-brush-size input[type=range]{width:120px;margin:0}.tools-loupe{position:fixed;z-index:20;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;border-radius:16px;background:#111;color:#fff;pointer-events:none}.tools-loupe[hidden]{display:none}.tools-loupe canvas{width:80px;height:80px;border-radius:50%;border:3px solid #fff;image-rendering:pixelated}.tools-loupe b{width:22px;height:22px;border-radius:50%;border:2px solid #fff}.tools-loupe span{font-size:12px}.tools-brush-ring{position:fixed;z-index:20;border:2px solid #111;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.tools-compare-ctrl{display:block;padding:8px 12px 12px}.tools-ghost{display:none}.tools-pdf-drop{cursor:pointer;margin-bottom:12px}.tools-pdf-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:10px;gap:10px;margin:12px 0}.tools-pdf-thumb{display:block;width:100%;border:2px solid var(--hub-line,#e5e1d6);border-radius:12px;background:#fff;padding:6px;cursor:-webkit-grab;cursor:grab;color:inherit;font:inherit;text-align:center}.tools-pdf-thumb.is-on{border-color:#111827}.tools-pdf-thumb.is-dragging{opacity:.7;cursor:-webkit-grabbing;cursor:grabbing}.tools-pdf-thumb img{display:block;width:100%;height:140px;object-fit:contain;background:#f3f1ea;border-radius:8px}.tools-pdf-thumb span{display:block;margin-top:6px;font-size:12px;color:var(--hub-muted,#6b7280)}.tools-pdf-actions{margin:12px 0}