:root{--bg:#0d1117;--surface:#161b22;--border:#30363d;--text:#e6edf3;--text-muted:#8b949e;--gold:#d4a72c;--green:#2d6a4f;--blue:#4a90d9;--red:#f85149;--radius:8px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;line-height:1.6}#app{max-width:1100px;margin:0 auto;padding:2rem 1.5rem}header{text-align:center;margin-bottom:2rem}header h1{color:var(--gold);margin-bottom:.25rem;font-size:2.5rem}.subtitle{color:var(--text-muted);font-size:1.1rem}.attribution{color:var(--text-muted);margin-top:.5rem;font-size:.85rem;font-style:italic}.status-banner{text-align:center;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);color:var(--text-muted);margin-bottom:2rem;padding:.6rem 1rem}.status-banner.ready{color:#58a6ff;border-color:#1f6feb}.status-banner.error{color:var(--red);border-color:var(--red)}#crypto-panels{grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem;display:grid}@media (width<=768px){#crypto-panels{grid-template-columns:1fr}}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.panel h2{color:var(--gold);margin-bottom:1rem;font-size:1.3rem}.field{margin-bottom:1rem}.field label{color:var(--text-muted);align-items:center;gap:.5rem;margin-bottom:.3rem;font-size:.85rem;display:flex}.password-field{gap:.5rem;display:flex}.password-field input{flex:1}input,textarea{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);border-radius:var(--radius);resize:vertical;padding:.5rem .75rem;font-family:SF Mono,Fira Code,monospace;font-size:.85rem}input:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}button:focus-visible,a:focus-visible,details>summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.primary-btn{background:var(--gold);color:#000;border-radius:var(--radius);cursor:pointer;border:none;width:100%;margin-bottom:1rem;padding:.6rem 1.5rem;font-size:.9rem;font-weight:600}.primary-btn:hover{opacity:.9}.primary-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn{border:1px solid var(--border);color:var(--text);border-radius:var(--radius);cursor:pointer;background:0 0;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:.4rem .6rem;font-size:.9rem;display:inline-flex}.toggle-group{gap:0;margin-left:auto;display:inline-flex}.fmt-btn{background:var(--bg);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;padding:.2rem .6rem;font-size:.75rem}.fmt-btn:first-child{border-radius:var(--radius) 0 0 var(--radius)}.fmt-btn:last-child{border-radius:0 var(--radius) var(--radius) 0}.fmt-btn.active{background:var(--gold);color:#000;border-color:var(--gold)}.badge{text-align:center;border-radius:var(--radius);margin-bottom:1rem;padding:.4rem;font-size:.85rem;font-weight:600}.badge.verified{color:#3fb950;background:#0d3320;border:1px solid #238636}.badge.failed{color:var(--red);background:#3d1215;border:1px solid #da3633}.badge.hidden{display:none}.info-box{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);padding:.75rem 1rem;font-size:.8rem}.info-box summary{cursor:pointer;font-weight:600}.info-box ul{margin-top:.5rem;padding-left:1.2rem}section{margin-bottom:2.5rem}section h2{color:var(--gold);border-bottom:1px solid var(--border);margin-bottom:1rem;padding-bottom:.5rem;font-size:1.4rem}#vis-container{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-height:200px;padding:1rem}.bench-note{color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem;padding:.75rem 1rem;font-size:.85rem}#bench-section .primary-btn{width:auto}.bench-controls{flex-wrap:wrap;gap:1rem;margin-bottom:1rem;display:flex}.bench-control{flex-direction:column;gap:.25rem;display:flex}.bench-control label{color:var(--text-muted);font-size:.8rem}.bench-control select{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);cursor:pointer;min-width:100px;padding:.4rem .6rem;font-family:SF Mono,Fira Code,monospace;font-size:.85rem}.bench-control select:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}.bench-control select:disabled{opacity:.4;cursor:not-allowed}#bench-progress{flex-direction:column;gap:.4rem;margin-bottom:1rem;display:flex}#bench-progress-text{color:var(--text-muted);font-family:monospace;font-size:.85rem}.bench-progress-bar{background:var(--border);border-radius:3px;height:6px;overflow:hidden}#bench-progress-fill{background:var(--gold);border-radius:3px;width:0%;height:100%;transition:width .2s}.bench-meta{color:var(--text-muted);margin-bottom:.75rem;font-size:.8rem;font-style:italic}.bench-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.75rem 1rem;display:flex}.bench-label{color:var(--text-muted)}.bench-sublabel{opacity:.7;font-size:.75rem;display:block}.bench-value{color:var(--gold);white-space:nowrap;margin-left:1rem;font-family:monospace;font-weight:700}.bench-callout{background:var(--surface);border-left:3px solid var(--gold);border-radius:0 var(--radius) var(--radius) 0;color:var(--text-muted);margin-top:1rem;padding:1rem 1.25rem;font-size:.9rem;font-style:italic}.hidden{display:none!important}.about-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=768px){.about-grid{grid-template-columns:1fr}}.about-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.about-card h3{color:var(--gold);margin-bottom:.75rem;font-size:1rem}.about-card p{color:var(--text-muted);font-size:.85rem}.about-card ul{color:var(--text-muted);padding-left:1.2rem;font-size:.85rem}.about-card li{margin-bottom:.5rem}.about-card a{color:var(--blue);text-decoration:none}.about-card a:hover{text-decoration:underline}footer{text-align:center;border-top:1px solid var(--border);color:var(--text-muted);padding:2rem 0 1rem;font-size:.85rem}footer a{color:var(--blue);text-decoration:none}.verse{margin-top:.5rem;font-size:.8rem}
