*{box-sizing:border-box}
.tool-hero{text-align:center;padding:22px 0 16px}.badge{display:inline-block;padding:6px 11px;border-radius:99px;background:#eff6ff;color:#2563eb;font-size:11px;font-weight:800}.tool-hero h1{margin:9px 0 7px;font-size:clamp(31px,4vw,45px);color:#0f172a;font-weight:900}.tool-hero p{margin:0;color:#64748b;font-size:16px;line-height:1.55}
.section{padding:8px 0 26px}.box{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{padding:19px;background:#fff;border:1.5px solid #dbe3ec;border-radius:18px;box-shadow:0 8px 25px rgba(15,23,42,.06);transition:.2s}.card:hover{border-color:#93c5fd;box-shadow:0 12px 30px rgba(15,23,42,.09);transform:translateY(-2px)}.card h2{margin:0 0 15px;color:#0f172a;font-size:19px}
.upload{min-height:280px;border:2px dashed #bfdbfe;border-radius:15px;background:#f8fbff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px;transition:.2s}.upload:hover,.upload.dragover{border-color:#2563eb;background:#eff6ff}.upload>i{font-size:46px;color:#2563eb}.upload img{display:none;max-width:100%;max-height:215px;object-fit:contain;border-radius:10px}.upload h3{font-size:18px;color:#0f172a}.upload p{color:#64748b;font-size:13px;line-height:1.7}
.choose{min-height:45px;min-width:175px;border:0;border-radius:10px;background:#2563eb;color:#fff;font-weight:850;cursor:pointer;font-family:inherit;font-size:14px}.choose i{margin-right:7px}.file-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.info{display:flex;justify-content:space-between;gap:10px;margin-top:8px;padding:9px 10px;border:1px solid #e5e7eb;border-radius:9px;background:#f8fafc;font-size:11px}.info span{color:#64748b}.info b{color:#0f172a;max-width:65%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reset{width:100%;min-height:41px;margin-top:9px;border:1px solid #fecaca;border-radius:10px;background:#fff5f5;color:#dc2626;font-weight:800;cursor:pointer}
.process{width:100%;min-height:46px;border:0;border-radius:10px;background:#2563eb;color:#fff;font-weight:850;cursor:pointer}.process:disabled{opacity:.45;cursor:not-allowed}.status{margin:10px 0;padding:10px;border:1px solid #dbeafe;border-radius:10px;background:#eff6ff;color:#64748b;font-size:11px;line-height:1.55;text-align:center}
.control{margin-top:18px}.control>label{display:block;color:#334155;font-size:13px;font-weight:850;margin-bottom:8px}.label-row{display:flex;justify-content:space-between;align-items:center}.label-row label{color:#334155;font-size:13px;font-weight:850}.label-row b{font-size:12px;color:#2563eb}#blurRange{width:100%;accent-color:#2563eb;cursor:pointer}.range-labels{display:flex;justify-content:space-between;color:#94a3b8;font-size:10px}.style-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.style{min-height:40px;border:1px solid #dbe3ec;border-radius:9px;background:#fff;color:#64748b;font-weight:800;cursor:pointer}.style.active{border-color:#2563eb;background:#eff6ff;color:#2563eb}.tips{margin-top:18px;padding:12px;border:1px solid #e0e7ff;border-radius:11px;background:#f8faff;color:#64748b;font-size:11px;line-height:1.6}.tips b{color:#334155}.tips p{margin:5px 0 0}
.preview{height:280px;border:1px solid #dbe3ec;border-radius:14px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;overflow:hidden}.preview div{text-align:center;color:#94a3b8}.preview i{display:block;font-size:42px;margin-bottom:7px}.preview b,.preview span{display:block}.preview span{font-size:12px}.preview canvas{display:none;max-width:100%;max-height:265px;object-fit:contain}.download{display:flex;align-items:center;justify-content:center;margin-top:10px;min-height:45px;border-radius:10px;background:#16a34a;color:#fff;text-decoration:none;font-weight:850}.download.disabled{pointer-events:none;opacity:.4}
.content{padding:30px 0}.content>div>h2{text-align:center;color:#0f172a;font-size:28px;margin:0 0 18px}.grid,.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:32px}.grid article,.steps article{padding:18px;border:1.5px solid #dbeafe;border-radius:14px;background:linear-gradient(145deg,#fff,#f8fbff);text-align:center;box-shadow:0 5px 17px rgba(15,23,42,.04)}.grid article>span{font-size:25px}.grid h3,.steps h3{margin:7px 0 5px;color:#0f172a;font-size:16px}.grid p,.steps p{margin:0;color:#64748b;font-size:12px;line-height:1.6}.steps b{display:grid;place-items:center;width:31px;height:31px;margin:auto;border-radius:50%;background:#2563eb;color:#fff}.faq{max-width:900px;margin:auto;border:1.5px solid #dbe3ec;border-radius:15px;overflow:hidden;background:#fff}.faq details{border-bottom:1px solid #e5e7eb}.faq details:last-child{border:0}.faq summary{padding:16px;font-size:14px;font-weight:850;color:#0f172a;cursor:pointer}.faq p{padding:0 16px 16px;margin:0;color:#64748b;font-size:12px;line-height:1.7}
body.dark .card,body.dark .grid article,body.dark .steps article,body.dark .faq{background:#111827;border-color:#334155}body.dark .card h2,body.dark .upload h3,body.dark .info b,body.dark .grid h3,body.dark .steps h3,body.dark .content>div>h2,body.dark .faq summary,body.dark .label-row label,body.dark .control>label,body.dark .tips b{color:#f8fafc}body.dark .upload{background:#0f172a;border-color:#3b82f6}body.dark .info{background:#0f172a;border-color:#334155}body.dark .style{background:#0f172a;color:#cbd5e1;border-color:#334155}body.dark .style.active{background:#172554;border-color:#3b82f6}body.dark .status,body.dark .tips{background:#0f172a;border-color:#334155}
@media(max-width:1050px){.box{grid-template-columns:1fr 1fr}.box .card:last-child{grid-column:1/-1}.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.page-offset{padding-top:62px!important}.tool-hero{padding:18px 0 13px}.tool-hero h1{font-size:30px}.tool-hero p{font-size:14px}.box,.grid,.steps{grid-template-columns:1fr}.box .card:last-child{grid-column:auto}.card{padding:16px;border-radius:17px}.card:hover{transform:none}.upload{min-height:245px}.preview{height:265px}.content{padding:24px 0}.content>div>h2{font-size:24px}.grid article,.steps article{padding:17px}.faq summary{font-size:15px}.faq p{font-size:13px}}

/* --- Blur strength slider: explicit native/custom-safe styling --- */
#blurRange{
  -webkit-appearance: none !important;
  appearance: none !important;
  display: block !important;
  width: 100% !important;
  height: 22px !important;
  margin: 10px 0 2px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  cursor: pointer !important;
  opacity: 1 !important;
}
#blurRange::-webkit-slider-runnable-track{
  width: 100%;
  height: 7px;
  border-radius: 999px;
  background: #dbeafe;
  border: 1px solid #bfdbfe;
}
#blurRange::-webkit-slider-thumb{
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  margin-top: -7px;
  border-radius: 50%;
  border: 3px solid #ffffff;
  background: #2563eb;
  box-shadow: 0 2px 8px rgba(37,99,235,.35);
  cursor: grab;
}
#blurRange:active::-webkit-slider-thumb{cursor:grabbing}
#blurRange::-moz-range-track{
  width: 100%;
  height: 7px;
  border-radius: 999px;
  background: #dbeafe;
  border: 1px solid #bfdbfe;
}
#blurRange::-moz-range-progress{
  height: 7px;
  border-radius: 999px;
  background: #2563eb;
}
#blurRange::-moz-range-thumb{
  width: 15px;
  height: 15px;
  border-radius: 50%;
  border: 3px solid #ffffff;
  background: #2563eb;
  box-shadow: 0 2px 8px rgba(37,99,235,.35);
  cursor: grab;
}
body.dark #blurRange::-webkit-slider-runnable-track{background:#334155;border-color:#475569}
body.dark #blurRange::-moz-range-track{background:#334155;border-color:#475569}
body.dark #blurRange::-moz-range-progress{background:#3b82f6}
body.dark #blurRange::-webkit-slider-thumb,
body.dark #blurRange::-moz-range-thumb{background:#3b82f6;border-color:#0f172a}
