  :root{
    --ink:#14171a;
    --ink-soft:#1b1f23;
    --paper:#f2f1ed;
    --signal:#39ff8a;
    --signal-dim:#1f8f52;
    --blade:#ff3d6e;
    --line:#2a2e33;
    --line-soft:#33383e;
    --muted:#8a9099;
    --muted-2:#c7cbd1;
    --nav-bg:rgba(20,23,26,0.86);
    --scan-bg:#1e2226;
    --checker-a:#2b2f34;
    --radius:10px;
  }

  :root[data-theme="light"]{
    --ink:#f7f6f2;
    --ink-soft:#ffffff;
    --paper:#181a1c;
    --signal:#1f8f52;
    --signal-dim:#17703f;
    --blade:#c81856;
    --line:#e3e1da;
    --line-soft:#d2d0c8;
    --muted:#767b82;
    --muted-2:#3a3e42;
    --nav-bg:rgba(247,246,242,0.86);
    --scan-bg:#e9e7e1;
    --checker-a:#d8d6cf;
  }

  html{transition:background .2s;}
  body, .stage, .panel-card, .step, .batch-card{transition:background-color .2s, border-color .2s, color .2s;}

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--ink);
    color:var(--paper);
    font-family:'Inter',sans-serif;
    -webkit-font-smoothing:antialiased;
  }
  ::selection{background:var(--signal);color:var(--ink);}

  a{color:inherit;}

  .mono{font-family:'JetBrains Mono',monospace;}

  /* ---------- layout shell ---------- */
  .wrap{max-width:1160px;margin:0 auto;padding:0 32px;}
  @media(max-width:640px){.wrap{padding:0 20px;}}

  header.site{
    position:sticky;top:0;z-index:50;
    background:var(--nav-bg);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav{
    display:flex;align-items:center;justify-content:space-between;
    padding:18px 0;
  }
  .logo{
    display:flex;align-items:center;gap:10px;
    font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:18px;
    letter-spacing:-0.01em;
  }
  .logo-mark{
    width:22px;height:22px;border-radius:5px;
    background:
      linear-gradient(135deg, var(--signal) 0 50%, transparent 50% 100%);
    background-color:var(--line-soft);
    position:relative;
    flex:none;
  }
  .logo-mark::after{
    content:"";position:absolute;inset:0;
    background:repeating-conic-gradient(#3a3f45 0 25%, transparent 0 50%) 0 0/8px 8px;
    border-radius:5px;
    mix-blend-mode:overlay;
  }
  nav.links{display:flex;gap:32px;font-size:14px;color:var(--muted-2);}
  nav.links a{text-decoration:none;transition:color .15s;}
  nav.links a:hover{color:var(--signal);}
  .cta-small{
    font-size:13px;font-family:'JetBrains Mono',monospace;
    color:var(--ink);background:var(--signal);
    padding:9px 16px;border-radius:6px;text-decoration:none;
    font-weight:500;transition:transform .15s, box-shadow .15s;
  }
  .cta-small:hover{transform:translateY(-1px);box-shadow:0 6px 20px -6px rgba(57,255,138,0.5);}
  @media(max-width:720px){nav.links{display:none;}}

  /* ---------- hero ---------- */
  .hero{padding:76px 0 40px;}
  .eyebrow{
    font-family:'JetBrains Mono',monospace;font-size:12.5px;
    color:var(--signal);letter-spacing:0.08em;text-transform:uppercase;
    display:flex;align-items:center;gap:10px;margin-bottom:22px;
  }
  .eyebrow::before{content:"";width:7px;height:7px;background:var(--signal);border-radius:1px;display:inline-block;}
  h1{
    font-family:'Space Grotesk',sans-serif;
    font-size:clamp(34px,5.4vw,58px);
    line-height:1.03;font-weight:600;letter-spacing:-0.02em;
    margin:0 0 20px;max-width:820px;
  }
  h1 em{
    font-style:normal;color:var(--signal);
  }
  .sub{
    font-size:17px;line-height:1.6;color:var(--muted-2);
    max-width:520px;margin:0 0 36px;
  }

  /* ---------- tool ---------- */
  .tool{
    display:grid;grid-template-columns:1.35fr 1fr;gap:28px;
    margin-top:20px;
  }
  @media(max-width:900px){.tool{grid-template-columns:1fr;}}

  .stage{
    background:var(--ink-soft);
    border:1px solid var(--line);
    border-radius:16px;
    overflow:hidden;
    position:relative;
    min-height:440px;
    display:flex;flex-direction:column;
  }
  .stage-bar{
    display:flex;align-items:center;justify-content:space-between;
    padding:14px 18px;border-bottom:1px solid var(--line);
    font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--muted);
  }
  .stage-bar .dots{display:flex;gap:6px;}
  .stage-bar .dots span{width:8px;height:8px;border-radius:50%;background:var(--line-soft);}
  .stage-body{
    flex:1;position:relative;display:flex;align-items:center;justify-content:center;
    padding:22px;
  }

  /* dropzone */
  .dropzone{
    width:100%;height:100%;min-height:360px;
    border:1.5px dashed var(--line-soft);
    border-radius:12px;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:14px;text-align:center;padding:32px;
    cursor:pointer;transition:border-color .18s, background .18s;
  }
  .dropzone.drag{border-color:var(--signal);background:rgba(57,255,138,0.05);}
  .dropzone svg{opacity:0.85;}
  .dropzone .dz-title{font-size:15.5px;color:var(--paper);font-weight:500;}
  .dropzone .dz-sub{font-size:13px;color:var(--muted);max-width:260px;}
  .dropzone .dz-formats{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);letter-spacing:0.03em;}
  input[type=file]{display:none;}

  /* compare slider */
  .compare{
    position:relative;width:100%;height:100%;min-height:360px;
    border-radius:10px;overflow:hidden;
    background-image:
      linear-gradient(45deg,var(--checker-a) 25%, transparent 25%),
      linear-gradient(-45deg,var(--checker-a) 25%, transparent 25%),
      linear-gradient(45deg, transparent 75%, var(--checker-a) 75%),
      linear-gradient(-45deg, transparent 75%, var(--checker-a) 75%);
    background-size:20px 20px;
    background-position:0 0, 0 10px, 10px -10px, -10px 0px;
    background-color:var(--scan-bg);
    display:none;
  }
  .compare img{
    position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;
    user-select:none;pointer-events:none;
  }
  .compare .before-layer{
    position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;
    background:#0e1012;
  }
  .compare .before-layer img{object-fit:contain;}
  .cut-handle{
    position:absolute;top:0;bottom:0;width:2px;background:var(--blade);
    left:50%;cursor:ew-resize;
    box-shadow:0 0 0 1px rgba(255,61,110,0.25);
  }
  .cut-handle::before{
    content:"";position:absolute;inset:0;
    background-image:repeating-linear-gradient(to bottom, var(--blade) 0 6px, transparent 6px 12px);
  }
  .cut-handle .knob{
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    width:34px;height:34px;border-radius:50%;
    background:var(--ink);border:2px solid var(--blade);
    display:flex;align-items:center;justify-content:center;
  }
  .compare .tag{
    position:absolute;top:12px;font-family:'JetBrains Mono',monospace;
    font-size:10.5px;letter-spacing:0.06em;text-transform:uppercase;
    padding:4px 8px;border-radius:4px;background:rgba(20,23,26,0.7);
    color:var(--muted-2);
  }
  .tag.left{left:12px;}
  .tag.right{right:12px;}

  /* processing state */
  .processing{
    display:none;flex-direction:column;align-items:center;justify-content:center;
    gap:18px;width:100%;height:100%;min-height:360px;
  }
  .scan{
    position:relative;width:180px;height:180px;border-radius:10px;overflow:hidden;
    background:var(--scan-bg);
  }
  .scan img{width:100%;height:100%;object-fit:cover;}
  .scan-line{
    position:absolute;left:0;right:0;height:2px;background:var(--signal);
    box-shadow:0 0 14px 2px rgba(57,255,138,0.8);
    animation:scan 1.4s ease-in-out infinite;
  }
  @keyframes scan{
    0%{top:0;} 50%{top:100%;} 100%{top:0;}
  }
  .proc-label{font-family:'JetBrains Mono',monospace;font-size:12.5px;color:var(--muted-2);}
  .proc-pct{color:var(--signal);}
  .progress-track{
    width:200px;height:3px;background:var(--line-soft);border-radius:3px;overflow:hidden;
  }
  .progress-fill{height:100%;width:0%;background:var(--signal);transition:width .25s;}

  .stage-actions{
    display:flex;gap:10px;padding:16px 18px;border-top:1px solid var(--line);
  }
  .btn{
    font-family:'JetBrains Mono',monospace;font-size:12.5px;font-weight:500;
    padding:11px 16px;border-radius:7px;border:1px solid var(--line-soft);
    background:transparent;color:var(--paper);cursor:pointer;
    display:flex;align-items:center;gap:8px;transition:all .15s;
  }
  .btn:hover{border-color:var(--muted);}
  .btn.primary{
    background:var(--signal);color:var(--ink);border-color:var(--signal);
    margin-left:auto;
  }
  .btn.primary:hover{box-shadow:0 6px 20px -6px rgba(57,255,138,0.5);transform:translateY(-1px);}
  .btn:disabled{opacity:0.4;cursor:not-allowed;}
  .btn svg{flex:none;}

  /* side panel */
  .panel{
    display:flex;flex-direction:column;gap:14px;
  }
  .panel-card{
    background:var(--ink-soft);border:1px solid var(--line);border-radius:14px;
    padding:20px 22px;
  }
  .panel-card h3{
    font-family:'Space Grotesk',sans-serif;font-size:14.5px;margin:0 0 10px;
    font-weight:600;
  }
  .readout{
    display:flex;justify-content:space-between;padding:8px 0;
    border-bottom:1px solid var(--line);font-size:13px;
  }
  .readout:last-child{border-bottom:none;}
  .readout .k{color:var(--muted);}
  .readout .v{font-family:'JetBrains Mono',monospace;color:var(--paper);}
  .readout .v.ok{color:var(--signal);}

  .format-picker{display:flex;gap:8px;margin-top:4px;}
  .format-opt{
    flex:1;text-align:center;padding:9px 0;border-radius:6px;
    border:1px solid var(--line-soft);font-family:'JetBrains Mono',monospace;
    font-size:12px;cursor:pointer;color:var(--muted-2);transition:all .15s;
  }
  .format-opt.active{border-color:var(--signal);color:var(--signal);background:rgba(57,255,138,0.06);}

  .error-note{
    display:none;font-size:13px;color:var(--blade);background:rgba(255,61,110,0.08);
    border:1px solid rgba(255,61,110,0.3);padding:12px 14px;border-radius:8px;line-height:1.5;
  }

  /* ---------- steps ---------- */
  .steps{padding:96px 0 40px;border-top:1px solid var(--line);margin-top:80px;}
  .section-head{max-width:560px;margin-bottom:48px;}
  .section-eyebrow{
    font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--muted);
    text-transform:uppercase;letter-spacing:0.08em;margin-bottom:12px;
  }
  .section-head h2{
    font-family:'Space Grotesk',sans-serif;font-size:clamp(26px,3.4vw,36px);
    font-weight:600;letter-spacing:-0.015em;margin:0;line-height:1.15;
  }
  .step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;}
  @media(max-width:800px){.step-grid{grid-template-columns:1fr;}}
  .step{background:var(--ink);padding:32px 28px;}
  .step .num{
    font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--signal);
    margin-bottom:18px;
  }
  .step h4{font-family:'Space Grotesk',sans-serif;font-size:17px;margin:0 0 10px;font-weight:600;}
  .step p{font-size:14px;line-height:1.6;color:var(--muted-2);margin:0;}

  /* ---------- capability strip ---------- */
  .strip{padding:64px 0;border-top:1px solid var(--line);}
  .strip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;}
  @media(max-width:800px){.strip-grid{grid-template-columns:repeat(2,1fr);}}
  .strip-item .n{font-family:'Space Grotesk',sans-serif;font-size:30px;font-weight:600;color:var(--signal);}
  .strip-item .l{font-size:13px;color:var(--muted);margin-top:6px;}

  /* ---------- footer ---------- */
  footer{border-top:1px solid var(--line);padding:40px 0;}
  .foot-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
  .foot-note{font-size:13px;color:var(--muted);font-family:'JetBrains Mono',monospace;}

  .visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}

  @media (prefers-reduced-motion: reduce){
    .scan-line{animation:none;top:50%;}
    *{transition:none !important;}
  }

