.ml-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);height:fit-content;color:var(--text);width:90%;max-width:480px;margin:auto;padding:1.5rem 1.75rem;position:fixed;inset:0}.ml-modal::backdrop{background:#000000a6}.ml-modal-inner{flex-direction:column;gap:1rem;display:flex}.ml-modal-title{margin:0;font-size:1rem;font-weight:600}.ml-modal-msg{color:var(--muted);margin:0;font-size:.85rem;line-height:1.55}.ml-modal-actions{flex-wrap:wrap;gap:.5rem;padding-top:.25rem;display:flex}.ml-page{max-width:960px;margin:0 auto;padding:3rem 2rem 6rem}.ml-header{margin-bottom:2rem}.ml-header h1{color:#fff;flex-wrap:wrap;align-items:baseline;gap:.6rem;font-size:2rem;font-weight:600;display:flex}.ml-header-sub{color:var(--muted);font-size:1rem;font-weight:400}.ml-header p{color:var(--muted);max-width:72ch;margin-top:.35rem;font-size:.88rem;line-height:1.6}.ml-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.25rem;overflow:hidden}.ml-card-header{border-bottom:1px solid var(--border);background:#ffffff05;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem 1.1rem;display:flex}.ml-card-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.63rem}.ml-card-body{padding:1rem 1.1rem}.ml-card-footer{border-top:1px solid var(--border);background:#ffffff03;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1.1rem;display:flex}.ml-input-toggle{border:none;gap:.25rem;min-inline-size:0;margin:0;padding:0;display:flex}.ml-tab{border:1px solid var(--border);color:var(--muted);cursor:pointer;transition:background var(--tr), color var(--tr);background:0 0;border-radius:4px;padding:.25rem .75rem;font-size:.78rem}.ml-tab:hover{color:var(--text);background:#ffffff0a}.ml-tab.active{background:var(--accent);border-color:var(--accent);color:#0e1014;font-weight:600}.ml-panel-hidden{display:none}.ml-textarea{width:100%;font-family:var(--mono);border:1px solid var(--border);border-radius:var(--radius);color:#a8c0e8;resize:vertical;box-sizing:border-box;transition:border-color var(--tr);background:#00000040;outline:none;padding:.65rem .8rem;font-size:.75rem;line-height:1.55}.ml-textarea:focus{border-color:var(--accent)}.ml-drop-zone{border:2px dashed var(--border);border-radius:var(--radius);cursor:pointer;text-align:center;min-height:140px;transition:border-color var(--tr), background var(--tr);flex-direction:column;justify-content:center;align-items:center;gap:.45rem;padding:1.5rem;display:flex}.ml-drop-zone:hover,.ml-drop-zone.ml-drag-over{border-color:var(--accent);background:#00d4aa0a}.ml-drop-icon{font-size:2rem}.ml-drop-text{color:var(--text);font-size:.88rem;font-weight:600}.ml-drop-meta{color:var(--muted);font-size:.75rem;line-height:1.5}.ml-file-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.ml-file-chosen{color:var(--muted);font-size:.78rem;font-family:var(--mono);margin:.5rem 0 0}.ml-error{border-radius:var(--radius);color:#e8a0a0;background:#1e0f0f;border:1px solid #e05c5c47;border-left:3px solid #e45c5c;margin-top:.75rem;padding:.65rem .85rem;font-size:.83rem}.ml-btn-primary{font-family:var(--mono);text-transform:uppercase;letter-spacing:.07em;cursor:pointer;border-radius:var(--radius);background:var(--accent);color:#0e1014;transition:opacity var(--tr);border:none;padding:.5em 1.4em;font-size:.78rem;font-weight:600}.ml-btn-primary:hover:not(:disabled){opacity:.85}.ml-btn-primary:disabled{opacity:.35;cursor:not-allowed}.ml-btn-ghost{font-family:var(--mono);text-transform:uppercase;letter-spacing:.07em;cursor:pointer;border-radius:var(--radius);color:var(--accent);transition:background var(--tr), border-color var(--tr);background:0 0;border:1px solid #00d4aa59;padding:.35em .9em;font-size:.7rem;font-weight:600}.ml-btn-ghost:hover{border-color:var(--accent);background:#00d4aa12}.ml-counter{color:var(--muted);font-size:.82rem}.ml-hidden{display:none!important}.ml-progress{background:var(--border);width:100%;height:6px;color:var(--accent);appearance:none;border:none;border-radius:3px;display:block}.ml-progress::-webkit-progress-bar{background:var(--border);border-radius:3px}.ml-progress::-webkit-progress-value{background:var(--accent);border-radius:3px;transition:width .3s}.ml-progress::-moz-progress-bar{background:var(--accent);border-radius:3px}.ml-progress-label{font-family:var(--mono);color:var(--muted);margin:.4rem 0 0;font-size:.78rem}.ml-summary{border-radius:var(--radius);margin-bottom:1rem;padding:1rem 1.25rem}.ml-summary strong{margin-bottom:.25rem;font-size:.95rem;display:block}.ml-summary p{color:var(--muted);margin:0;font-size:.83rem}.ml-summary-footer{border-top:1px solid #ffffff12;justify-content:flex-end;margin-top:.75rem;padding-top:.6rem;display:flex}.ml-summary-ok{border:1px solid #00d4aa33;border-left:3px solid var(--accent);background:#00d4aa0f}.ml-summary-warn{background:#f5a6230f;border:1px solid #f5a62338;border-left:3px solid #f5a623}.ml-summary-cancelled{background:#a8c0e80d;border:1px solid #a8c0e833;border-left:3px solid #a8c0e8}.ml-summary-cancelled.ml-summary-warn{border-left-color:#a8c0e8}.ml-result-card{margin-bottom:.5rem}.ml-result-header{cursor:pointer;text-align:left;width:100%;color:var(--text);transition:background var(--tr);background:0 0;border:none;border-bottom:1px solid #0000;align-items:flex-start;gap:.6rem;padding:.6rem 1rem;font-size:.82rem;display:flex}.ml-result-header:hover{background:#ffffff08}.ml-result-info{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.ml-result-dn{font-family:var(--mono);white-space:normal;word-break:break-word;color:var(--text);font-size:.75rem;line-height:1.45}.ml-dn-attr{color:#ffd166;font-weight:600}.ml-result-meta{font-family:var(--mono);color:var(--muted);font-size:.68rem;line-height:1.4}.ml-meta-label{color:var(--muted)}.ml-meta-serial{color:#a8c0e8}.ml-meta-date{color:var(--accent)}.ml-result-chevron{color:var(--muted);flex-shrink:0;margin-top:.1rem;font-size:1.1rem;transition:transform .2s}.ml-result-header.ml-expanded{border-bottom-color:var(--border)}.ml-result-header.ml-expanded .ml-result-chevron{transform:rotate(90deg)}.ml-result-badge{font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;border-radius:3px;flex-shrink:0;padding:.12rem .5rem;font-size:.63rem;font-weight:700}.ml-badge-fatal,.ml-badge-error{color:#e8a0a0;background:#1e0f0f;border:1px solid #e05c5c4d}.ml-badge-warn,.ml-badge-warning{color:#f5c56a;background:#1e1508;border:1px solid #f5a6234d}.ml-badge-info,.ml-badge-notice{color:#6ab0f5;background:#081525;border:1px solid #0099ff4d}.ml-result-body{flex-direction:column;gap:.75rem;padding:.85rem 1rem;display:flex}.ml-result-body[hidden]{display:none}.ml-pem-area{width:100%;font-family:var(--mono);border:1px solid var(--border);border-radius:var(--radius);color:#a8c0e8;resize:vertical;box-sizing:border-box;background:#00000040;outline:none;padding:.55rem .7rem;font-size:.7rem;line-height:1.5}.ml-findings{flex-direction:column;gap:.3rem;display:flex}.ml-finding{border:1px solid var(--border);background:#ffffff05;border-radius:4px;align-items:baseline;gap:.5rem;padding:.3rem .55rem;font-size:.8rem;display:flex}.ml-finding-fatal,.ml-finding-error{background:#e05c5c0f;border-color:#e05c5c2e}.ml-finding-warn,.ml-finding-warning{background:#f5a6230f;border-color:#f5a6232e}.ml-finding-sev{font-family:var(--mono);letter-spacing:.06em;color:var(--muted);flex-shrink:0;min-width:3.5rem;font-size:.6rem;font-weight:700}.ml-finding-fatal .ml-finding-sev,.ml-finding-error .ml-finding-sev{color:#e8a0a0}.ml-finding-warn .ml-finding-sev,.ml-finding-warning .ml-finding-sev{color:#f5c56a}.ml-finding-code{font-family:var(--mono);color:var(--muted);flex-shrink:0;font-size:.7rem}.ml-finding-text{color:var(--text);flex:1;line-height:1.45}.ml-actions{flex-wrap:wrap;gap:.4rem;display:flex}.ml-sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=600px){.ml-page{padding:1.75rem 1rem 4rem}.ml-header h1{gap:.4rem;font-size:1.5rem}.ml-card-footer{flex-direction:column;align-items:stretch}.ml-btn-primary{text-align:center;width:100%}.ml-result-dn{font-size:.7rem}.ml-result-meta{font-size:.63rem}.ml-actions{gap:.3rem}.ml-actions .ml-btn-ghost{padding:.3em .7em;font-size:.65rem}.ml-finding{flex-direction:column;gap:.2rem}.ml-finding-sev{min-width:unset}}
