*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#e5e5e5;-webkit-font-smoothing:antialiased;background:#0f0f0f}#root{min-height:100vh}*{box-sizing:border-box;margin:0;padding:0}body{color:#e5e5e5;background:#0f0f0f;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app{max-width:860px;margin:0 auto;padding:48px 24px 80px}.app-header{text-align:center;margin-bottom:40px}.app-header h1{letter-spacing:-.5px;margin-bottom:8px;font-size:2.4rem;font-weight:700}.app-header p{color:#888;font-size:1rem}.input-row{gap:10px;margin-bottom:32px;display:flex}.input-row input{color:#e5e5e5;background:#1a1a1a;border:1px solid #2e2e2e;border-radius:8px;outline:none;flex:1;padding:12px 16px;font-size:.95rem;transition:border-color .2s}.input-row input:focus{border-color:#555}.input-row input::placeholder{color:#555}.input-row button{color:#0f0f0f;cursor:pointer;white-space:nowrap;background:#e5e5e5;border:none;border-radius:8px;padding:12px 22px;font-size:.95rem;font-weight:600;transition:background .2s}.input-row button:hover:not(:disabled){background:#fff}.input-row button:disabled{opacity:.4;cursor:not-allowed}.loading{text-align:center;color:#888;padding:48px 0}.spinner{border:3px solid #2e2e2e;border-top-color:#e5e5e5;border-radius:50%;width:36px;height:36px;margin:0 auto 16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-box{color:#f87171;background:#2a1515;border:1px solid #5c2020;border-radius:8px;padding:14px 18px;font-size:.9rem}.results{animation:.3s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.scorecard-header{background:#1a1a1a;border:1px solid #2e2e2e;border-radius:12px;align-items:center;gap:24px;margin-bottom:20px;padding:28px 32px;display:flex}.grade{letter-spacing:-2px;font-size:5rem;font-weight:800;line-height:1}.score-meta{flex-direction:column;gap:4px;display:flex}.score-line{align-items:baseline;gap:2px;display:flex}.score-number{font-size:2.4rem;font-weight:700;line-height:1}.score-denom{color:#666;font-size:1.2rem}.repo-label{color:#888;margin-top:2px;font-size:.9rem}.pass-count{color:#555;font-size:.85rem}.summary{color:#bbb;background:#1a1a1a;border:1px solid #2e2e2e;border-radius:10px;margin-bottom:28px;padding:18px 22px;font-size:.92rem;line-height:1.6}.checks-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=600px){.checks-grid{grid-template-columns:1fr}}.check-card{background:#1a1a1a;border-left:3px solid #0000;border-radius:10px;padding:16px 18px}.check-card.pass{border-left-color:#22c55e}.check-card.fail{border-left-color:#ef4444}.check-top{align-items:center;gap:8px;margin-bottom:8px;display:flex}.check-badge{font-size:.8rem;font-weight:700}.check-card.pass .check-badge{color:#22c55e}.check-card.fail .check-badge{color:#ef4444}.check-name{color:#ddd;flex:1;font-size:.88rem;font-weight:600}.check-score{font-size:.82rem;font-weight:700}.check-finding{color:#888;font-size:.82rem;line-height:1.5}.check-rec{color:#f59e0b;margin-top:6px;font-size:.8rem;line-height:1.5}.standards-section{border-top:1px solid #2e2e2e;margin-top:56px;padding-top:32px}.standards-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.standards-header h2{color:#e5e5e5;margin-bottom:4px;font-size:1.1rem;font-weight:600}.standards-header p{color:#666;max-width:480px;font-size:.85rem;line-height:1.5}.upload-btn{color:#bbb;cursor:pointer;white-space:nowrap;background:#1a1a1a;border:1px solid #2e2e2e;border-radius:8px;padding:10px 16px;font-size:.88rem;transition:border-color .2s,color .2s}.upload-btn:hover{color:#e5e5e5;border-color:#555}.doc-list{flex-direction:column;gap:8px;list-style:none;display:flex}.doc-list li{color:#bbb;background:#1a1a1a;border:1px solid #2e2e2e;border-radius:8px;align-items:center;gap:8px;padding:10px 14px;font-size:.88rem;display:flex}.doc-icon{font-size:.9rem}.doc-badge{color:#22c55e;letter-spacing:.3px;background:#14301f;border-radius:999px;margin-left:auto;padding:2px 8px;font-size:.72rem;font-weight:600}.doc-empty{color:#444;font-size:.85rem}.app-footer{text-align:center;color:#444;margin-top:64px;padding-bottom:16px;font-size:.8rem}
