/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
.material-demo{display:flex;gap:2rem;margin:2rem 0;justify-content:center;}.material-box{position:relative;width:200px;height:120px;border:2px solid var(--current-color);border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:bold;transition:all 0.3s ease;overflow:hidden;}.material-box:hover{box-shadow:0 0 20px var(--current-color);transform:scale(1.05);width:60%;}.conductor{background:linear-gradient(45deg,#4a4a4a,#666);}.insulator{background:linear-gradient(45deg,#8B4513,#A0522D);}.particle{position:absolute;width:6px;height:6px;background:#ffff00;border-radius:50%;opacity:0;}.particle.active{opacity:1;animation:flow 2s ease-in-out;}.particle.blocked{opacity:1;animation:bounce 1s ease-in-out;}@keyframes flowConductor{0%{left:-10px;}100%{left:var(--box-width,210px);}}@keyframes bounceInsulator{0%{left:-10px;transform:scale(1);}30%{left:var(--max-distance,60px);transform:scale(1.2);}60%{left:calc(var(--max-distance,60px) * 0.7);transform:scale(0.9);}80%{left:var(--max-distance,60px);transform:scale(1.1);}100%{left:calc(var(--max-distance,60px) * 0.8);transform:scale(1);opacity:0.3;}}.circuit-simulator svg{width:100%;max-width:400px;height:auto;margin:1rem auto;display:block;border:2px solid var(--current-color);border-radius:10px;background:rgba(255,255,255,0.9);padding:1rem;}#circuit-intensite #pathcourantint{stroke:color-mix(in hsl,var(--current-color),yellow 60%);stroke-width:4;stroke-dasharray:100;animation:courantLoop 4s linear infinite reverse;animation-play-state:paused;transition:stroke-width 0.3s ease,animation-duration 0.3s ease;}#circuit-intensite #pathcourantint.no-current{stroke:transparent;animation-play-state:paused;}#circuit-intensite #pathcourantint.flowing{animation-play-state:running;}#lampeint path[fill="#fff"]{transition:fill 0.3s ease,filter 0.3s ease;}#lampeint.brightness-1 path[fill="#fff"]{fill:#ffffcc;filter:drop-shadow(0 0 3px #ffff99);}#lampeint.brightness-2 path[fill="#fff"]{fill:#ffff99;filter:drop-shadow(0 0 6px #ffff66);}#lampeint.brightness-3 path[fill="#fff"]{fill:#ffff66;filter:drop-shadow(0 0 9px #ffff33);}#lampeint.brightness-4 path[fill="#fff"]{fill:#ffff33;filter:drop-shadow(0 0 12px #ffff00);}#lampeint.brightness-5 path[fill="#fff"]{fill:#ffff00;filter:drop-shadow(0 0 15px #ffff00);}#lampeint.burned path[fill="#fff"],#lampeint.burned path[fill^="#ffff"]{fill:#666666 !important;filter:none !important;}.series-circuit svg,.parallel-circuit svg{width:100%;max-width:450px;height:auto;margin:1rem auto;display:block;border:2px solid var(--current-color);border-radius:10px;background:rgba(255,255,255,0.05);padding:1rem;}#circuit-serie #pathcourant,#circuit-deriv #pathcourant1,#circuit-deriv #pathcourant2{stroke:color-mix(in hsl,var(--current-color),black 20%);stroke-width:4;stroke-dasharray:100;animation:courantLoop 3s linear infinite reverse;animation-play-state:paused;}#circuit-deriv #pathcourant1{animation-duration:2.5s;}#circuit-deriv #pathcourant2{animation-duration:4s;}#lampeserie1 path[fill="#fff"],#lampeserie2 path[fill="#fff"],#lampederiv1 path[fill="#fff"]{transition:fill 0.3s ease,filter 0.3s ease;}#moteurserie path[fill="#fff"],#moteurderiv path[fill="#fff"]{transition:fill 0.3s ease,filter 0.3s ease;}.component-active path[fill="#fff"]{fill:#ffff99 !important;filter:drop-shadow(0 0 8px #ffff66) !important;}.intensity-labels{display:flex;justify-content:space-around;margin:1rem 0;flex-wrap:wrap;gap:1rem;}.label-box{background:rgba(255,255,255,0.1);padding:0.5rem 1rem;border-radius:8px;border:2px solid var(--current-color);font-weight:bold;text-align:center;min-width:120px;transition:all 0.3s ease;}.label-box.highlight{background:var(--current-color);color:black;transform:scale(1.05);box-shadow:0 0 15px var(--current-color);}@media (max-width:768px){.intensity-labels{flex-direction:column;align-items:center;}.series-circuit svg,.parallel-circuit svg{max-width:350px;}}.lamps-section{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:30px 0;}.lamp-container{background:rgba(255,255,255,0.03);border-radius:15px;padding:25px;text-align:center;border:2px solid rgba(180,142,173,0.2);transition:all 0.3s ease;position:relative;}.lamp-container:hover{border-color:var(--current-color);box-shadow:0 0 20px rgba(180,142,173,0.1);}.bulb-icon{width:80px;height:80px;margin:0 auto 20px;transition:all 0.6s ease;filter:drop-shadow(0 0 5px rgba(0,0,0,0.5));}.bulb-icon svg{width:100%;height:100%;transition:all 0.6s ease;}.lamp-container .bulb-icon svg{fill:#444;stroke:#666;stroke-width:1;}.lamp-container[data-puissance="40"].on .bulb-icon{filter:drop-shadow(0 0 20px #ffd966) drop-shadow(0 0 40px rgba(255,217,102,0.4));}.lamp-container[data-puissance="40"].on .bulb-icon svg{fill:#ffd966;stroke:#ffaa00;animation:glow-soft 2s ease-in-out infinite alternate;}.lamp-container[data-puissance="100"].on .bulb-icon{filter:drop-shadow(0 0 30px #ffee33) drop-shadow(0 0 60px rgba(255,238,51,0.6)) drop-shadow(0 0 100px rgba(255,255,255,0.2));}.lamp-container[data-puissance="100"].on .bulb-icon svg{fill:#ffee33;stroke:#ffaa00;animation:glow-intense 1.5s ease-in-out infinite alternate;}@keyframes glow-soft{0%{fill:#ffd966;}100%{fill:#ffcc33;}}@keyframes glow-intense{0%{fill:#ffee33;}100%{fill:#ffcc00;}}.lamp-info{font-size:1.1rem;font-weight:bold;color:var(--current-color);margin:15px 0;}.lamp-formula{background:rgba(136,192,208,0.1);padding:10px;border-radius:8px;margin:10px 0;border-left:3px solid var(--color-accent);}.lamp-values{font-size:0.95rem;color:#aaa;margin:8px 0;}.energy-section{margin:40px 0;background:rgba(255,255,255,0.02);padding:25px;border-radius:15px;border:1px solid rgba(136,192,208,0.2);}.energy-title{text-align:center;color:var(--color-accent);font-size:1.3rem;margin-bottom:20px;}.energy-bars{display:grid;grid-template-columns:1fr 1fr;gap:30px;}.energy-bar-container{background:rgba(0,0,0,0.3);border-radius:10px;padding:15px;border:1px solid #333;}.energy-label{font-weight:bold;margin-bottom:10px;text-align:center;}.energy-bar-track{width:100%;height:25px;background:rgba(0,0,0,0.5);border-radius:12px;overflow:hidden;position:relative;border:1px solid #444;}.energy-bar{height:100%;width:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#4facfe,#00f2fe);transition:transform 0.1s linear;position:relative;border-radius:12px;}.energy-bar::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent);animation:shimmer 2s infinite;}@keyframes shimmer{0%{transform:translateX(-100%);}100%{transform:translateX(100%);}}.energy-value{text-align:center;margin-top:8px;font-size:0.9rem;color:var(--color-accent);}.time-counter{text-align:center;font-size:1.2rem;color:var(--current-color);margin:20px 0;padding:10px;background:rgba(180,142,173,0.1);border-radius:10px;}.controls{text-align:center;margin:30px 0;display:flex;gap:15px;justify-content:center;flex-wrap:wrap;}@media (max-width:768px){.lamps-section,.energy-bars{grid-template-columns:1fr;}.controls{flex-direction:column;align-items:center;}.action-button{width:200px;}}
.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;}}
