*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:#f8f9fa;color:#333;line-height:1.4}#app{max-width:1400px;margin:0 auto;padding:2rem}.header{background:white;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem}.header h1{color:#2c3e50;margin-bottom:1rem}.controls{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.file-input{display:none}.file-label{background:#3498db;color:#fff;padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:background-color .2s}.file-label:hover{background:#2980b9}.filter-input{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:14px}.filter-input:focus{outline:none;border-color:#3498db}.stats{color:#666;font-size:14px}.thread-container{background:white;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:1rem;overflow:hidden}.thread-header{padding:1rem;background:#34495e;color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;justify-content:space-between;align-items:center}.thread-header:hover{background:#2c3e50}.thread-title{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px}.toggle-indicator{transition:transform .2s}.toggle-indicator.expanded{transform:rotate(90deg)}.thread-content{padding:1rem;background:#f8f9fa;border-top:1px solid #e9ecef}.backtrace{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;line-height:1.3;white-space:pre;overflow-x:auto;background:white;padding:1rem;border-radius:4px;border:1px solid #e9ecef}.backtrace-line{margin:2px 0;padding:1px 0;cursor:default}.backtrace-line.has-section{cursor:pointer}.backtrace-line.has-section:hover{background-color:#f0f8ff}.collapse-indicator{color:#3498db;font-size:10px;margin-right:4px;font-weight:700;-webkit-user-select:none;user-select:none}.backtrace-line.section-collapsed .collapse-indicator{color:#95a5a6}.backtrace-line .indent{display:inline-block}.backtrace-line .sample-count{color:#e67e22;font-weight:700}.backtrace-line .function-name{color:#2c3e50}.backtrace-line .address{color:#7f8c8d}.no-threads{text-align:center;padding:3rem;color:#666}.loading{text-align:center;padding:2rem;color:#666}@media (max-width: 768px){#app{padding:1rem}.controls{flex-direction:column;align-items:stretch}.thread-header{padding:.75rem}.backtrace{font-size:11px}}
