:root{font-family:system-ui,Arial,sans-serif;color:#17365a;background:#f4f8fc}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;justify-content:space-between;padding:16px max(16px,calc((100vw - 1100px)/2));background:#fff;border-bottom:1px solid #dbe6f1}header strong{font-size:21px;color:#0f5795}header strong span{color:#122d48}nav{display:flex;gap:12px;align-items:center;flex-wrap:wrap}nav a,nav button{background:none;color:#22537d;text-decoration:none;border:0;font:inherit;cursor:pointer}main{max-width:1100px;margin:40px auto;padding:0 16px;min-height:70vh}h1{font-size:34px;margin:0}.sub{color:#637b92;margin-bottom:25px}.panel{background:white;border:1px solid #dae7f3;border-radius:20px;padding:26px;box-shadow:0 12px 34px #153f6a0a;max-width:740px}h2{margin-top:0}form{display:grid;gap:16px}label{display:grid;gap:7px;font-weight:600}input,select{font:inherit;border:1px solid #b7cddd;border-radius:10px;padding:12px;color:#17365a;background:white}button{cursor:pointer}form button,.row button,.actions button{background:#1369b2;color:white;border:0;padding:11px 16px;border-radius:10px;font-weight:700}button:disabled{opacity:.5;cursor:wait}output{display:block;margin-top:17px;white-space:pre-wrap}.row{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap}.card{border:1px solid #d9e5f0;border-radius:14px;padding:15px;margin:12px 0}.card strong{font-size:22px;color:#0b67ab}.card small{color:#536d84;display:block;margin:5px 0}.actions{display:flex;gap:7px;flex-wrap:wrap}.actions button{font-size:12px;padding:8px 10px}footer{text-align:center;color:#70879b;padding:28px}@media(max-width:620px){header{display:block}nav{margin-top:12px}main{margin-top:25px}.panel{padding:18px}}
textarea{font:inherit;border:1px solid #b7cddd;border-radius:10px;padding:12px;color:#17365a}dialog{border:1px solid #dae7f3;border-radius:18px;padding:24px;width:min(95vw,600px)}dialog::backdrop{background:#001c36a6}.tools{margin-top:28px;border-top:1px solid #dbe6f1;padding-top:18px}.tools input{flex:1}.tools-result{white-space:pre-wrap}
