*{box-sizing:border-box}
body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:#eef2f6;color:#1b2a3a;padding:clamp(8px,2vw,24px)}
.w{max-width:900px;margin:auto;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 6px 24px rgba(0,0,0,.12)}
header{background:#0b2a4a;color:#fff;text-align:center;padding:22px 12px 20px;border-bottom:6px solid #1f5fa8}
.lg{width:104px;height:104px;margin:0 auto 12px;background:#fff;border-radius:22px;padding:8px;box-shadow:0 4px 14px rgba(0,0,0,.35)}
.lg img{width:100%;height:100%;object-fit:contain;display:block}
h1{margin:0 0 6px;font-size:clamp(20px,5vw,28px);letter-spacing:.4px}
.by{font-size:clamp(12px,3vw,15px)}header a{color:#4db3ff}
main{padding:clamp(14px,3vw,24px)}
label{display:block;font-weight:600;font-size:14px;margin:14px 0 5px}
select,textarea{width:100%;padding:11px;font-size:16px;border:1px solid #cfd8e3;border-radius:8px;font-family:inherit;background:#fff}
textarea{resize:vertical;min-height:130px}
select:focus,textarea:focus{outline:2px solid #1f5fa8;border-color:#1f5fa8}
.g{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:0 14px}
.hint{background:#f4f8fb;border-left:4px solid #1f5fa8;border-radius:4px;padding:9px 12px;margin-top:12px;font-size:14px;color:#33475b;line-height:1.5}
.r{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
button{padding:13px 18px;font-size:16px;font-weight:600;color:#fff;border:0;border-radius:8px;cursor:pointer;background:#1b5e20;font-family:inherit}
.r .m{flex:1}.s2{background:#546e7a}
.res{margin-top:18px;background:#f8fafc;border:1px solid #e0e6ed;border-radius:8px;padding:16px;line-height:1.7;overflow-wrap:anywhere}
.res h3{margin:0 0 4px;color:#1b5e20}.res h4{margin:14px 0 4px;color:#0b2a4a}.res ol{padding-left:22px}
.ans{background:#e8f5e9;border-left:5px solid #1b5e20;padding:10px 14px;border-radius:4px;font-weight:600}
.note{color:#33475b;margin-top:10px}
.err{margin-top:14px;background:#fdecea;border-left:5px solid #c62828;padding:10px 14px;color:#7f1d1d;border-radius:4px}
footer{text-align:center;font-size:12px;color:#456;padding:14px 12px 18px}footer a{color:#1b5e20}