.tooltip-background{fill:#fff;stroke:#ccc;stroke-width:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.tooltip-arrow{fill:#fff;stroke:#ccc;stroke-width:1}.tooltip-label{fill:#333;font-size:12px;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.tooltip-description{fill:#666;font-size:10px;font-weight:400;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}@media(hover:none)and (pointer:coarse){.tooltip-group{pointer-events:all!important}}.module-panel{--module-bg: #1a1a1a;--module-surface: #242424;--module-border: #333;--module-text: #e0e0e0;--module-text-dim: #AAA;--module-accent: #4CAF50;--module-accent-glow: rgba(76, 175, 80, .3);--module-danger: #e53935;width:224px;background:var(--module-bg);border:1px solid var(--module-border);border-radius:8px;box-shadow:0 4px 20px #00000080,0 0 1px #ffffff1a inset;font-family:SF Mono,Fira Code,JetBrains Mono,monospace;font-size:11px;color:var(--module-text);-webkit-user-select:none;user-select:none;overflow:hidden;transition:box-shadow .15s ease,transform .1s ease}.module-panel.is-dragging{box-shadow:0 8px 32px #0009,0 0 1px #ffffff26 inset,0 0 0 1px var(--module-accent);transform:scale(1.01)}.module-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:linear-gradient(180deg,#2a2a2a,#222);border-bottom:1px solid var(--module-border)}.module-header.is-draggable{cursor:grab}.module-header.is-draggable:active{cursor:grabbing}.module-panel.is-dragging .module-header{cursor:grabbing;background:linear-gradient(180deg,#2d2d2d,#252525)}.module-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;letter-spacing:.3px}.module-label{color:var(--module-accent);text-shadow:0 0 8px var(--module-accent-glow)}.module-arrow{color:var(--module-text-dim);font-size:10px;opacity:.7;transition:opacity .15s ease}.module-panel:hover .module-arrow{opacity:1}.module-target{color:var(--module-text)}.module-close{min-height:20px;padding:2px 8px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--module-border);color:var(--module-text-dim);font:inherit;font-size:11px;letter-spacing:.3px;cursor:pointer;border-radius:4px;transition:all .15s ease}.module-header-dot{width:10px;height:10px;margin-left:4px;border-radius:50%;background:#333;border:1px solid #555;flex:none}.module-close:hover{background:#ffffff1a;color:var(--module-text)}.module-close:active{transform:scale(.95)}.module-section{padding:10px 12px;border-bottom:1px solid var(--module-border)}.module-section:last-child{border-bottom:none}.module-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.module-row:last-child{margin-bottom:0}.module-section-label{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--module-text-dim)}.module-value{font-size:12px;font-weight:500;color:var(--module-accent);min-width:50px;text-align:right;font-variant-numeric:tabular-nums}.module-slider-container{position:relative}.module-slider{width:100%;height:6px;-webkit-appearance:none;appearance:none;background:var(--module-surface);border-radius:3px;outline:none;cursor:pointer}.module-slider::-webkit-slider-runnable-track{height:6px;background:linear-gradient(90deg,var(--module-accent) 0%,var(--module-accent) var(--progress, 50%),var(--module-surface) var(--progress, 50%),var(--module-surface) 100%);border-radius:3px}.module-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;background:linear-gradient(180deg,#fff,#ddd);border:2px solid var(--module-accent);border-radius:50%;margin-top:-4px;cursor:grab;box-shadow:0 1px 3px #0006,0 0 6px var(--module-accent-glow);transition:transform .1s ease,box-shadow .1s ease}.module-slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 2px 6px #00000080,0 0 10px var(--module-accent-glow)}.module-slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(.95)}.module-slider::-moz-range-track{height:6px;background:var(--module-surface);border-radius:3px}.module-slider::-moz-range-thumb{width:14px;height:14px;background:linear-gradient(180deg,#fff,#ddd);border:2px solid var(--module-accent);border-radius:50%;cursor:grab;box-shadow:0 1px 3px #0006,0 0 6px var(--module-accent-glow)}.module-slider::-moz-range-progress{height:6px;background:var(--module-accent);border-radius:3px 0 0 3px}.module-slider-bipolar::-webkit-slider-runnable-track{background:var(--module-surface)}.module-slider-bipolar::-moz-range-track{background:var(--module-surface)}.module-slider-bipolar::-moz-range-progress{background:transparent}@media(hover:none)and (pointer:coarse){.module-slider{height:44px;background:transparent;touch-action:none}.module-slider::-webkit-slider-runnable-track{height:8px;border-radius:4px}.module-slider::-webkit-slider-thumb{width:28px;height:28px;margin-top:-10px}.module-slider::-moz-range-track,.module-slider::-moz-range-progress{height:8px}.module-slider::-moz-range-thumb{width:28px;height:28px}}.module-slider-labels{display:flex;justify-content:space-between;margin-top:4px;font-size:9px;color:var(--module-text-dim)}.module-button-group{display:flex;gap:4px}.module-btn{flex:1;height:32px;display:flex;align-items:center;justify-content:center;background:var(--module-surface);border:1px solid var(--module-border);border-radius:4px;color:#ccc;font-family:inherit;font-size:10px;cursor:pointer;transition:all .15s ease}.module-btn:hover{background:#2d2d2d;color:var(--module-text);border-color:#444}.module-btn.active{background:linear-gradient(180deg,#2d2d2d,#252525);border-color:var(--module-accent);color:var(--module-accent);box-shadow:0 0 8px var(--module-accent-glow),0 0 2px var(--module-accent-glow) inset}.module-btn-symbol{font-size:14px;line-height:1}.module-footer{padding:10px 12px;background:linear-gradient(180deg,#1d1d1d,#1a1a1a);border-top:1px solid var(--module-border)}.module-danger-btn{width:100%;height:28px;background:transparent;border:1px solid var(--module-border);border-radius:4px;color:var(--module-text-dim);font-family:inherit;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.8px;cursor:pointer;transition:all .15s ease}.module-danger-btn:hover{background:#ffffff1a;color:var(--module-text);border-color:var(--module-text-dim)}.module-danger-btn:active{transform:scale(.98)}@keyframes module-panel-enter{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.module-panel{animation:module-panel-enter .2s ease-out}@keyframes waveform-draw{0%{stroke-dashoffset:200}to{stroke-dashoffset:0}}.module-waveform-line{fill:none;stroke:var(--module-accent);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 2px var(--module-accent-glow));stroke-dasharray:200;animation:waveform-draw .4s ease-out forwards}.module-waveform-preview{width:60px;height:24px;background:var(--module-surface);border:1px solid var(--module-border);border-radius:4px;overflow:hidden}.module-waveform-preview svg{width:100%;height:100%}@media(max-width:768px){.module-panel{position:fixed!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:calc(100vw - 32px)!important;max-width:320px;z-index:1001!important;animation:mobile-module-enter .3s ease-out}@keyframes mobile-module-enter{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.module-header.is-draggable{cursor:default}.module-close{min-height:32px;padding:4px 12px;font-size:12px}.module-btn{height:44px;font-size:12px}.module-slider{height:8px}.module-slider::-webkit-slider-thumb{width:20px;height:20px;margin-top:-6px}.module-slider::-moz-range-thumb{width:20px;height:20px}.module-danger-btn{height:40px;font-size:12px}}.module-panel-backdrop{display:none}@media(max-width:768px){.module-panel-backdrop{display:block;position:fixed;inset:0;background:#000000b3;z-index:1000;animation:fade-in .2s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}}.waveform-grid{display:flex;flex-direction:column;gap:4px}.waveform-row{display:flex;gap:4px}.waveform-icon-btn{flex:1;height:32px;display:flex;align-items:center;justify-content:center;padding:4px;background:var(--module-surface, #242424);border:1px solid var(--module-border, #333);border-radius:4px;cursor:pointer;transition:all .15s ease}.waveform-icon-btn:hover{background:#2d2d2d;border-color:#444}.waveform-icon-btn.active{background:linear-gradient(180deg,#2d2d2d,#252525);border-color:var(--module-accent, #fff);box-shadow:0 0 8px var(--module-accent-glow, rgba(255, 255, 255, .3)),0 0 2px var(--module-accent-glow, rgba(255, 255, 255, .3)) inset}.waveform-icon-btn svg{width:24px;height:16px}.waveform-icon-path{fill:none;stroke:#aaa;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:stroke .15s ease}.waveform-icon-btn:hover .waveform-icon-path{stroke:var(--module-text, #e0e0e0)}.waveform-icon-btn.active .waveform-icon-path{stroke:var(--module-accent, #fff);filter:drop-shadow(0 0 2px var(--module-accent-glow, rgba(255, 255, 255, .3)))}.clock-start-stop-btn{width:100%;height:36px;display:flex;align-items:center;justify-content:center;gap:6px;background:var(--module-surface, #242424);border:1px solid var(--module-border, #333);border-radius:4px;color:var(--module-text, #e0e0e0);font-family:inherit;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .15s ease}.clock-start-stop-btn:hover{background:#2d2d2d;border-color:#444}.clock-start-stop-btn.running{border-color:var(--module-accent, #fff);color:var(--module-accent, #fff)}.clock-start-stop-btn.running:hover{background:#ffffff1a}.clock-start-stop-btn.stopped{border-color:#666;color:#888}.clock-start-stop-btn.stopped:hover{border-color:#888;color:#aaa}.clock-btn-icon{width:18px;height:18px}.clock-start-stop-btn.running .clock-btn-icon{fill:var(--module-accent, #fff)}.clock-start-stop-btn.stopped .clock-btn-icon{fill:#888}.clock-pulse-indicator{display:flex;justify-content:center;align-items:center;padding:16px 0 8px}.clock-pulse-dot{width:24px;height:24px;border-radius:50%;background:#333;border:2px solid #555;transition:all .05s ease-out;box-shadow:0 0 #fff0}.clock-pulse-indicator.is-on .clock-pulse-dot{background:var(--module-accent, #fff);border-color:var(--module-accent, #fff);box-shadow:0 0 12px var(--module-accent-glow, rgba(255, 255, 255, .4)),0 0 24px var(--module-accent-glow, rgba(255, 255, 255, .2))}.clock-panel-instance{--module-accent: #FFFFFF;--module-accent-glow: rgba(255, 255, 255, .2)}
