.kwz{
  --w-bg:#ffffff; --w-panel:#f4f6f4; --w-line:#e0e5e1; --w-ink:#16191a;
  --w-mut:#5f6b67; --w-accent:#12684a; --w-accent-ink:#ffffff; --w-soft:#e6f0ea;
  --w-err:#a8301f;
  --w-ui:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-family:var(--w-ui); color:var(--w-ink);
  max-width:780px; margin:34px auto; padding-inline:16px; box-sizing:border-box;
}
.kwz *,.kwz *::before,.kwz *::after{box-sizing:border-box;}
@media (prefers-color-scheme:dark){
  .kwz:not([data-theme="light"]){
    --w-bg:#171c19; --w-panel:#1d2320; --w-line:#2b332e; --w-ink:#e7ece9;
    --w-mut:#94a29c; --w-accent:#42b285; --w-accent-ink:#0b1310; --w-soft:#1a2b23;
    --w-err:#e08573;
  }
}
.kwz-form{border:1px solid var(--w-line); border-radius:13px; background:var(--w-bg); padding:18px;}
.kwz-fields{display:flex; flex-direction:column; gap:14px;}
.kwz-row{display:flex; flex-direction:column; gap:5px;}
.kwz-row label{font-size:13.5px; font-weight:600; letter-spacing:-.005em;}
.kwz-row .kwz-note{font-size:12px; color:var(--w-mut); line-height:1.5;}
.kwz-row input,.kwz-row textarea,.kwz-row select{
  width:100%; border:1px solid var(--w-line); border-radius:10px; background:var(--w-panel);
  color:var(--w-ink); font:400 14.5px/1.6 var(--w-ui); padding:10px 12px;
}
.kwz-row textarea{resize:vertical; min-height:120px;}
.kwz-row input:focus,.kwz-row textarea:focus,.kwz-row select:focus{
  outline:2px solid var(--w-accent); outline-offset:1px; border-color:var(--w-accent);
}
.kwz-count{font-size:11.5px; color:var(--w-mut); align-self:flex-end;}

.kwz-actions{display:flex; gap:9px; align-items:center; margin-top:16px; flex-wrap:wrap;}
.kwz-go{border:0; border-radius:9px; background:var(--w-accent); color:var(--w-accent-ink);
  padding:11px 18px; font:600 14px var(--w-ui); cursor:pointer;}
.kwz-go:hover{filter:brightness(1.08);}
.kwz-go:disabled{opacity:.5; cursor:progress;}
.kwz-reset{border:1px solid var(--w-line); background:transparent; color:var(--w-mut);
  border-radius:9px; padding:10px 14px; font:500 13px var(--w-ui); cursor:pointer;}
.kwz-reset:hover{color:var(--w-ink);}

.kwz-out{margin-top:18px; border:1px solid var(--w-line); border-radius:13px;
  background:var(--w-bg); overflow:hidden;}
.kwz-outhead{display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:11px 15px; background:var(--w-panel); border-bottom:1px solid var(--w-line);}
.kwz-outlabel{font:700 10.5px var(--w-ui); letter-spacing:.12em; text-transform:uppercase; color:var(--w-accent);}
.kwz-outacts{display:flex; gap:6px;}
.kwz-mini{border:1px solid var(--w-line); background:var(--w-bg); color:var(--w-mut);
  border-radius:7px; padding:5px 11px; font:500 12px var(--w-ui); cursor:pointer;}
.kwz-mini:hover{color:var(--w-ink);}
.kwz-result{padding:16px; font-size:15px; line-height:1.72; white-space:pre-wrap; overflow-wrap:anywhere;}
.kwz-result.is-err{color:var(--w-err);}
.kwz-dots{display:inline-flex; gap:4px; align-items:center; height:18px;}
.kwz-dots i{width:5px; height:5px; border-radius:50%; background:var(--w-mut); animation:kwz-b 1.1s infinite;}
.kwz-dots i:nth-child(2){animation-delay:.15s;}
.kwz-dots i:nth-child(3){animation-delay:.3s;}
@keyframes kwz-b{0%,60%,100%{opacity:.3;transform:translateY(0);}30%{opacity:1;transform:translateY(-3px);}}
.kwz-legal{margin:16px 0 0; font-size:11.5px; line-height:1.6; color:var(--w-mut);}
@media (prefers-reduced-motion:reduce){.kwz-dots i{animation:none; opacity:.6;}}
