/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
.launch-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at center,rgba(14,14,26,0.95) 0%,rgba(0,0,0,0.98) 100%);display:flex;justify-content:center;align-items:center;z-index:1000;transition:all 0.5s cubic-bezier(0.4,0,0.2,1);border-radius:1.5rem;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.1);}.launch-overlay.hidden{opacity:0;pointer-events:none;transform:scale(0.95);}.launch-button{font-size:1.2rem;padding:1rem 2rem;border:2px solid var(--current-color,var(--color-accent));background:rgba(255,255,255,0.1);color:var(--color-text);cursor:pointer;border-radius:0.5rem;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);font-weight:bold;font-family:'Arial',sans-serif;backdrop-filter:blur(4px);box-shadow:0 4px 15px rgba(0,0,0,0.3);position:relative;overflow:hidden;}.launch-button::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);transition:left 0.6s ease;}.launch-button:hover{background:rgba(255,255,255,0.2);border-color:var(--color-accent);transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,0.4);}.launch-button:hover::before{left:100%;}.launch-button:active{transform:translateY(0);box-shadow:0 4px 15px rgba(0,0,0,0.3);}.launch-overlay .launch-button{border-color:var(--current-color);color:var(--current-color);}@keyframes pulse{0%,100%{box-shadow:0 4px 15px rgba(0,0,0,0.3);}50%{box-shadow:0 4px 25px var(--current-color,var(--color-accent));}}.launch-button{animation:pulse 2s ease-in-out infinite;}.launch-button:hover{animation:none;}.animation-container:has(.launch-overlay:not(.hidden)) .electron,.animation-container:has(.launch-overlay:not(.hidden)) .nucleus{animation-play-state:paused !important;-webkit-animation-play-state:paused !important;}.animation-container:has(.launch-overlay[style*="display: block"],.launch-overlay[style*="opacity: 1"]) .electron,.animation-container:has(.launch-overlay[style*="display: block"],.launch-overlay[style*="opacity: 1"]) .nucleus{animation-play-state:paused !important;-webkit-animation-play-state:paused !important;}.launch-overlay:not(.hidden) ~ *{pointer-events:none;opacity:0.3;transition:opacity 0.3s ease;}.animation-active *{pointer-events:auto !important;opacity:1 !important;}@media (max-width:768px){.launch-button{font-size:1rem;padding:0.8rem 1.5rem;}}
.mol-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}canvas.animson{position:relative !important;top:auto    !important;left:auto   !important;z-index:auto !important;width:100%  !important;min-height:unset !important;}#cvs-mol{width:100%;border-radius:8px;display:block;}.mol-legend{display:flex;justify-content:space-between;margin-top:6px;font-size:0.7rem;color:rgba(255,255,255,0.4);flex-wrap:wrap;gap:4px;}.mol-legend .comp{color:#f0904a;}.mol-legend .rar{color:#5090d0;}.db-scene{display:flex;gap:16px;margin-top:8px;}.db-gauge-col{display:flex;flex-direction:column;align-items:center;gap:4px;}.db-unit{color:rgba(255,255,255,0.4);font-size:0.68rem;}.db-gauge-track{width:26px;height:280px;background:rgba(255,255,255,0.05);border-radius:13px;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,0.08);}.db-gauge-fill{position:absolute;bottom:0;width:100%;height:100%;transform:scaleY(0);transform-origin:bottom;background:linear-gradient(to top,#4caf50  0%,#8bc34a  20%,#ffeb3b  40%,#ff9800  58%,#f44336  76%,#9c0000  100%);transition:transform 0.65s cubic-bezier(.4,0,.2,1);}.db-indicator{position:absolute;right:-3px;width:32px;height:2px;background:#fff;border-radius:2px;transition:bottom 0.65s cubic-bezier(.4,0,.2,1);box-shadow:0 0 8px rgba(255,255,255,0.8);bottom:0;}.db-danger-line{position:absolute;left:0;right:0;height:1px;bottom:60.7%;background:rgba(255,120,50,0.7);}.db-danger-line::after{content:'85 dB';position:absolute;right:3px;top:-10px;font-size:0.55rem;color:rgba(255,150,80,0.85);white-space:nowrap;}.db-right{flex:1;display:flex;flex-direction:column;gap:8px;}.db-display{background:rgba(255,255,255,0.04);border-radius:10px;padding:12px;text-align:center;border:1px solid rgba(255,255,255,0.07);}.db-value{display:block;font-size:2rem;font-weight:700;color:#88c0d0;transition:color 0.4s;}.db-sublabel{display:block;font-size:0.75rem;color:rgba(255,255,255,0.45);margin-top:3px;min-height:1em;}.db-warning{font-size:0.72rem;color:#ff9800;min-height:1em;text-align:center;transition:opacity 0.3s;}.db-examples-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;}.db-ex-btn{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:8px;padding:6px 8px;cursor:pointer;font-size:0.7rem;color:rgba(255,255,255,0.65);font-family:inherit;text-align:left;transition:all 0.2s;display:flex;align-items:center;gap:5px;}.db-ex-btn:hover{background:rgba(136,192,208,0.08);border-color:rgba(136,192,208,0.25);}.db-ex-btn.active{border-color:var(--ex-color,#88c0d0);background:rgba(136,192,208,0.07);color:#fff;}.db-ex-btn .db-ex-db{font-weight:600;font-size:0.62rem;opacity:0.65;display:block;}.action-button.muted{border-color:rgba(255,100,100,0.5);color:rgba(255,150,150,0.8);}.freq-scene{width:70%;left:13%;position:relative;}.freq-display{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px;}.freq-value{display:block;font-size:2.4rem;font-weight:500;color:#88c0d0;transition:color 0.3s;line-height:1;}.freq-domain-badge{display:inline-block;font-size:0.8rem;padding:3px 10px;border-radius:20px;border:1px solid rgba(136,192,208,0.4);background:rgba(136,192,208,0.08);color:#88c0d0;margin-top:5px;transition:all 0.3s;}.freq-warn{font-size:0.75rem;color:#ff9800;text-align:right;max-width:200px;min-height:1em;}.freq-wrap{position:relative;margin-bottom:6px;user-select:none;}.freq-bar{display:flex;height:44px;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,0.08);}.freq-zone{display:flex;align-items:center;justify-content:center;}.freq-zone.infra{background:#1e3a6e;}.freq-zone.audible{background:#0f4a50;}.freq-zone.ultra{background:#2d1a5e;}.freq-zone-lbl{font-size:0.72rem;font-weight:500;white-space:nowrap;pointer-events:none;}.freq-zone.infra   .freq-zone-lbl{color:#85b7eb;}.freq-zone.audible .freq-zone-lbl{color:#5dcaa5;}.freq-zone.ultra   .freq-zone-lbl{color:#afa9ec;font-size:0.64rem;}.freq-cursor{position:absolute;top:0;width:2px;height:44px;background:rgba(255,255,255,0.85);transform:translateX(-50%);pointer-events:none;z-index:3;border-radius:1px;}.freq-slider{position:absolute;top:0;left:0;width:100%;height:44px;margin:0;padding:0;opacity:0;cursor:pointer;z-index:4;}.freq-labels{position:relative;height:18px;margin-bottom:14px;}.freq-lbl{position:absolute;font-size:0.68rem;color:rgba(255,255,255,0.4);transform:translateX(-50%);white-space:nowrap;}.freq-lbl:first-child{transform:none;}.freq-lbl:last-child{transform:translateX(-100%);}.freq-refs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px;}.freq-ref{background:transparent;border:1px solid rgba(255,255,255,0.12);border-radius:20px;padding:4px 11px;font-size:0.72rem;color:rgba(255,255,255,0.5);cursor:pointer;transition:all 0.2s;font-family:inherit;}.freq-ref:hover{background:rgba(136,192,208,0.1);border-color:rgba(136,192,208,0.3);color:#88c0d0;}.freq-controls{display:flex;align-items:center;gap:12px;}.freq-note{font-size:0.7rem;color:rgba(255,255,255,0.3);}@media (max-width:600px){.db-scene{flex-direction:row;}.db-gauge-track{height:220px;}.db-examples-grid{grid-template-columns:1fr;}.mol-legend{flex-direction:column;align-items:flex-start;}.freq-display{flex-direction:column;gap:6px;align-items:flex-start;}.freq-warn{text-align:left;max-width:100%;}.freq-zone-lbl{font-size:0.62rem;}.freq-refs{gap:4px;}}
