body{margin:0;background:#f5f7fb;color:#172033;font-family:Arial,"Noto Sans KR",sans-serif}.pro{max-width:1120px;margin:auto;padding:28px 18px 70px}.pro a{color:#1769e0}.pro h1{font-size:30px;margin:18px 0 8px}.lead{color:#526076}.card{background:#fff;border:1px solid #dfe5ef;border-radius:18px;padding:20px;margin-top:18px;box-shadow:0 8px 24px rgba(26,47,82,.06)}.drop{display:block;border:2px dashed #aebbd0;border-radius:16px;padding:28px;text-align:center;font-weight:700}.drop input{display:block;margin:14px auto 0}.row{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.row>*{min-height:42px}.primary,button{border:0;border-radius:10px;padding:11px 16px;background:#e9eef7;color:#172033;font-weight:700;cursor:pointer}.primary{background:#1769e0;color:#fff}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:16px}.panel{border:1px solid #e1e6ef;border-radius:12px;padding:14px;background:#fafcff}.warn{background:#fff7df;border:1px solid #ead394;border-radius:12px;padding:13px}.good{color:#08783d}.bad{color:#ba2937}pre{white-space:pre-wrap;max-height:420px;overflow:auto;background:#111827;color:#eff6ff;padding:14px;border-radius:12px}table{border-collapse:collapse;width:100%}th,td{border:1px solid #dfe5ef;padding:8px;text-align:left}input,select,textarea{border:1px solid #bdc8d8;border-radius:9px;padding:9px;background:#fff}video,canvas{max-width:100%;border-radius:14px;background:#111}.status{font-weight:700;margin-top:12px}.hidden{display:none}@media(max-width:640px){.pro h1{font-size:25px}.row>*{flex:1 1 45%}}