/* ---------- footer nav ---------- */
.foot-links{display:flex;gap:22px;font-size:13px;}
.foot-links a{color:var(--muted-2);text-decoration:none;transition:color .15s;}
.foot-links a:hover{color:var(--signal);}
.foot-col{display:flex;flex-direction:column;gap:14px;}

/* ---------- batch grid ---------- */
.batch-bar{
  display:none;align-items:center;justify-content:space-between;
  padding:14px 18px;border-bottom:1px solid var(--line);
  font-family:'JetBrains Mono',monospace;font-size:12.5px;color:var(--muted-2);
}
.batch-bar .count{color:var(--signal);}
.batch-grid{
  display:none;grid-template-columns:repeat(auto-fill, minmax(150px, 1fr));
  gap:12px;width:100%;padding:4px;
}
.batch-card{
  border:1px solid var(--line);border-radius:10px;overflow:hidden;
  background:var(--ink);display:flex;flex-direction:column;
}
.batch-thumb{
  position:relative;aspect-ratio:1;
  background-image:
    linear-gradient(45deg,var(--checker-a) 25%, transparent 25%),
    linear-gradient(-45deg,var(--checker-a) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, var(--checker-a) 75%),
    linear-gradient(-45deg, transparent 75%, var(--checker-a) 75%);
  background-size:16px 16px;
  background-position:0 0, 0 8px, 8px -8px, -8px 0px;
  background-color:var(--scan-bg);
}
.batch-thumb img{width:100%;height:100%;object-fit:contain;position:absolute;inset:0;}
.batch-thumb .spinner{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(20,23,26,0.55);
}
.batch-thumb .spinner .dot{
  width:6px;height:6px;border-radius:50%;background:var(--signal);margin:0 2px;
  animation:pulse 1s ease-in-out infinite;
}
.batch-thumb .spinner .dot:nth-child(2){animation-delay:.15s;}
.batch-thumb .spinner .dot:nth-child(3){animation-delay:.3s;}
@keyframes pulse{0%,100%{opacity:0.3;transform:scale(0.85);}50%{opacity:1;transform:scale(1.1);}}
.batch-thumb .fail-badge{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(255,61,110,0.12);color:var(--blade);font-family:'JetBrains Mono',monospace;
  font-size:11px;text-align:center;padding:8px;
}
.batch-meta{
  padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:6px;
  border-top:1px solid var(--line);
}
.batch-meta .name{
  font-size:11px;color:var(--muted-2);overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;flex:1;
}
.batch-meta button{
  background:none;border:none;color:var(--signal);cursor:pointer;padding:2px;
  display:flex;align-items:center;flex:none;
}
.batch-meta button:disabled{color:var(--muted);cursor:not-allowed;}

