/* @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;}}
.anim-wrap{background:rgba(255,255,255,0.05);border-radius:20px;padding:25px;margin:30px 0;backdrop-filter:blur(10px);}.anim-wrap h3{color:var(--color-accent,#88c0d0);font-family:Verdana,sans-serif;font-size:1.4rem;margin-bottom:8px;}.anim-subtitle{color:#aaa;font-size:0.88rem;margin-bottom:14px;}.anim-canvas{width:100%;border-radius:12px;display:block;}#anim-therm-canvas{height:220px;}#anim-circuit-canvas{height:260px;}#anim-densite-canvas{height:320px;}.anim-mat-grid{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:16px;}.anim-mat-btn{padding:8px 16px;border-radius:10px;border:1.5px solid rgba(136,192,208,0.3);background:rgba(255,255,255,0.05);color:var(--color-text,#e0e0e0);cursor:pointer;font-size:0.88rem;transition:background 0.25s,transform 0.2s,border-color 0.25s;text-align:center;}.anim-mat-btn .anim-icon{font-size:1.3rem;display:block;}.anim-mat-btn .anim-sublabel{font-size:0.75rem;color:#888;display:block;}.anim-mat-btn:hover{background:rgba(136,192,208,0.12);transform:translateY(-2px);}.anim-mat-btn.active,.anim-mat-btn.selected{border-color:var(--color-accent,#88c0d0);background:rgba(136,192,208,0.18);font-weight:bold;color:#fff;}.anim-mat-btn:disabled,.anim-mat-btn[disabled]{opacity:0.35;cursor:default;pointer-events:none;}.anim-info{margin-top:14px;padding:10px 45px;border-radius:10px;background:rgba(255,255,255,0.06);font-size:1.1rem;color:#ccc;min-height:38px;transition:background 0.3s,border-color 0.3s;text-align:center;}.anim-info strong{color:var(--color-accent,#88c0d0);}.anim-info.on{background:rgba(163,190,140,0.18);border:1px solid #a3be8c;color:#a3be8c;}.anim-info.off{background:rgba(208,135,112,0.15);border:1px solid #d08770;color:#d08770;}.anim-info .flotte{color:#a3be8c;font-weight:bold;}.anim-info .coule{color:#d08770;font-weight:bold;}.anim-btn{background:linear-gradient(135deg,var(--color-accent,#88c0d0) -100%,transparent 80%);padding:10px 22px;border-radius:10px;color:#fff;font-weight:bold;cursor:pointer;transition:filter 0.3s,transform 0.2s;font-size:0.9rem;border:1px solid var(--color-accent,#88c0d0);margin-top:14px;margin-right:8px;}.anim-btn:hover{filter:brightness(1.5);transform:translateY(-2px);}.anim-btn:active{transform:translateY(0);}.anim-reset-btn{background:rgba(220,50,50,0.8);border:1px solid #dc3545;color:#fff;padding:8px 16px;margin-top:14px;border-radius:8px;cursor:pointer;font-size:0.88rem;transition:background 0.3s,transform 0.2s;}.anim-reset-btn:hover{background:#dc3545;transform:scale(1.05);}.anim-legende{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px;font-size:0.82rem;color:#aaa;}.anim-legende span{display:flex;align-items:center;gap:5px;}.anim-dot{width:12px;height:12px;border-radius:50%;display:inline-block;flex-shrink:0;}.anim-legende-note{margin-top:10px;font-size:0.82rem;color:#888;font-style:italic;}.anim-layout{display:flex;gap:20px;flex-wrap:wrap;}.anim-obj-panel{flex:0 0 175px;}.anim-obj-panel h4{color:var(--color-accent,#88c0d0);font-family:monospace;font-style:italic;font-size:0.9rem;margin-bottom:10px;}.anim-obj-list{display:flex;flex-direction:column;gap:6px;}.anim-canvas-wrap{flex:1;min-width:240px;align-self:center;}@media (max-width:768px){.anim-wrap{padding:18px;border-radius:15px;}}@media (max-width:520px){.anim-wrap{padding:14px;}.anim-layout{flex-direction:column;}.anim-obj-panel{flex:none;}.anim-obj-list{flex-direction:row;flex-wrap:wrap;}.anim-mat-btn{flex:1 0 110px;}}@media (prefers-reduced-motion:reduce){.anim-btn,.anim-mat-btn,.anim-reset-btn{transition:none;}}
