*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;color:#17202a;background:#f6f7f9}
.wrap{max-width:980px;margin:0 auto;padding:0 16px}.top{background:#0f3d3e;color:#fff;padding:10px 0;font-size:15px}
h1{font-size:28px;line-height:1.2;margin:22px 0 8px}h2{margin-top:28px}h3{margin:22px 0 6px;font-size:18px}.lede{color:#33414e}
fieldset{border:1px solid #d5dbe1;border-radius:8px;background:#fff;margin:14px 0;padding:12px 14px}legend{font-weight:600;padding:0 6px}
.g{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.g label{display:flex;flex-direction:column;font-size:14px}.g .wide{grid-column:1/-1}
input,select,textarea{font:inherit;padding:6px 8px;border:1px solid #b9c2cc;border-radius:6px;width:100%;background:#fff}textarea{font:13px/1.4 ui-monospace,Menlo,monospace}
.gen{align-items:end;margin-bottom:10px}.ans{display:grid;grid-template-columns:150px 1fr;gap:6px;margin:8px 0;padding-top:8px;border-top:1px dashed #d5dbe1}.ans textarea{grid-column:1/-1}
button,.btn{font:inherit;padding:8px 14px;border-radius:6px;border:1px solid #0f3d3e;background:#fff;color:#0f3d3e;cursor:pointer;text-decoration:none;display:inline-block}
.primary{background:#0f6b5c;border-color:#0f6b5c;color:#fff}.tblwrap{overflow-x:auto}table{border-collapse:collapse;width:100%;background:#fff;font-size:14px}
th,td{border:1px solid #dde2e7;padding:6px 8px;text-align:left;vertical-align:top}.lst input{min-width:150px}
#out{margin:18px 0}.big{font-size:20px;background:#fff;border-left:6px solid #0f6b5c;padding:12px 14px;border-radius:6px}.big .n{font-size:34px;font-weight:700;color:#0f6b5c}
.warn{background:#fff4e5;border-left:6px solid #d9822b;padding:10px 12px;border-radius:6px}.bad{color:#b3261e}.hint,.fine{color:#5b6875;font-size:14px}
.fixes li{margin:6px 0}.fixes small{color:#5b6875}.pay{background:#eef6f4;padding:10px 12px;border-radius:6px}.pro{background:#fff;border:2px solid #0f6b5c;border-radius:8px;padding:4px 16px 12px;margin:20px 0}
.file input{width:auto}code{background:#eef1f4;padding:0 4px;border-radius:4px}
@media print{.top,form,.fine,.pay,#proLocked,.pro>p,.pro h2{display:none}.pro{border:0}body{background:#fff}details{display:block}details>*{display:block}}
