canvas#c{position:fixed;top:0;left:0;width:100%;height:100%;display:block;z-index:0;}

footer{position:relative;z-index:10;text-align:center;padding:10px 16px;font-family:sans-serif;font-size:12px;color:rgba(255,255,255,0.35);}
footer a{color:rgba(255,255,255,0.5);text-decoration:none;}
footer a:hover{color:rgba(255,255,255,0.8);}
.footer-note{font-size:11px;margin-top:3px;color:rgba(255,255,255,0.2);}

#ctrl{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:10;display:flex;gap:12px;align-items:center;background:rgba(0,0,0,0.65);backdrop-filter:blur(10px);padding:10px 18px;border-radius:30px;border:1px solid rgba(255,255,255,0.1);white-space:nowrap;}
.ctrl-group{display:flex;flex-direction:column;align-items:center;gap:5px;}
.ctrl-label{font-family:sans-serif;font-size:9px;color:rgba(255,255,255,0.3);letter-spacing:1px;}
select.ctrl-sel{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);color:#fff;padding:4px 8px;border-radius:6px;font-size:12px;cursor:pointer;}
select.ctrl-sel option{background:#1a1a1a;color:#fff;}
.ctrl-range{width:80px;accent-color:rgba(255,255,255,0.5);cursor:pointer;}
.ctrl-val{font-family:sans-serif;font-size:10px;color:rgba(255,255,255,0.45);}
.ctrl-sep{width:1px;height:36px;background:rgba(255,255,255,0.1);flex-shrink:0;}
