*{box-sizing:border-box}body{margin:0;background:#f4f7fb;color:#172033;font-family:system-ui,-apple-system,"Noto Sans KR",sans-serif}.pro{max-width:1120px;margin:0 auto;padding:28px 18px 80px}.pro>a{color:#3158c8;text-decoration:none}h1{font-size:clamp(26px,4vw,42px);margin:24px 0 10px}.lead{color:#536078;font-size:17px;line-height:1.65}.card{background:#fff;border:1px solid #dfe5ef;border-radius:18px;padding:22px;margin-top:20px;box-shadow:0 8px 26px rgba(32,47,78,.06)}label{display:block;font-weight:700;margin:12px 0}input,select,textarea{width:100%;border:1px solid #cbd4e3;border-radius:10px;padding:11px 12px;font:inherit;margin-top:7px}textarea{min-height:150px;resize:vertical}.row{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.panel{border:1px solid #e0e6ef;border-radius:12px;padding:14px;background:#fafcff}button{border:1px solid #bcc7d8;background:#fff;border-radius:10px;padding:11px 15px;font-weight:750;cursor:pointer}.primary{background:#2458e6;color:#fff;border-color:#2458e6}.warn{background:#fff6dd;border:1px solid #ecd486;padding:13px;border-radius:12px}.good{color:#08794e;font-weight:700}.bad{color:#bc283e;font-weight:700}pre{white-space:pre-wrap;word-break:break-word;background:#101726;color:#e8eefc;padding:15px;border-radius:12px;max-height:420px;overflow:auto}table{width:100%;border-collapse:collapse;margin-top:15px}th,td{border-bottom:1px solid #e2e7ef;text-align:left;padding:9px;vertical-align:top}.tag{display:inline-block;background:#edf2ff;color:#244fae;border-radius:999px;padding:4px 9px;margin:2px;font-size:12px}.drop{border:2px dashed #aab8ce;border-radius:14px;padding:22px;text-align:center;background:#fafcff}.result{margin-top:16px}.status{font-weight:800;margin-top:10px}@media(max-width:600px){.pro{padding:18px 12px 60px}.card{padding:15px}.row button{flex:1 1 44%}}