:root{--bg-color:#f4f6f8;--text-color:#333;--card-bg:#fff;--border-color:#ccc;--accent-color:#3498db;--btn-text:#fff}
body.dark{--bg-color:#121212;--text-color:#e0e0e0;--card-bg:#1e1e1e;--border-color:#444;--accent-color:#1e90ff;--btn-text:#fff}
body{font-family:'Segoe UI',sans-serif;margin:0;padding:20px;background:var(--bg-color);color:var(--text-color);transition:background 0.3s,color 0.3s}
h2{text-align:center;margin-bottom:20px}.viewer-container{max-width:1000px;margin:auto;background:var(--card-bg);border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,0.1);padding:20px;transition:background 0.3s}.controls{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:20px}.controls input[type="file"],.controls input[type="url"],.controls input[type="number"],.controls button{padding:10px;border:1px solid var(--border-color);border-radius:8px;font-size:14px;background:var(--card-bg);color:var(--text-color);transition:background 0.3s,color 0.3s}.controls button{background-color:var(--accent-color);color:var(--btn-text);border:none;cursor:pointer}.controls button:hover:not(:disabled){opacity:0.9}.controls button:disabled{background:#999;cursor:not-allowed}
#page-info{font-weight:bold;padding:8px}
#pdf-container{display:flex;flex-direction:column;gap:20px;overflow-y:auto}
canvas{margin:auto;border:1px solid var(--border-color);border-radius:10px;background:white}.theme-toggle{padding:10px 15px;font-size:13px;background:var(--accent-color);color:var(--btn-text);border:none;border-radius:8px;cursor:pointer;transition:background 0.3s}
@media(max-width:600px){.controls{flex-direction:column;align-items:stretch}}
