/* FORM */
label{font-size:12px;font-weight:500;color:var(--text2);display:block;margin-bottom:5px}
textarea,input[type=text],input[type=number],input[type=url],input[type=email],input[type=password],select{
  width:100%;background:var(--bg3);border:1px solid var(--border2);border-radius:var(--r);
  padding:9px 12px;font-size:13px;color:var(--text);font-family:var(--mono);outline:none;resize:vertical;transition:border-color .15s}
textarea:focus,input:focus,select:focus{border-color:var(--accent)}
select{font-family:var(--sans);cursor:pointer;resize:none}
input[type=range]{width:100%;accent-color:var(--accent);cursor:pointer}
input[type=checkbox]{accent-color:var(--accent);width:14px;height:14px;cursor:pointer}
input[type=color]{width:42px;height:36px;border:1px solid var(--border2);border-radius:var(--r);background:var(--bg3);cursor:pointer;padding:3px}
input[type=file]{width:100%;background:var(--bg3);border:1px dashed var(--border3);border-radius:var(--r);padding:20px;font-size:13px;color:var(--text2);cursor:pointer;font-family:var(--sans);text-align:center}
input[type=file]:hover{border-color:var(--accent)}
.field{margin-bottom:14px}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fr3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;font-family:var(--sans);border-radius:var(--r);cursor:pointer;border:none;transition:all .15s}
.btn-p{background:var(--accent);color:#0d0d0d}.btn-p:hover{background:var(--accent2)}.btn-p:active{transform:scale(.98)}
.btn-g{background:var(--bg3);color:var(--text);border:1px solid var(--border2)}.btn-g:hover{background:var(--bg4)}
.btn-sm{padding:6px 11px;font-size:12px}
.bgrp{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}

/* OUTPUT */
.out{background:var(--bg2);border:1px solid var(--border2);border-radius:var(--r);padding:13px;font-family:var(--mono);font-size:13px;line-height:1.65;color:var(--text);min-height:60px;white-space:pre-wrap;word-break:break-all;position:relative}
.oa{position:absolute;top:9px;right:9px;display:flex;gap:5px}
.cbtn{padding:3px 9px;font-size:11px;background:var(--bg4);color:var(--text2);border:1px solid var(--border3);border-radius:5px;cursor:pointer;font-family:var(--sans)}
.cbtn:hover{color:var(--text)}

/* STATS */
.stats{display:grid;gap:10px;margin-top:12px}
.s2{grid-template-columns:repeat(2,1fr)}.s3{grid-template-columns:repeat(3,1fr)}.s4{grid-template-columns:repeat(4,1fr)}
.stat{background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);padding:13px}
.sv{font-size:22px;font-weight:600;color:var(--accent)}.sl{font-size:11px;color:var(--text3);margin-top:2px}

/* DIFF */
.diff-wrap{background:var(--bg2);border:1px solid var(--border2);border-radius:var(--r);overflow:hidden;font-family:var(--mono);font-size:12px}
.diff-hdr{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--border2)}
.diff-hd{padding:7px 12px;font-size:10px;font-weight:600;color:var(--text3);letter-spacing:.06em;text-transform:uppercase}
.diff-hd:first-child{border-right:1px solid var(--border2)}
.diff-body{display:grid;grid-template-columns:1fr 1fr}
.diff-col:first-child{border-right:1px solid var(--border2)}
.dl{display:flex;min-height:22px;border-bottom:1px solid rgba(255,255,255,.025)}
.dn{flex-shrink:0;width:34px;padding:3px 8px;font-size:10px;color:var(--text4);background:var(--bg3);text-align:right;border-right:1px solid var(--border);user-select:none}
.dt{padding:3px 10px;line-height:1.5;white-space:pre-wrap;word-break:break-word;flex:1}
.da{background:var(--green-bg);color:var(--green)}.da .dn{background:rgba(74,222,128,.04);color:var(--green)}
.dd{background:var(--red-bg);color:var(--red)}.dd .dn{background:rgba(248,113,113,.04);color:var(--red)}
