*{box-sizing:border-box;margin:0;padding:0}body{color:#c8cdd5;background:#0e1117;min-height:100vh;padding:32px 24px;font-family:DM Sans,Segoe UI,sans-serif}.wrap{max-width:640px;margin:0 auto}.dot{vertical-align:middle;background:#555;border-radius:50%;width:8px;height:8px;margin-right:10px;display:inline-block}.dot.on{background:#0bf;box-shadow:0 0 8px #0bf8}.mono{font-family:DM Mono,monospace}.tag{letter-spacing:2px;text-transform:uppercase;color:#6b7280;font-size:11px}h1{color:#e8eaed;letter-spacing:-.5px;margin:4px 0 6px;font-size:28px;font-weight:700}.sub{color:#6b7280;margin-bottom:28px;font-size:13px;line-height:1.5}.lever-row{background:#161b22;border:1px solid #21262d;border-radius:10px;align-items:center;gap:12px;margin-bottom:20px;padding:12px 16px;display:flex}.lever-row label{color:#8b949e;white-space:nowrap;font-size:13px}.lever-row input{color:#e8eaed;text-align:right;background:#0e1117;border:1px solid #30363d;border-radius:6px;outline:none;width:72px;padding:6px 10px;font-family:DM Mono,monospace;font-size:14px}.lever-row input:focus{border-color:#0bf}.lever-row span{color:#6b7280;font-size:13px}.dropzone{text-align:center;cursor:pointer;border:2px dashed #21262d;border-radius:12px;margin-bottom:24px;padding:36px 24px;transition:all .2s}.dropzone.over{background:#00bbff08;border-color:#0bf}.dropzone .arrow{opacity:.4;margin-bottom:8px;font-size:32px}.dropzone .info{color:#8b949e;font-size:14px}.err{color:#e87461;background:#e8746114;border:1px solid #e8746133;border-radius:8px;margin-bottom:24px;padding:12px 16px;font-size:13px;line-height:1.5}.results{flex-direction:column;gap:16px;display:none}.results.show{display:flex}.cards{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}.cards-2col{grid-template-columns:1fr 1fr}.card{background:#161b22;border:1px solid #21262d;border-radius:10px;padding:20px 16px}.card .label{color:#6b7280;letter-spacing:1px;text-transform:uppercase;margin-bottom:10px;font-family:DM Mono,monospace;font-size:11px}.card .val{color:#e8eaed;font-family:DM Mono,monospace;font-size:28px;font-weight:700;line-height:1}.card .unit{color:#6b7280;margin-top:4px;font-size:12px}.chart-box{background:#161b22;border:1px solid #21262d;border-radius:10px;padding:20px 16px}.chart-box .label{color:#6b7280;letter-spacing:1px;text-transform:uppercase;margin-bottom:12px;font-family:DM Mono,monospace;font-size:11px}.chart-range{color:#484f58;justify-content:space-between;margin-top:6px;font-family:DM Mono,monospace;font-size:11px;display:flex}.method{color:#484f58;padding:0 4px;font-size:11px;line-height:1.6}.method strong{color:#6b7280}.meta{color:#6b7280;letter-spacing:1px;font-family:DM Mono,monospace;font-size:11px}.export-btn{color:#0e1117;cursor:pointer;background:#0bf;border:none;border-radius:8px;width:100%;padding:12px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;transition:opacity .2s}.export-btn:hover{opacity:.85}.modal-overlay{z-index:100;background:#0009;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal-overlay.show{display:flex}.modal{background:#161b22;border:1px solid #30363d;border-radius:12px;width:360px;max-width:90vw;padding:28px 24px}.modal-title{color:#e8eaed;margin-bottom:20px;font-size:16px;font-weight:600}.modal-field{margin-bottom:14px}.modal-field label{color:#8b949e;letter-spacing:.5px;text-transform:uppercase;margin-bottom:5px;font-family:DM Mono,monospace;font-size:12px;display:block}.modal-field input{color:#e8eaed;box-sizing:border-box;background:#0e1117;border:1px solid #30363d;border-radius:6px;outline:none;width:100%;padding:8px 12px;font-family:DM Sans,sans-serif;font-size:14px}.modal-field input:focus{border-color:#0bf}.modal-field input[readonly]{color:#6b7280}.modal-actions{gap:10px;margin-top:20px;display:flex}.modal-cancel,.modal-confirm{cursor:pointer;border:none;border-radius:6px;flex:1;padding:10px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600}.modal-cancel{color:#8b949e;background:#21262d}.modal-cancel:hover{background:#30363d}.modal-confirm{color:#0e1117;background:#0bf}.modal-confirm:hover{opacity:.85}@media (width<=520px){.cards,.cards-2col{grid-template-columns:1fr}}
