.dll-viewer{--dv-border:#d9dee8;--dv-bg:#fff;--dv-soft:#f6f8fb;--dv-text:#172033;--dv-muted:#667085;--dv-accent:#2457e6;max-width:980px;margin:28px auto;font-family:inherit;color:var(--dv-text)}
.dll-viewer *{box-sizing:border-box}.dll-viewer__card{background:var(--dv-bg);border:1px solid var(--dv-border);border-radius:18px;padding:clamp(20px,4vw,38px);box-shadow:0 10px 35px rgba(16,24,40,.06)}
.dll-viewer__intro h2{margin:0 0 8px;font-size:clamp(28px,4vw,40px);line-height:1.1}.dll-viewer__intro p{margin:0 0 24px;color:var(--dv-muted);font-size:16px;line-height:1.6}
.dll-viewer__form{display:grid;gap:14px}.dll-viewer__dropzone{display:grid;place-items:center;gap:6px;min-height:190px;padding:28px;border:2px dashed #b9c2d2;border-radius:16px;background:var(--dv-soft);text-align:center;cursor:pointer;transition:.2s ease}.dll-viewer__dropzone:hover,.dll-viewer__dropzone.is-dragging{border-color:var(--dv-accent);background:#f1f5ff}.dll-viewer__dropzone input{position:absolute;opacity:0;pointer-events:none}.dll-viewer__drop-title{font-size:20px;font-weight:700}.dll-viewer__drop-help,.dll-viewer__filename,.dll-viewer__small{color:var(--dv-muted);font-size:13px}.dll-viewer__filename{font-weight:600;margin-top:8px;overflow-wrap:anywhere}
.dll-viewer__button{border:0;border-radius:12px;background:var(--dv-accent);color:#fff;padding:14px 20px;font:inherit;font-weight:700;cursor:pointer}.dll-viewer__button:hover{filter:brightness(.96)}.dll-viewer__button:disabled{opacity:.65;cursor:wait}
.dll-viewer__status{margin-top:18px;border-radius:12px;padding:13px 15px;font-weight:600}.dll-viewer__status--working{background:#eef4ff}.dll-viewer__status--success{background:#ecfdf3}.dll-viewer__status--error{background:#fef3f2;color:#b42318}
.dll-viewer__results{margin-top:22px;display:grid;gap:18px}.dll-viewer__section{border:1px solid var(--dv-border);border-radius:14px;padding:18px;background:#fff}.dll-viewer__section h3{margin:0 0 15px;font-size:20px}.dll-viewer__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dll-viewer__field{background:var(--dv-soft);border-radius:10px;padding:12px}.dll-viewer__field-label{color:var(--dv-muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.dll-viewer__field-value{margin-top:4px;font-weight:700;overflow-wrap:anywhere}.dll-viewer__hash{display:grid;gap:6px;margin-top:14px}.dll-viewer__hash code{display:block;padding:12px;background:#111827;color:#fff;border-radius:9px;overflow-wrap:anywhere;white-space:normal}
.dll-viewer__table-wrap{overflow-x:auto}.dll-viewer__table{width:100%;border-collapse:collapse;font-size:14px}.dll-viewer__table th,.dll-viewer__table td{padding:10px;border-bottom:1px solid var(--dv-border);text-align:left;vertical-align:top}.dll-viewer__table th{font-size:12px;text-transform:uppercase;color:var(--dv-muted)}.dll-viewer__list{columns:2;gap:28px;margin:0;padding-left:20px}.dll-viewer__list li{break-inside:avoid;margin:5px 0;overflow-wrap:anywhere}
.dll-viewer__notice{margin:14px 0 0;padding:14px 16px;border-radius:12px;background:#fff7e6;border:1px solid #f0d38a;font-size:14px;line-height:1.5}
@media(max-width:680px){.dll-viewer__grid{grid-template-columns:1fr}.dll-viewer__list{columns:1}.dll-viewer__card{border-radius:14px;padding:18px}.dll-viewer__dropzone{min-height:160px}}