/* ---------- prose pages (about/contact/privacy) ---------- */
.prose-page{padding:64px 0 96px;max-width:720px;}
.prose-page h1{
  font-family:'Space Grotesk',sans-serif;font-size:clamp(30px,4.6vw,44px);
  font-weight:600;letter-spacing:-0.02em;margin:0 0 20px;line-height:1.08;
}
.prose-page .lede{font-size:16.5px;line-height:1.65;color:var(--muted-2);margin:0 0 40px;}
.prose-page h2{
  font-family:'Space Grotesk',sans-serif;font-size:20px;font-weight:600;
  margin:44px 0 14px;letter-spacing:-0.01em;
}
.prose-page p{font-size:15px;line-height:1.75;color:var(--muted-2);margin:0 0 16px;}
.prose-page ul{margin:0 0 16px;padding-left:20px;}
.prose-page li{font-size:15px;line-height:1.75;color:var(--muted-2);margin-bottom:8px;}
.prose-page a{color:var(--signal);text-decoration:none;border-bottom:1px solid rgba(57,255,138,0.3);}
.prose-page a:hover{border-color:var(--signal);}
.prose-page .updated{
  font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--muted);
  margin-bottom:32px;text-transform:uppercase;letter-spacing:0.06em;
}
.contact-card{
  background:var(--ink-soft);border:1px solid var(--line);border-radius:14px;
  padding:28px 30px;margin-top:8px;
}
.contact-row{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);}
.contact-row:last-child{border-bottom:none;}
.contact-row .icon{
  width:36px;height:36px;border-radius:8px;background:rgba(57,255,138,0.08);
  display:flex;align-items:center;justify-content:center;flex:none;
}
.contact-row .label{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:0.05em;}
.contact-row .value{font-size:15px;color:var(--paper);margin-top:2px;}
.contact-row .value a{color:var(--signal);text-decoration:none;}
.contact-row .value a:hover{text-decoration:underline;}

