*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif;background:#0b0d12;color:#e6e9ef}
header{padding:32px;text-align:center;background:linear-gradient(135deg,#6a5acd,#8a2be2 70%,#9b59b6);box-shadow:0 10px 30px rgba(0,0,0,.2)}
h1{margin:0;font-size:32px}
.muted{opacity:.75}
main{max-width:980px;margin:24px auto;padding:0 16px}
.panel{background:#121622;border:1px solid #1f2540;border-radius:16px;padding:16px 16px 8px;margin:16px 0;box-shadow:0 10px 30px rgba(0,0,0,.15)}
.panel h2{margin:0 0 12px 0}
.row{display:flex;gap:8px;flex-wrap:wrap}
input[type=password],input[type=text]{flex:1;min-width:220px;background:#0e1220;color:#e6e9ef;border:1px solid #243050;border-radius:10px;padding:10px 12px;outline:none}
button,.btn{background:#7c4dff;border:none;color:white;padding:10px 14px;border-radius:10px;cursor:pointer;transition:transform .05s ease,opacity .2s}
button:hover,.btn:hover{opacity:.9}button:active,.btn:active{transform:translateY(1px)}
.drop{border:2px dashed #39406b;border-radius:14px;padding:24px;text-align:center;background:#0e1220;cursor:pointer;user-select:none}
.drop.drag{background:#121832;border-color:#6a5acd}
.result{margin-top:12px;font-family:ui-monospace,Menlo,Consolas,monospace;word-break:break-all}
.table-wrap{max-height:440px;overflow:auto;border:1px solid #1f2540;border-radius:12px}
table{width:100%;border-collapse:collapse}
th,td{padding:10px;border-bottom:1px solid #1f2540}
td a{color:#9ad1ff;text-decoration:none}
.badge{background:#1b213a;padding:4px 8px;border-radius:8px}
footer{max-width:980px;margin:0 auto 40px;padding:0 16px;color:#8a92b2;text-align:center}
.action{display:inline-flex;gap:8px}
.copy{background:#28335a}
.danger{background:#d64040}
