:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.container{max-width:800px;margin:0 auto;padding:2rem}h1{text-align:center;margin-bottom:.5rem}.subtitle{text-align:center;color:#888;margin-bottom:2rem}.form{background:#1a1a1a;padding:2rem;border-radius:8px;margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#fff}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid #333;border-radius:4px;background:#0a0a0a;color:#fff;font-size:1rem}.checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-group input[type=checkbox]{width:auto;cursor:pointer}.checkbox-group .help-text{margin:.5rem 0 0 1.75rem;font-size:.875rem;color:#888}button{width:100%;padding:1rem;background:#646cff;color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}button:hover:not(:disabled){background:#535bf2}button:disabled{opacity:.5;cursor:not-allowed}.error{padding:1rem;background:#ff000020;border:1px solid #ff0000;border-radius:4px;color:#ff6b6b;margin-bottom:1rem}.results{background:#1a1a1a;padding:2rem;border-radius:8px}.results h2{color:#fff;margin-top:0}.status{padding:1.5rem;border-radius:4px;margin-bottom:2rem;text-align:center;font-size:1.2rem;font-weight:600}.status.ready{background:#00ff0020;border:1px solid #00ff00;color:#4ade80}.status.not-ready{background:#ffaa0020;border:1px solid #ffaa00;color:#fbbf24}.issues h3{margin-bottom:1rem;color:#fff}.issue{background:#0a0a0a;padding:1rem;border-radius:4px;margin-bottom:1rem;border-left:4px solid #646cff;color:#fff}.issue.error{border-left-color:#ff6b6b}.issue.warning{border-left-color:#fbbf24}.issue-header{display:flex;justify-content:space-between;margin-bottom:.5rem}.category{text-transform:capitalize;font-weight:600;color:#fff}.severity{text-transform:uppercase;font-size:.75rem;padding:.25rem .5rem;border-radius:4px;background:#333;color:#fff}.message{margin:.5rem 0;color:#fff}.suggestion{margin:.5rem 0;color:#bbb;font-style:italic}.download-btn{margin-top:2rem;background:#10b981}.download-btn:hover:not(:disabled){background:#059669}.certificate{margin-top:2rem;padding:3rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;border:3px solid #fbbf24;box-shadow:0 10px 40px #0000004d;text-align:center;color:#fff}.certificate h2{font-size:2rem;margin-bottom:1rem;color:#fbbf24}.certificate .badge{font-size:4rem;margin:1rem 0}.certificate .platform{font-size:1.5rem;font-weight:700;text-transform:uppercase;margin:1rem 0;color:#fff}.certificate .message{font-size:1.1rem;margin:1.5rem 0;color:#f0f0f0}.certificate .timestamp{font-size:.9rem;color:#ddd;margin-top:2rem;font-style:italic}.issue-group{margin-bottom:2rem}.severity-header{margin:1.5rem 0 1rem;font-size:1.1rem;font-weight:600;padding:.5rem 0;border-bottom:2px solid #333}.severity-header.error{color:#ff6b6b;border-bottom-color:#ff6b6b}.severity-header.warning{color:#fbbf24;border-bottom-color:#fbbf24}.severity-header.info{color:#60a5fa;border-bottom-color:#60a5fa}.porting-section{margin-top:2rem;padding:2rem;background:#0a0a0a;border-radius:8px;border:2px dashed #646cff}.porting-section h3{margin-top:0;color:#fff}.porting-section p{color:#ccc;line-height:1.6}.porting-section .help-text{margin-top:1rem;font-size:.9rem;color:#888;text-align:center}.porting-section code{background:#1a1a1a;padding:.25rem .5rem;border-radius:3px;font-family:Courier New,monospace;color:#10b981}.option-group{margin:1.5rem 0;text-align:left}.option-group label{display:block;margin-bottom:.5rem;color:#fff;font-weight:600}.option-group select{width:100%;padding:.75rem;background:#1a1a1a;color:#fff;border:1px solid #333;border-radius:6px;font-size:.95rem;cursor:pointer}.option-group select:hover{border-color:#646cff}.option-group select:focus{outline:none;border-color:#646cff}.button-group{display:flex;gap:1rem;margin-top:2rem}.back-btn{flex:1;padding:.75rem 1.5rem;background:#333;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:background .2s}.back-btn:hover{background:#444}.issues-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem}.issues-header h3{margin:0;color:#fff;flex:1}.csv-btn{padding:.75rem 1.5rem;background:#10b981;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:background .2s;white-space:nowrap}.csv-btn:hover{background:#059669}.manual-note{color:#fbbf24;font-size:.9rem;margin-top:1rem;padding:.75rem;background:#fbbf241a;border-left:3px solid #fbbf24;border-radius:4px}.manual-note code{background:#1a1a1a;padding:.2rem .4rem;border-radius:3px;color:#10b981}.patch-instructions{margin-top:1.5rem;padding:1rem;background:#646cff1a;border:1px solid #646cff;border-radius:6px}.patch-instructions .help-text{margin:.5rem 0;color:#ccc;font-size:.9rem}.command-block{display:block;background:#1a1a1a;padding:.75rem;border-radius:4px;font-family:Courier New,monospace;color:#10b981;margin:.75rem 0;border:1px solid #333}
