:root{--font-title:"Barlow", sans-serif;--font-mono:"JetBrains Mono", monospace;--text:#fff;--text-muted:#ffffffb3;--bg:#05070a;--glass-bg:#0a0a1466;--glass-border:#ffffff1a;--accent:#00f0ff;--accent-glow:#00f0ff80;--sans:var(--font-title);--background-color:#0c0c0c;--text-color:#fff;--title-background-color:#000;--widget-color:#222;--hover-color:#333;--focus-color:#00f0ff;--number-color:#00f0ff;--string-color:#00f0ff}body{font-family:var(--sans);color:var(--text);-webkit-user-select:none;user-select:none;touch-action:none;background:radial-gradient(circle,#0000 40%,#05070a 100%) 0 0/100% 100%,linear-gradient(#ffffff05 1px,#0000 1px) 0 0/40px 40px,#010205 linear-gradient(90deg,#ffffff05 1px,#0000 1px) 0 0/40px 40px;margin:0;padding:0;overflow:hidden}#app{z-index:0;pointer-events:auto;touch-action:none;cursor:grab;width:100vw;height:100vh;position:fixed;top:0;left:0}#app:active{cursor:grabbing}#ui-overlay{z-index:10;pointer-events:none;flex-direction:column;justify-content:space-between;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:0 8px 32px #00000080}.top-bar{pointer-events:auto;z-index:10;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:1rem;margin:0;padding:.85rem 1.5rem;display:flex;position:relative}.logo-text{letter-spacing:2px;white-space:nowrap;flex-shrink:0;align-items:center;margin:0;font-size:1.4rem;display:flex}.logo-tzan{font-family:var(--font-title);color:#fff;font-weight:900}.logo-text{align-items:center;display:flex}.logo-svg-i{flex-shrink:0;width:auto;height:22px;margin:0 3px;position:relative;top:-2px}.logo-edtech{font-family:var(--font-mono);color:#a0a0a0;margin-left:.5rem;font-size:1.1rem;font-weight:400}.controls{gap:1rem;display:flex}.controls button{color:var(--text-muted);font-family:var(--sans);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;padding:.5rem 1rem;font-weight:500;transition:all .3s}.controls button:hover{color:var(--text);background:#ffffff1a}.controls button.active{background:var(--accent-glow);border-color:var(--accent);color:var(--text);box-shadow:0 0 15px var(--accent-glow)}.info-panel{-webkit-backdrop-filter:blur(10px);pointer-events:auto;background:#000000b3;border:1px solid #ffffff26;border-radius:2px;width:260px;max-width:calc(100vw - 4rem);padding:1.25rem;position:absolute;bottom:2rem;left:2rem}.info-panel h2{font-size:1.05rem;font-family:var(--font-title);text-transform:uppercase;letter-spacing:.1em;color:#fff;margin:0 0 .5rem;font-weight:900}.info-panel p{color:var(--text-muted);font-size:.75rem;line-height:1.3;font-family:var(--font-mono);margin:0 0 1rem}.metrics{border-top:1px solid #ffffff26;flex-direction:column;gap:1rem;padding-top:1.5rem;display:flex}.metric{justify-content:space-between;align-items:center;margin-bottom:.2rem;display:flex}.metric .label{color:var(--text-muted);font-size:.7rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:1px}.metric .value{font-family:var(--font-mono);color:var(--accent);font-size:.95rem;font-weight:700}.bottom-bar{pointer-events:auto;display:none;position:absolute;bottom:2rem;right:2rem}.glass-btn{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text);cursor:pointer;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:1px;background:0 0;border:1px solid #fff3;border-radius:0;padding:.75rem 1.5rem;font-weight:700;transition:all .2s}.glass-btn:hover{color:#000;background:#fff}.fab-ajustes{z-index:250;font-family:var(--font-mono);letter-spacing:.12em;color:var(--accent);border:1.5px solid var(--accent);-webkit-backdrop-filter:blur(14px);cursor:pointer;pointer-events:auto;background:#080c16eb;border-radius:50px;align-items:center;gap:.5rem;padding:.7rem 1.35rem;font-size:.8rem;font-weight:800;transition:all .2s;display:inline-flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 4px 20px #00f0ff4d,0 8px 30px #000c}.fab-ajustes:hover,.fab-ajustes.active{background:var(--accent);color:#000;transform:translateY(-2px);box-shadow:0 0 25px #00f0ffcc}.panel-header-row{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.panel-title-group{flex:1;min-width:0}.panel-minimize-btn{color:var(--accent);cursor:pointer;background:#ffffff14;border:1px solid #00f0ff59;border-radius:2px;flex-shrink:0;padding:.2rem .5rem;font-size:.65rem;transition:all .2s}.panel-minimize-btn:hover{background:var(--accent);color:#000}.info-panel.collapsed .panel-collapsible-body{display:none!important}.info-panel.collapsed{padding-bottom:.4rem!important}.sim-progress-container{background:#0006;border:1px solid #00f0ff26;border-radius:4px;flex-direction:column;gap:.35rem;margin:.5rem 0 .8rem;padding:.4rem .5rem;display:flex}.sim-progress-header{font-family:var(--font-mono);justify-content:space-between;align-items:center;display:flex}.sim-timer-badge{color:var(--accent);letter-spacing:.05em;font-size:.72rem;font-weight:700}.sim-live-dot{color:#0f6;letter-spacing:.1em;font-size:.65rem;font-weight:700;animation:1.5s infinite pulse-live}@keyframes pulse-live{0%,to{opacity:1;text-shadow:0 0 6px #0f6}50%{opacity:.4;text-shadow:none}}.sim-progress-track{background:#ffffff1f;border-radius:3px;width:100%;height:6px;position:relative;overflow:hidden}.sim-progress-bar{background:linear-gradient(90deg,#00f0ff,#0fa);border-radius:3px;width:0%;height:100%;transition:width .1s linear;box-shadow:0 0 10px #00f0ffcc}.lil-gui.root{pointer-events:auto;width:320px!important;max-width:330px!important;max-height:85vh!important;font-family:var(--font-mono)!important;-webkit-backdrop-filter:blur(16px)!important;z-index:500!important;background:#080a10f5!important;border:1px solid #00f0ff4d!important;font-size:11px!important;display:none!important;position:fixed!important;inset:auto 2rem 2.5rem auto!important;overflow-y:auto!important;box-shadow:0 10px 40px #000c!important}.lil-gui.root>button.title{display:none!important}.lil-gui .lil-gui>button.title{font-family:var(--font-mono)!important;letter-spacing:.08em!important;color:var(--accent)!important;text-transform:uppercase!important;background:#000000b3!important;border-bottom:1px solid #ffffff14!important;align-items:center!important;padding:8px 10px!important;font-size:11px!important;font-weight:700!important;display:flex!important}.lil-gui .slider{background-color:var(--accent)!important}.lil-gui button{color:var(--accent)!important;text-transform:uppercase!important;font-family:var(--font-mono)!important;letter-spacing:1px!important;background:0 0!important;border:1px solid #fff3!important;border-radius:0!important;margin:2px 0!important;padding:6px!important;font-size:10px!important;font-weight:700!important;transition:background,color!important}.lil-gui button:hover{background:var(--accent)!important;color:#000!important;border-color:var(--accent)!important}.lil-gui.root.visible{display:block!important}@media (width<=600px){.top-bar{box-sizing:border-box;-webkit-backdrop-filter:blur(10px);background:#010205d9;border-bottom:1px solid #ffffff14;flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem;height:3.2rem;padding:.5rem .75rem}.logo-text{font-size:1.15rem}.logo-svg-i{height:18px;margin:0 2px}.logo-edtech{margin-left:.35rem;font-size:.8rem}.btn-gui-toggle{padding:.35rem .65rem;font-size:.7rem}.info-panel{z-index:40;background:#05070ef0;border:1px solid #00f0ff40;border-radius:4px;width:auto;max-width:none;padding:.65rem .85rem;inset:3.6rem .6rem auto;box-shadow:0 8px 24px #000000b3}.sim-timer-badge{font-size:.62rem}.sim-live-dot{font-size:.58rem}.info-panel.collapsed{padding-bottom:.4rem!important}.info-panel.collapsed p#info-desc{display:none!important}.info-panel.collapsed h2#info-title{margin-bottom:0!important}.info-panel.collapsed .sim-progress-container{display:none!important}.info-panel h2{margin-bottom:.2rem;font-size:.85rem}.info-panel p{margin-bottom:.4rem;font-size:.65rem}.metric .label{font-size:.58rem}.metric .value{font-size:.75rem}.metrics{border-top:1px solid #ffffff1a;grid-template-columns:repeat(3,1fr);gap:.3rem;padding-top:.4rem;display:grid}.metric{flex-direction:column;align-items:flex-start;gap:.1rem}.btn-play,.btn-play-power{margin-top:.55rem;padding:.65rem .8rem;font-size:.76rem}.fab-ajustes{padding:.6rem 1rem;font-size:.72rem;bottom:1.25rem;right:1.25rem}.lil-gui.root{-webkit-overflow-scrolling:touch;border-top:2px solid var(--accent)!important;-webkit-backdrop-filter:blur(20px)!important;z-index:500!important;background:#080a10fa!important;border-bottom:none!important;border-left:none!important;border-right:none!important;border-radius:16px 16px 0 0!important;width:100vw!important;max-width:100vw!important;max-height:75vh!important;padding-bottom:2.5rem!important;display:none!important;position:fixed!important;inset:auto 0 0!important;overflow-y:auto!important;box-shadow:0 -12px 40px #000000f2!important}.lil-gui.root.visible{display:block!important}.lil-gui .name{font-size:11px!important}}@media (width>=601px) and (width<=900px){.top-bar{flex-wrap:wrap;gap:.75rem;padding:.75rem 1.25rem}.controls{flex-wrap:wrap;gap:.5rem}.controls button{padding:.6rem .9rem;font-size:.85rem}.info-panel{width:300px;max-width:calc(50vw - 1.5rem);bottom:4rem;left:1rem}.bottom-bar{bottom:1rem;right:1rem}.lil-gui.root{max-width:280px!important;bottom:5rem!important;right:1rem!important}}.btn-play,.btn-play-power{width:100%;color:var(--accent);border:1.5px solid var(--accent);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;cursor:pointer;background:#00f0ff1f;border-radius:4px;justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;padding:.85rem 1rem;font-size:.88rem;font-weight:800;transition:all .2s;display:flex;box-shadow:0 0 16px #00f0ff40}.btn-play:hover,.btn-play-power:hover{background:var(--accent);color:#000;transform:translateY(-1px);box-shadow:0 0 25px #00f0ffb3}.btn-play.running,.btn-play-power.running{color:#ff003c;background:#ff003c26;border-color:#ff003c;box-shadow:0 0 16px #ff003c59}.btn-play.running:hover,.btn-play-power.running:hover{color:#000;background:#ff003c;box-shadow:0 0 25px #ff003cb3}#touch-hint{z-index:200;pointer-events:none;transition:opacity .6s,transform .6s;position:fixed;bottom:2.5rem;left:50%;transform:translate(-50%)}#touch-hint.hidden{opacity:0;pointer-events:none;transform:translate(-50%)translateY(12px)}.hint-inner{-webkit-backdrop-filter:blur(8px);background:#000000a6;border:1px solid #00f0ff66;align-items:center;gap:.6rem;padding:.55rem 1.1rem;animation:2.2s ease-in-out infinite hint-pulse;display:flex}.hint-text{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);white-space:nowrap;font-size:.65rem;font-weight:700}.hint-icon{color:var(--accent);opacity:.7;font-size:.6rem}@keyframes hint-pulse{0%,to{border-color:#00f0ff59;box-shadow:0 0 #00f0ff00}50%{border-color:#00f0ffcc;box-shadow:0 0 18px #00f0ff40}}.share-bar{pointer-events:auto;z-index:100;gap:.5rem;display:flex;position:fixed;bottom:2rem;left:2rem}.share-btn{color:#ffffffd9;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;-webkit-backdrop-filter:blur(10px);background:#000000a6;border:1px solid #fff3;align-items:center;gap:.4rem;padding:.55rem .95rem;font-size:.68rem;font-weight:700;transition:background .15s,color .15s,border-color .15s,transform .15s;display:flex;box-shadow:0 4px 16px #0009}.share-btn:hover{border-color:var(--accent);color:var(--accent);background:#00f0ff26;transform:translateY(-2px)}.share-btn.flash{background:var(--accent);color:#000;border-color:var(--accent)}.param-tooltip{border:1px solid #00f0ff66;border-left:4px solid var(--accent);-webkit-backdrop-filter:blur(16px);max-width:280px;font-family:var(--font-mono);color:#ffffffe0;z-index:600;pointer-events:none;opacity:0;background:#040810f0;padding:.85rem 1.15rem;font-size:.72rem;line-height:1.55;transition:opacity .3s,transform .3s;position:fixed;top:50%;right:23rem;transform:translateY(-50%);box-shadow:0 10px 30px #000c,0 0 15px #00f0ff33}.param-tooltip.visible{opacity:1}.param-tooltip strong{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.4rem;font-size:.76rem;display:block}@media (width<=600px){.share-bar{gap:.35rem;bottom:1.25rem;left:1.25rem}.share-label{display:none}.share-btn{padding:.55rem .75rem;font-size:1.05rem}#touch-hint{bottom:4.8rem}.hint-text{font-size:.58rem}.param-tooltip{z-index:600;width:auto;max-width:none;inset:auto .75rem 76vh;transform:none}}