/* ---------- background picker ---------- */
.bg-picker{display:flex;gap:10px;margin-top:4px;}
.bg-opt{
  position:relative;width:40px;height:40px;border-radius:8px;
  border:2px solid var(--line-soft);cursor:pointer;padding:0;
  display:flex;align-items:center;justify-content:center;
  transition:border-color .15s;flex:none;
}
.bg-opt:hover{border-color:var(--muted);}
.bg-opt.active{border-color:var(--signal);}
.bg-opt .swatch{
  width:100%;height:100%;border-radius:6px;display:block;
}
.swatch-checker{
  background-image:
    linear-gradient(45deg,#3a3f45 25%, transparent 25%),
    linear-gradient(-45deg,#3a3f45 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, #3a3f45 75%),
    linear-gradient(-45deg, transparent 75%, #3a3f45 75%);
  background-size:10px 10px;
  background-position:0 0, 0 5px, 5px -5px, -5px 0px;
  background-color:#24282d;
}
.bg-opt.custom{overflow:hidden;}
.bg-opt.custom input[type=color]{
  position:absolute;inset:0;width:100%;height:100%;
  opacity:0;cursor:pointer;border:none;padding:0;
}
.bg-hint{font-size:12px;color:var(--muted);margin-top:12px;line-height:1.5;}
.format-opt.disabled{opacity:0.35;cursor:not-allowed;pointer-events:none;}

/* ---------- anchor scroll offset (accounts for sticky header) ---------- */
#tool, #steps, #capability, #faq{scroll-margin-top:84px;}

/* ---------- theme toggle ---------- */
.theme-toggle{
  display:flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:8px;
  border:1px solid var(--line-soft);background:transparent;
  color:var(--paper);cursor:pointer;flex:none;
  transition:border-color .15s, background .15s;
}
.theme-toggle:hover{border-color:var(--signal);}
.theme-toggle svg{width:16px;height:16px;}
.nav-right{display:flex;align-items:center;gap:14px;}

/* ---------- edit sliders (brightness/contrast/saturation/clarity/smoothing) ---------- */
.edit-row{margin-bottom:16px;}
.edit-row:last-of-type{margin-bottom:0;}
.edit-row label{
  display:flex;justify-content:space-between;align-items:center;
  font-size:12.5px;color:var(--muted-2);margin-bottom:6px;
}
.edit-row .edit-val{font-family:'JetBrains Mono',monospace;color:var(--signal);font-size:12px;}
.edit-row input[type=range]{
  -webkit-appearance:none;appearance:none;width:100%;height:4px;
  border-radius:3px;background:var(--line-soft);outline:none;margin:0;
}
.edit-row input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:16px;height:16px;border-radius:50%;
  background:var(--signal);cursor:pointer;border:2px solid var(--ink);
  box-shadow:0 0 0 1px var(--signal);
}
.edit-row input[type=range]::-moz-range-thumb{
  width:16px;height:16px;border-radius:50%;background:var(--signal);
  cursor:pointer;border:2px solid var(--ink);box-shadow:0 0 0 1px var(--signal);
}
.reset-edits-btn{
  margin-top:6px;width:100%;justify-content:center;
}

/* ---------- mobile refinements ---------- */
@media(max-width:480px){
  .hero{padding:44px 0 24px;}
  .nav{flex-wrap:wrap;row-gap:10px;padding:14px 0;}
  .cta-small{font-size:12px;padding:8px 12px;}
  .stage{min-height:auto;}
  .stage-body{padding:14px;}
  .dropzone{min-height:280px;padding:24px 18px;gap:10px;}
  .dropzone .dz-title{font-size:14.5px;}
  .compare, .processing{min-height:260px;}
  .stage-actions{flex-wrap:wrap;}
  .stage-actions .btn{flex:1;justify-content:center;}
  .stage-actions .btn.primary{margin-left:0;}
  .panel-card{padding:16px 18px;}
  .batch-grid{grid-template-columns:repeat(auto-fill, minmax(120px, 1fr));gap:8px;}
  .step{padding:24px 20px;}
  .section-head{margin-bottom:32px;}
  .steps{padding:56px 0 24px;}
  .strip{padding:40px 0;}
  .strip-grid{grid-template-columns:repeat(2,1fr);gap:20px;}
  .format-picker, .bg-picker{flex-wrap:wrap;}
}

/* ---------- contact form ---------- */
.form-row{margin-bottom:16px;}
.form-row label{
  display:block;font-size:12.5px;color:var(--muted-2);margin-bottom:6px;
  font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:0.04em;
}
.form-row input, .form-row textarea{
  width:100%;padding:11px 12px;border-radius:7px;border:1px solid var(--line-soft);
  background:var(--ink);color:var(--paper);font-size:14.5px;font-family:'Inter',sans-serif;
  resize:vertical;
}
.form-row input:focus, .form-row textarea:focus{outline:none;border-color:var(--signal);}
.form-status{margin-top:14px;font-size:13.5px;min-height:1.2em;}
.form-status.ok{color:var(--signal);}
.form-status.err{color:var(--blade);}

/* ---------- FAQ ---------- */
.faq-list{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;}
.faq-item{background:var(--ink);}
.faq-item summary{
  padding:20px 24px;cursor:pointer;list-style:none;
  font-family:'Space Grotesk',sans-serif;font-size:15.5px;font-weight:600;
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  color:var(--paper);
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:"+";font-family:'JetBrains Mono',monospace;font-size:20px;color:var(--signal);
  flex:none;transition:transform .2s;
}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item summary:hover{color:var(--signal);}
.faq-item p{
  margin:0;padding:0 24px 20px;font-size:14.5px;line-height:1.7;color:var(--muted-2);
}

/* ---------- checkbox row (resize option) ---------- */
.checkbox-row{
  display:flex;align-items:center;gap:10px;margin-top:14px;cursor:pointer;
  font-size:13px;color:var(--muted-2);
}
.checkbox-row input[type=checkbox]{
  width:16px;height:16px;accent-color:var(--signal);cursor:pointer;flex:none;
}

/* ---------- signature generator ---------- */
.sig-canvas-wrap{
  position:relative;width:100%;border-radius:12px;overflow:hidden;
  border:1px solid var(--line-soft);
  background-image:
    linear-gradient(45deg,var(--checker-a) 25%, transparent 25%),
    linear-gradient(-45deg,var(--checker-a) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, var(--checker-a) 75%),
    linear-gradient(-45deg, transparent 75%, var(--checker-a) 75%);
  background-size:20px 20px;
  background-position:0 0, 0 10px, 10px -10px, -10px 0px;
  background-color:var(--scan-bg);
}
#sigCanvas{
  display:block;width:100%;height:auto;cursor:crosshair;
}
.sig-empty-hint{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--muted);
  pointer-events:none;letter-spacing:0.04em;
}
