*{margin:0;padding:0;box-sizing:border-box}body{font-family:'Arial',sans-serif;background:linear-gradient(135deg,#1e1e1e 0%,#2e2e2e 100%);color:white;min-height:100vh;padding:20px}.container{max-width:1200px;margin:0 auto}.header{text-align:center;margin-bottom:30px}.header h1{font-size:2.5em;color:#00ff41;margin-bottom:10px;text-shadow:0 0 20px rgba(0,255,65,0.3)}.header p{color:#888;font-size:1.1em}.control-panel{background:rgba(46,46,46,0.8);border-radius:15px;padding:25px;margin-bottom:25px;box-shadow:0 10px 30px rgba(0,0,0,0.3);border:1px solid rgba(0,255,65,0.2)}.controls-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;align-items:center}.status-section h3{color:#00ff41;margin-bottom:10px;font-size:1.2em}.status-text{color:#888;font-size:1.1em}.threat-section{text-align:center}.threat-level{font-size:2em;font-weight:bold;margin:10px 0;color:#00ff41;text-shadow:0 0 10px currentColor}.threat-bar{width:100%;height:15px;background:#1e1e1e;border-radius:10px;overflow:hidden;margin-top:10px;border:1px solid #333}.threat-fill{height:100%;width:0;background:#00ff41;border-radius:10px;transition:all .3s ease;box-shadow:0 0 15px currentColor}.button-section{text-align:right}.btn{padding:15px 25px;font-size:1.1em;font-weight:bold;border:0;border-radius:10px;cursor:pointer;margin:0 5px;transition:all .3s ease;box-shadow:0 5px 15px rgba(0,0,0,0.3)}.btn-primary{background:#00ff41;color:#000}.btn-primary:hover{background:#0c3;transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,255,65,0.4)}.btn-danger{background:#ff4141;color:white}.btn-danger:hover{background:#c33;transform:translateY(-2px)}.btn-secondary{background:#3e3e3e;color:white}.btn-secondary:hover{background:#4e4e4e;transform:translateY(-2px)}.visualization{background:rgba(46,46,46,0.8);border-radius:15px;padding:25px;margin-bottom:25px;border:1px solid rgba(0,255,65,0.2)}.viz-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.viz-panel{background:#1e1e1e;border-radius:10px;padding:15px;border:1px solid #333}.viz-title{color:#00ff41;font-size:1.1em;margin-bottom:10px;text-align:center}canvas{width:100%;height:200px;border-radius:5px}.frequency-display{background:#1e1e1e;border-radius:10px;padding:20px;border:1px solid #333;margin-top:15px}.freq-bars{display:flex;height:100px;align-items:end;gap:2px;margin-top:15px}.freq-bar{flex:1;background:#00ff41;border-radius:2px 2px 0 0;min-height:2px;opacity:.7;transition:all .1s ease}.log-panel{background:rgba(46,46,46,0.8);border-radius:15px;padding:25px;border:1px solid rgba(0,255,65,0.2)}.log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.log-content{background:#1e1e1e;border-radius:10px;padding:15px;height:300px;overflow-y:auto;font-family:'Courier New',monospace;font-size:.9em;border:1px solid #333}.log-entry{margin-bottom:8px;padding:5px;border-radius:3px}.log-info{color:#00ff41}.log-warning{color:#fa0}.log-error{color:#ff4141}.log-detection{color:#f0f;background:rgba(255,0,255,0.1);font-weight:bold}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-top:20px}.stat-card{background:#1e1e1e;border-radius:10px;padding:15px;text-align:center;border:1px solid #333}.stat-value{font-size:1.8em;font-weight:bold;color:#00ff41;display:block}.stat-label{color:#888;font-size:.9em;margin-top:5px}.permission-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.8);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#2e2e2e;border-radius:15px;padding:30px;max-width:500px;text-align:center;border:2px solid #00ff41;box-shadow:0 0 50px rgba(0,255,65,0.3)}.modal-content h2{color:#00ff41;margin-bottom:20px}.modal-content p{margin-bottom:20px;line-height:1.6}@media(max-width:768px){.controls-grid{grid-template-columns:1fr;gap:20px;text-align:center}.viz-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.header h1{font-size:2em}.button-section{text-align:center}}.pulse{animation:pulse 2s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.7}100%{opacity:1}}.hidden{display:none}.footer{background:rgba(46,46,46,0.6);border-radius:10px;padding:20px;margin-top:30px;text-align:center;border:1px solid rgba(0,255,65,0.1)}.copyright{color:#888;font-size:.9em;margin-bottom:10px}.copyright strong{color:#00ff41}.author-info{color:#666;font-size:.8em;font-style:italic}