form{max-width:100%;padding:1rem}input[type=url],textarea{width:100%;max-width:100%;box-sizing:border-box;margin-bottom:1rem}button{min-height:44px;min-width:44px;padding:.5rem 1rem;margin:.5rem}button:focus,input:focus,textarea:focus{outline:3px solid #4A90E2;outline-offset:2px}:focus-visible{outline:3px solid #4A90E2;outline-offset:2px}[aria-busy=true]{opacity:.7;cursor:wait}[aria-invalid=true]{border-color:#dc3545;border-width:2px}#message{margin:1rem 0;padding:.5rem;border-radius:4px}#hidden-tables{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}@media (min-width:768px){form{max-width:800px;margin:0 auto}}body{font-family:sans-serif;min-height:100vh;background-color:#f0f0f0;margin:0}.container{margin:0 auto;background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 8px rgba(0,0,0,.1);width:95%;max-width:600px}h1{text-align:center;margin-bottom:1.5rem}form{display:flex;flex-direction:column;gap:1rem}label{font-weight:700}input[type=url],textarea{padding:.75rem;border:1px solid #ccc;border-radius:4px;font-size:16px;min-height:44px}button{padding:.75rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .2s;min-height:44px}button:disabled{opacity:.5;cursor:not-allowed}form button[type=submit]{background-color:#007bff;color:#fff}form button[type=submit]:hover{background-color:#0056b3}#resetBtn{background-color:#dc3545;color:#fff}#resetBtn:hover{background-color:#c82333}#controls{display:flex;gap:.5rem}#message{margin-top:1rem;font-style:italic}#message[aria-live]{padding:.5rem;border-radius:4px}#message:not(:empty){background-color:#f8f9fa;border:1px solid #dee2e6}#downloadBtn,#hidden-tables{display:none}button:focus,input:focus{outline:2px solid #007bff;outline-offset:2px}button:focus-visible,input:focus-visible{outline:3px solid #0056b3;outline-offset:3px}button[aria-busy=true]{cursor:wait;opacity:.7}input[aria-invalid=true]{border-color:#dc3545;background-color:#fff8f8}@media (max-width:700px){body{background-color:#fff}.container{box-shadow:none;margin:.5rem;padding:1rem;width:auto}h1{font-size:1.5rem;margin:1rem 0}#controls{flex-direction:column;gap:.75rem}#controls button{width:100%}#message{margin-top:1.5rem}}