/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
.energy-types-demo{background:rgba(255,255,255,0.05);border-radius:20px;padding:25px;margin:30px 0;backdrop-filter:blur(10px);}.energy-type small{display:block;margin-top:5px;font-size:0.8rem;color:rgba(255,255,255,0.7);font-style:italic;}.energy-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin:20px 0;}.energy-type{background:rgba(255,255,255,0.05);border-radius:15px;padding:15px;text-align:center;transition:all 0.3s ease;cursor:pointer;border:2px solid transparent;overflow:hidden;}.energy-type:hover{background:rgba(255,255,255,0.1);border-color:var(--current-color);transform:translateY(-5px);}.energy-type .icon{font-size:2rem;margin-bottom:10%;margin-top:20%;display:block;transition:all 0.3s ease;}.energy-type[data-type="thermique"]:hover .icon{animation:heatWave 1s ease-in-out infinite;}.energy-type[data-type="electrique"]:hover .icon{animation:electricSpark 0.5s ease-in-out infinite;}.energy-type[data-type="mecanique"]:hover .icon{animation:mechanicalMove 1s linear infinite;}.energy-type[data-type="lumineuse"]:hover .icon{animation:lightPulse 1s ease-in-out infinite;}.energy-type[data-type="nucleaire"]:hover .icon{animation:glow 1s ease-in-out infinite;}.energy-type[data-type="chimique"]:hover .icon{animation:shaking 1s ease-in-out infinite;}@keyframes heatWave{0%,100%{transform:scale(1) rotate(0deg);filter:drop-shadow(3px -15px 10px rgba(255,90,0,0.4));}25%{transform:scale(1.1) rotate(-2deg);filter:drop-shadow(-3px -20px 15px rgba(255,120,0,0.3));}50%{transform:scale(1.1) rotate(0deg);filter:drop-shadow(0px -10px 20px rgba(255,154,0,0.4));}75%{transform:scale(1.1) rotate(2deg);filter:drop-shadow(0px -25px 10px rgba(255,120,0,0.3));}}@keyframes electricSpark{0%,100%{opacity:1;transform:scale(1);}50%{opacity:0.7;transform:scale(1.2);}}@keyframes mechanicalMove{0%{transform:rotate(0deg);}50%{transform:rotate(180deg);}100%{transform:rotate(360deg);}}@keyframes lightPulse{0%,100%{opacity:1;filter:brightness(1) drop-shadow(0px -3px 10px rgba(200,170,130,0.3));}50%{opacity:0.8;filter:brightness(1.5) drop-shadow(0px -3px 20px rgba(255,240,190,0.5));}}@keyframes glow{0%{filter:drop-shadow(0px 0px 5px #aef4af);}100%{filter:drop-shadow(0px 0px 25px #aef4af);}}@keyframes shaking{0%{transform:rotate(0deg);}25%{transform:rotate(3deg);}50%{transform:rotate(-3deg);}75%{transform:rotate(-8deg);}100%{transform:rotate(-3deg);}}.resource-comparison-demo{background:rgba(255,255,255,0.05);border-radius:20px;padding:25px;margin:30px 0;backdrop-filter:blur(10px);}.resource-examples{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;margin:10px 0;}.resource-tag{background:rgba(255,255,255,0.1);padding:4px 8px;border-radius:10px;font-size:0.8rem;border:1px solid rgba(255,255,255,0.2);}.non-renewable .resource-tag{background:rgba(255,107,107,0.2);border-color:rgba(255,107,107,0.4);}.renewable .resource-tag{background:rgba(78,205,196,0.2);border-color:rgba(78,205,196,0.4);}.resource-comparison{display:flex;gap:30px;margin:30px 0;}.resource-gauge{flex:1;text-align:center;}.gauge{width:100px;height:20px;background:rgba(255,255,255,0.1);border-radius:10px;margin:10px auto;overflow:hidden;position:relative;}.gauge-fill{height:100%;border-radius:10px;transition:width 2s ease-in-out;}.non-renewable .gauge-fill{background:linear-gradient(90deg,#ff6b6b,#cc5252);width:100%;animation:deplete 120s ease-out infinite;}.renewable .gauge-fill{background:linear-gradient(90deg,#4ecdc4,#45b7aa);width:100%;animation:renew 15s ease-in-out infinite;}@keyframes deplete{0%{width:100%;}40%,70%{width:10%;}50%{width:25%;}85%{width:15%;}99%{width:0%;}100%{width:100%;}}@keyframes renew{0%,100%,40%{width:80%;}10%{width:70%;}50%,90%{width:100%;}70%,20%{width:90%;}}@media (max-width:768px){.energy-types{grid-template-columns:repeat(2,1fr);}.resource-comparison{flex-direction:column;gap:15px;}.pendulum-container{height:150px;}.pendulum{height:100px;}}.energy-conservation-interactive{background:rgba(255,255,255,0.05);border-radius:20px;padding:25px;margin:30px 0;backdrop-filter:blur(10px);}.conservation-container{display:flex;gap:30px;}.conservation-demo-dynamic{flex-grow:1;display:grid;grid-template-columns:1fr 150px 1fr;grid-template-rows:auto 1fr;gap:20px;align-items:center;position:relative;min-height:250px;}.energy-input{grid-column:1;grid-row:1;display:flex;flex-direction:column;align-items:flex-end;gap:15px;}.energy-outputs{grid-column:3;grid-row:1;display:grid;grid-template-columns:auto 1fr;grid-template-rows:1fr 0.5fr 0.5fr 1fr;align-items:center;}.energy-block{background:rgba(255,255,255,0.1);border-radius:15px;padding:15px;text-align:center;border:2px solid transparent;transition:all 0.3s ease;position:relative;}.input-energy{border-color:#4ecdc4;background:rgba(78,205,196,0.2);width:150px;}.light-energy{border-color:#ffd93d;background:rgba(255,217,61,0.2);width:150px;}.heat-energy{border-color:#ff6b6b;background:rgba(255,107,107,0.2);width:150px;}.energy-value{display:block;font-size:1.4rem;font-weight:bold;color:white;}.energy-label{display:block;font-size:0.9rem;opacity:0.9;margin-top:50px;}.device-container{grid-column:2;grid-row:1;display:flex;justify-content:center;align-items:center;}.device{width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,0.1);display:flex;flex-direction:column;align-items:center;justify-content:center;border:3px solid #4ecdc4;transition:all 0.3s ease;}.bulb{font-size:3rem;transition:all 0.3s ease;}.device.active .bulb{filter:brightness(1.5);}.device.active.lamp .bulb{animation:lightPulse 2s ease-in-out infinite;}.device.active.motor .bulb{animation:mechanicalMove 5s linear infinite;}.device-label{font-size:0.8rem;margin-top:5px;color:white;}.flow-arrow-container-input{display:flex;align-items:center;width:150px;justify-content:flex-end;overflow:hidden;}.flow-arrow-container-output{display:flex;align-items:center;justify-content:flex-start;grid-column:1;width:150px;overflow:hidden;}.flow-arrow-body{height:4px;width:0;transition:width 1.5s ease;background:var(--arrow-color);}.flow-arrow-head{width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;transition:border-left 1.5s ease;}.flow-arrow-head.right{border-left:12px solid var(--arrow-color);}.flow-arrow-head.left{border-right:12px solid var(--arrow-color);}.flow-arrow-container-input{--arrow-color:#4ecdc4;}.light-flow{grid-row:2;--arrow-color:#ffd93d;}.heat-flow{grid-row:3;--arrow-color:#ff6b6b;}.light-energy{grid-row:1;grid-column:1;}.heat-energy{grid-row:4;grid-column:1;}.conservation-equation{grid-column:1 / 4;grid-row:2;text-align:center;background:rgba(255,255,255,0.1);padding:15px;border-radius:10px;margin-top:20px;}.interactive-controls{flex-shrink:0;max-width:200px;display:flex;flex-direction:column;gap:15px;padding:20px;background:rgba(255,255,255,0.1);border-radius:15px;}.interactive-controls h4{text-align:center;margin-bottom:5px;}.action-panel{background:rgba(255,255,255,0.05);border-radius:1rem;padding:1.5rem;backdrop-filter:blur(4px);box-shadow:0 0 15px rgba(255,255,255,0.1);display:flex;flex-direction:column;gap:1rem;}.flow-input .flow-arrow-body{width:120%;}.flow-input .flow-arrow-head{border-left:12px solid #4ecdc4;}.flow-output .flow-arrow-body{width:130%;}.flow-output .flow-arrow-head{border-left:12px solid var(--arrow-color);}.mechanical_container{background:rgba(255,255,255,0.05);border-radius:20px;padding:25px;margin:30px 0;backdrop-filter:blur(10px);width:100%;position:relative;overflow:hidden;z-index:4;}.simulation-layout{display:grid;grid-template-columns:200px 1fr 200px;gap:2rem;align-items:start;margin-top:2rem;}.controls-panel{background:rgba(255,255,255,0.05);border-radius:1rem;padding:1.5rem;backdrop-filter:blur(4px);box-shadow:0 0 15px rgba(255,255,255,0.1);}.control-group{margin-bottom:1.5rem;}.control-group label{display:block;margin-bottom:0.5rem;font-size:0.9rem;color:var(--color-text);font-weight:bold;}.control-value{color:var(--current-color);font-weight:bold;font-size:0.9rem;text-align:center;margin-top:0.3rem;}.slider{width:100%;height:4px;border-radius:2px;background:rgba(255,255,255,0.2);outline:none;transition:all 0.3s ease;-webkit-appearance:none;appearance:none;}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--current-color);cursor:pointer;border:2px solid white;box-shadow:0 0 8px rgba(0,0,0,0.3);}.slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--current-color);cursor:pointer;border:2px solid white;box-shadow:0 0 8px rgba(0,0,0,0.3);}.simulation-area{background:rgba(255,255,255,0.05);border-radius:1rem;padding:1.5rem;backdrop-filter:blur(4px);box-shadow:0 0 15px rgba(255,255,255,0.1);min-height:500px;}.physics-container{position:relative;width:100%;height:400px;background:linear-gradient(to bottom,rgba(94,129,172,0.2) 0%,rgba(94,129,172,0.1) 50%,rgba(163,190,140,0.2) 100%);border-radius:0.5rem;overflow:hidden;border:1px solid rgba(255,255,255,0.1);}.ground{position:absolute;bottom:0;left:0;right:0;height:15px;background:linear-gradient(to bottom,var(--niveau2),#2d3a22);border-radius:0 0 0.5rem 0.5rem;}.ball{position:absolute;width:25px;height:25px;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--niveau5),#8a434a);border:2px solid rgba(255,255,255,0.3);box-shadow:0 4px 15px rgba(0,0,0,0.4);transition:none;z-index:10;}.height-indicator{position:absolute;left:10px;top:0;bottom:15px;width:2px;background:rgba(255,255,255,0.3);border-radius:1px;}.height-mark{position:absolute;left:-4px;width:10px;height:1px;background:rgba(255,255,255,0.5);}.energy-meters{margin-top:1.5rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}.energy-meter{background:rgba(255,255,255,0.05);border-radius:0.5rem;padding:1rem;backdrop-filter:blur(4px);}.energy-meter h4{margin:0 0 0.5rem 0;font-size:0.9rem;display:flex;align-items:center;gap:0.5rem;}.energy-icon{font-size:1rem;}.meter-container{background:rgba(255,255,255,0.1);height:20px;border-radius:10px;overflow:hidden;position:relative;border:1px solid rgba(255,255,255,0.1);}.meter-fill{height:100%;border-radius:10px;width:100%;transform:scaleX(0);transform-origin:left;transition:transform 0.1s ease;position:relative;}.ep-fill{background:linear-gradient(90deg,var(--niveau1),#4a6b94);}.ec-fill{background:linear-gradient(90deg,var(--niveau5),#8a434a);}.em-fill{background:linear-gradient(90deg,var(--niveau2),#6b8a5c);}.energy-value{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:white;font-weight:bold;font-size:0.8rem;text-shadow:1px 1px 2px rgba(0,0,0,0.8);z-index:10;}.simulation-info{display:flex;justify-content:space-between;margin-top:1rem;font-size:0.9rem;color:var(--color-text);}.info-item{background:rgba(255,255,255,0.05);padding:0.5rem;border-radius:0.3rem;text-align:center;}.info-value{color:var(--current-color);font-weight:bold;}.trajectory-trace{position:absolute;width:2px;background:rgba(255,255,255,0.4);border-radius:1px;opacity:0;transition:opacity 0.5s ease;}.trajectory-trace.visible{opacity:1;}.trace-checkbox{margin-top:1rem;display:flex;align-items:center;gap:0.5rem;font-size:0.9rem;}@media (max-width:1024px){.simulation-layout{grid-template-columns:1fr;gap:1rem;}.energy-meters{grid-template-columns:1fr;}}.power-consumption-simulator{background:rgba(255,255,255,0.05);border-radius:20px;padding:25px;margin:30px 0;backdrop-filter:blur(10px);}.appliance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin:20px 0;}.appliance-card{background:rgba(255,255,255,0.1);border-radius:15px;padding:20px;text-align:center;border:2px solid transparent;transition:all 0.3s ease;position:relative;overflow:hidden;}.appliance-card:hover{border-color:var(--current-color);transform:translateY(-3px);box-shadow:0 10px 25px rgba(0,0,0,0.3);}.appliance-icon{font-size:3rem;margin-bottom:10px;transition:transform 0.3s ease;}.appliance-card:hover .appliance-icon{transform:scale(1.1);}.appliance-name{font-weight:bold;color:white;font-size:1.1rem;margin-bottom:5px;}.appliance-power{color:var(--current-color);font-weight:bold;font-size:1rem;margin-bottom:15px;}.usage-control{display:flex;flex-direction:column;gap:10px;margin:15px 0;}.time-slider{width:100%;height:6px;border-radius:3px;background:rgba(255,255,255,0.2);outline:none;transition:all 0.3s ease;}.time-slider::-webkit-slider-thumb{appearance:none;width:20px;height:20px;border-radius:50%;background:var(--current-color);cursor:pointer;border:2px solid white;box-shadow:0 0 10px rgba(0,0,0,0.3);}.time-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--current-color);cursor:pointer;border:2px solid white;box-shadow:0 0 10px rgba(0,0,0,0.3);}.time-display{font-weight:bold;color:white;font-size:1.1rem;}.consumption-result{background:rgba(255,255,255,0.2);border-radius:10px;padding:10px;font-weight:bold;font-size:1.2rem;color:var(--current-color);border:1px solid rgba(255,255,255,0.3);}.total-consumption{background:rgba(255,255,255,0.1);border-radius:15px;padding:25px;margin-top:30px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;}.total-display h5{margin:0 0 10px 0;color:white;font-size:1.2rem;}.total-value{font-size:2.5rem;font-weight:bold;color:var(--current-color);text-shadow:0 0 10px rgba(var(--current-color),0.5);}.total-cost{font-size:1.1rem;color:rgba(255,255,255,0.8);margin-top:5px;}.comparison{display:flex;flex-direction:column;gap:15px;}.comparison-item{display:flex;align-items:center;gap:15px;background:rgba(255,255,255,0.05);padding:15px;border-radius:10px;}.comparison-item .icon{font-size:2rem;}.comparison-label{font-size:0.9rem;color:rgba(255,255,255,0.7);}.comparison-value{font-size:1.1rem;font-weight:bold;color:white;}
.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;}}
