/* @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;}}
.ion-test-sim{max-width:880px;margin:20px auto;padding:18px;background:rgba(255,255,255,0.03);border-radius:14px;position:relative;}.ion-grid{display:flex;gap:20px;align-items:flex-start;}.tube-wrapper{display:flex;flex-direction:column;align-items:center;width:90%;}#ionTestSim .test-tube{position:relative;width:60px;height:150px;margin:1em auto;border:2px solid #aaa;border-radius:0 0 30px 30px;overflow:hidden;background:rgba(255,255,255,0.1);border-top:transparent;}.tube-caption{margin-top:8px;font-size:0.85rem;color:#bfcbd6;}.solution{position:absolute;bottom:0;width:100%;height:60%;background:linear-gradient(180deg,rgba(170,220,255,0.9),rgba(120,190,240,0.95));transition:background 700ms ease,filter 500ms ease;}.precipitate{position:absolute;bottom:0;width:100%;height:22%;pointer-events:none;opacity:0;transition:opacity 300ms ease;}.controls{flex:1;display:flex;flex-direction:column;gap:10px;align-items:flex-end;}.ion-select{padding:6px 8px;border-radius:6px;font-size:0.95rem;background:rgba(95,45,30,0.6);color:#e6eef6;border:1px solid rgba(200,200,200,0.06);}.buttons-vertical{display:flex;flex-direction:column;gap:8px;margin-top:6px;align-items:stretch;width:180px;}.result{width:100%;text-align:center;color:#cfe8ff;font-size:1.2rem;margin-top:6px;min-height:1.5em;border:solid 2px var(--current-color);border-radius:25px;height:1.5vh;}.precipitate .blob{position:absolute;bottom:0;border-radius:50%;opacity:0.98;filter:blur(0.2px);transition:transform 400ms ease;box-shadow:0 2px 6px rgba(0,0,0,0.25),inset 0 1px 0 rgba(255,255,255,0.08);}@media (max-width:720px){.ion-grid{flex-direction:column;align-items:center;}.controls{align-items:center;width:100%;}.buttons-vertical{width:100%;}}
