/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
.circuit-demo{margin:0 auto;position:relative;}#circuit-ouvertfermé{width:100%;max-width:400px;background:rgba(255,255,255,0.95);border-radius:15px;padding:20px;box-shadow:0 10px 30px rgba(0,0,0,0.3);}#courantpath{stroke:var(--current-color);stroke-width:8;stroke-dasharray:100;animation:courantLoop 3s linear infinite reverse;animation-play-state:running;fill:none;}#courantpath.paused{animation-play-state:paused;opacity:0.01;stroke:#666;}#connector{transition:all 0.3s ease;stroke:#af4c4c;}#connector.ouvert{stroke:#f44336;}#cross{transition:all 0.3s ease;}#cercle{transition:all 0.3s ease;}.lampe-on #cercle{fill:#fcf5b6;filter:drop-shadow(0 0 15px #FFD700);}.lampe-off #cercle{fill:#f0f0f0;filter:none;}.status-indicator{margin:15px 0;padding:12px;border-radius:8px;font-weight:bold;transition:all 0.3s ease;font-size:1rem;text-align:center;}.status-indicator.circuit-on{background:rgba(76,175,80,0.2);color:#4CAF50;border:1px solid #4CAF50;}.status-indicator.circuit-off{background:rgba(244,67,54,0.2);color:#f44336;border:1px solid #f44336;}.circuit-explanation{margin:15px 0;padding:10px;background:rgba(136,192,208,0.1);border-radius:8px;font-size:1.2rem;line-height:1.4;text-align:center;}#circuit-ouvertfermé{background:rgba(255,255,255,0.95);border-radius:15px;padding:15px;box-shadow:0 5px 20px rgba(0,0,0,0.2);width:100%;max-width:400px;margin:0 auto;display:block;}@media (max-width:600px){.controls{flex-direction:column;align-items:center;}}.content-wrapper{display:flex;gap:3rem;margin-top:2rem;}.left-column{display:flex;flex-direction:column;flex:5;}.right-column{position:relative;min-height:400px;flex:2;margin-right:5%;}.section{margin:25px 0;padding:20px;background:rgba(255,255,255,0.05);border-radius:15px;backdrop-filter:blur(10px);border-left:4px solid;border-top:2px solid;transition:all 0.4s cubic-bezier(0.4,0,0.2,1);}.section.generator{border-left-color:#48bb78;border-top-color:#48bb78;}.section.receptor{border-left-color:#ed8936;border-top-color:#ed8936;}.clickable-device{color:var(--color-accent);cursor:pointer;font-weight:bold;text-decoration:underline;transition:all 0.3s ease;padding:4px 8px;border-radius:6px;display:inline-block;position:relative;margin:10px;}.clickable-device:hover{color:var(--current-color);text-shadow:0 0 10px rgba(199,230,246,0.5);transform:scale(1.05);background:rgba(136,192,208,0.1);}.device-card{position:absolute;top:4rem;right:-1050px;width:70%;height:auto;background:rgba(255,255,255,0.1);border-radius:15px;backdrop-filter:blur(15px);padding:20px;border:2px solid var(--color-accent);box-shadow:0 8px 25px rgba(136,192,208,0.2);transition:right 0.6s cubic-bezier(0.68,-0.55,0.265,1.55);}.device-card.show{right:20px;}.device-type{background:linear-gradient(135deg,var(--current-color),color-mix(in srgb,var(--current-color) 70%,black));color:white;padding:8px 16px;border-radius:20px;font-size:0.9em;text-align:center;margin-bottom:15px;font-weight:bold;}.device-title{font-size:1.3em;font-weight:bold;color:var(--color-accent);margin-bottom:15px;text-align:center;text-shadow:0 0 10px rgba(136,192,208,0.3);}.device-image{width:100%;height:200px;background:rgba(255,255,255,0.05);border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:15px;border:2px solid rgba(136,192,208,0.3);position:relative;overflow:hidden;}.device-image img{max-width:90%;max-height:90%;object-fit:contain;border-radius:8px;}.action-button:active{transform:translateY(0);}.device-card.has-image .url-input{display:none;}.clickable-device.active{color:var(--current-color);background:rgba(136,192,208,0.2);text-shadow:0 0 15px rgba(199,230,246,0.7);}@media (max-width:768px){.content-wrapper{grid-template-columns:1fr;gap:1rem;}.right-column{min-height:300px;}.lesson-container{padding:1.5rem;}}.symbole-elec{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin:20px 0;list-style:none;padding:0;perspective:1000px;}.symbole-elec .card{position:relative;min-height:120px;border-radius:12px;border:1px solid var(--current-color);color:var(--current-color);text-align:center;cursor:pointer;transform-style:preserve-3d;height:200px;padding:15px;}.symbole-elec .card:hover{translate:5px -5px;box-shadow:0 5px 15px rgba(136,192,208,0.2);transition:translate 0.2s ease-out,box-shadow 0.2s ease-out,transform 0.7s ease;}.symbole-elec .card .front,.symbole-elec .card .back{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:12px;border-radius:12px;backface-visibility:hidden;}.symbole-elec .card .front{background:linear-gradient(135deg,rgba(14,14,26,0.9),rgba(136,192,208,0.1));}.symbole-elec .card .back{background:linear-gradient(135deg,rgba(136,192,208,0.4),rgba(30,50,60,0.9));color:var(--color-accent);font-weight:bold;transform:rotateY(180deg);}.back .field__item{width:220px;}.symbole-elec .card.is-flipped{transform:rotateY(180deg);}.colonne{display:flex;gap:3rem;}.colonne .txtcol{flex:2;align-self:center;}.colonne .illuscol{flex:1;display:flex;}.colonne .illuscol p small{display:block;text-align:center;margin-bottom:5px;}@media (max-width:768px){.colonne{flex-direction:column;}.colonne .illuscol{width:100%;justify-content:flex-start;}}#serie,#derivation{width:100%;background-color:rgba(235,235,235,1);}#serie svg,#derivation svg{width:100%;}.animation-container small{color:black;font-weight:200;}#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;}@keyframes courantLoop{from{stroke-dashoffset:0;}to{stroke-dashoffset:-200;}}.dipole-clickable{cursor:pointer;}.lampe.on path:first-child{fill:#ffd966;filter:drop-shadow(0 0 6px #ffeb3b);}.lampe.off path:first-child{fill:#666;filter:none;}.moteur.on path:first-child{fill:#88c0d0;filter:drop-shadow(0 0 6px #88c0d0);}.moteur.off path:first-child{fill:#666;filter:none;}.moteur.on{animation:moteurShake 0.3s infinite;}.grille path:first-child{fill:#e63946 !important;filter:drop-shadow(0 0 6px #e63946) !important;}@keyframes moteurShake{0%,100%{transform:translate(0,0);}25%{transform:translate(0.25px,-0.25px);}50%{transform:translate(-0.25px,0.25px);}75%{transform:translate(0.25px,0.25px);}}.paused{animation-play-state:paused !important;opacity:0.15;}.main-layout{display:flex;gap:25px;align-items:flex-start;}.controls{flex:1;max-width:250px;display:flex;flex-direction:column;gap:15px;align-self:center;}.control-group{display:flex;flex-direction:column;gap:50px;}.control-group label{font-weight:bold;color:var(--color-accent);}.control-group select{padding:8px 12px;border-radius:8px;border:1px solid rgba(255,255,255,0.3);background:rgba(255,255,255,0.1);color:var(--color-text);}.circuit-container{flex:3;text-align:center;}#svg-container svg{max-width:800px;width:100%;height:auto;border:2px solid rgba(255,255,255,0.1);border-radius:12px;background:#fff;}#circuit-boucles rect[id^="boucle"]{transition:opacity 0.3s ease-in-out;}#boucle1{filter:drop-shadow(0 0 3px #af43ff);}#boucle2{filter:drop-shadow(0 0 3px #7eff7b);}#boucle3{filter:drop-shadow(0 0 3px #ffa143);}#boucle4{filter:drop-shadow(0 0 3px #28a1ff);}
.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;}}
