:root{--purple:#6f3ca8;--purple2:#51277d;--bg:#f4f0f8;--card:#fff;--text:#172033;--muted:#637083;--line:#dce1ea;--ok:#087a42;--warn:#a05a00}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
.top{background:linear-gradient(135deg,var(--purple2),var(--purple));color:#fff;padding:22px max(20px,calc((100% - 1100px)/2));display:flex;align-items:center;justify-content:space-between}
h1{margin:0;font-size:26px}.top p{margin:5px 0 0;opacity:.9}.badge{background:#fff;color:var(--purple2);font-weight:800;padding:8px 12px;border-radius:20px}
main{max-width:1100px;margin:24px auto;padding:0 16px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:18px;box-shadow:0 3px 14px #00000009}
h2{margin:0 0 15px;font-size:18px}.drop{border:2px dashed #b7a5ca;border-radius:12px;padding:30px;text-align:center;background:#fbf9fd}
.drop input{display:none}.drop label{display:inline-block;background:var(--purple);color:white;padding:11px 18px;border-radius:9px;font-weight:700;cursor:pointer;margin-right:10px}.drop span{color:var(--muted)}
.actions{display:flex;gap:10px;margin-top:14px}button{border:0;border-radius:8px;padding:11px 17px;background:var(--purple);color:white;font-weight:700;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.secondary{background:#eef0f5;color:#253047}
#preview{display:none;max-width:100%;margin-top:18px;border-radius:8px;border:1px solid var(--line)}
.grid{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}.metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.metrics div{border:1px solid var(--line);padding:10px;border-radius:9px}.metrics b,.metrics span{display:block}.metrics b{font-size:12px;color:var(--muted);margin-bottom:4px}.metrics span{font-size:16px;font-weight:750}
.hint{font-size:13px;color:var(--muted);line-height:1.5}.diagnostic{line-height:1.65;min-height:120px}.ok{color:var(--ok)}.warn{color:var(--warn)}
.result-head{display:flex;justify-content:space-between;align-items:center}textarea{width:100%;min-height:190px;border:1px solid var(--line);border-radius:10px;padding:14px;font-size:18px;line-height:1.55;resize:vertical}
.review{font-family:ui-monospace,Consolas,monospace;background:#f7f8fa;border-radius:9px;padding:13px;white-space:pre-wrap;min-height:70px}.small label{display:block;margin:12px 0}.small input{vertical-align:middle;width:240px;margin:0 10px}
footer{text-align:center;color:var(--muted);padding:15px 20px 30px;font-size:13px}
@media(max-width:750px){.grid{grid-template-columns:1fr}.drop label{display:block;margin:0 0 12px}.metrics{grid-template-columns:1fr}}
