*{box-sizing:border-box}body{color:#e5e5e5;background:#0a0a0a;max-width:1200px;margin:0 auto;padding:2rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}h1{color:#fff;margin-bottom:.5rem}.subtitle{color:#888;margin-bottom:2rem}.form-group{margin-bottom:1.5rem}label{display:block;color:#aaa;margin-bottom:.5rem;font-size:.875rem}input[type=text],input[type=number],textarea{color:#fff;background:#1a1a1a;border:1px solid #333;border-radius:.5rem;width:100%;padding:.75rem;font-size:1rem}input:focus,textarea:focus{outline:none;border-color:#666}textarea{resize:vertical;min-height:80px;font-family:monospace;font-size:.875rem}.file-input{text-align:center;cursor:pointer;border:2px dashed #333;border-radius:.5rem;padding:2rem;transition:border-color .2s}.file-input:hover{border-color:#555}.file-input.has-file{background:#1a2e1a;border-color:#4ade80}.file-input input{display:none}button{color:#000;cursor:pointer;background:#fff;border:none;border-radius:.5rem;padding:.75rem 2rem;transition:opacity .2s;font-size:1rem;font-weight:600}button:hover{opacity:.9}button:disabled{opacity:.5;cursor:not-allowed}.options{display:flex;flex-wrap:wrap;gap:1rem}.options .form-group{flex:1;min-width:150px}.result{background:#1a1a1a;border-radius:.5rem;margin-top:2rem;padding:1.5rem}.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1.5rem}.stat{background:#252525;border-radius:.5rem;padding:1rem}.stat-label{color:#888;text-transform:uppercase;font-size:.75rem}.stat-value{color:#fff;font-size:1.5rem;font-weight:600}.pages{margin-top:1.5rem}.page{background:#252525;border-radius:.5rem;margin-bottom:.5rem;padding:1rem}.page-header{display:flex;cursor:pointer;justify-content:space-between;align-items: center}.page-num{font-weight:600}.page-timing{color:#888;font-size:.875rem}.page-content{white-space:pre-wrap;overflow-y:auto;border-top:1px solid #333;max-height:300px;margin-top:1rem;padding-top:1rem;font-family:monospace;font-size:.875rem}.error{color:#f87171}.loading{display:flex;color:#888;align-items: center;gap:.5rem}.spinner{animation:spin 1s linear infinite;border:2px solid #333;border-top-color:#fff;border-radius:50%;width:1rem;height:1rem}@keyframes spin{to{transform:rotate(360deg)}}
