:root{
  --amber:#ffb347;
  --ember:#ff6b1a;
  --hotblue:#4da6ff;
  --panel:rgba(20,15,10,0.62);
  --border:rgba(255,150,60,0.18);
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
html,body{height:100%;overflow:hidden;background:#07060a;font-family:'Bricolage Grotesque',sans-serif;}
canvas{position:fixed;inset:0;display:block;touch-action:none;}

/* Vignette overlay for depth */
body::after{
  content:'';position:fixed;inset:0;pointer-events:none;
  background:radial-gradient(ellipse at 50% 75%, transparent 30%, rgba(0,0,0,0.55) 100%);
}

/* Title */
#title{position:fixed;top:22px;left:26px;z-index:5;pointer-events:none;}
#title h1{
  font-weight:800;font-size:clamp(26px,5vw,40px);
  color:var(--amber);letter-spacing:-1px;
  text-shadow:0 0 20px rgba(255,120,30,0.6),0 0 40px rgba(255,80,0,0.3);
  display:flex;align-items:center;gap:8px;
}
#flameEmoji{display:inline-block;transition:transform .06s linear;}
#title p{font-weight:200;font-size:13px;color:rgba(255,200,150,0.55);margin-top:2px;letter-spacing:.5px;}

/* Readout */
#readout{
  position:fixed;bottom:14px;left:16px;z-index:5;
  font-family:'JetBrains Mono',monospace;font-weight:300;
  font-size:11px;color:rgba(255,180,110,0.5);pointer-events:none;
  letter-spacing:.3px;
}

/* Hint */
#hint{
  position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);
  z-index:5;color:rgba(255,210,160,0.7);font-weight:200;font-size:15px;
  text-shadow:0 2px 12px rgba(0,0,0,0.8);pointer-events:none;
  transition:opacity 1s ease;letter-spacing:.5px;text-align:center;
}
#hint.gone{opacity:0;}

/* Drawer toggle */
#drawerToggle{
  position:fixed;top:18px;right:18px;z-index:20;
  width:46px;height:46px;border-radius:50%;font-size:20px;
  background:var(--panel);border:1px solid var(--border);
  backdrop-filter:blur(10px);color:var(--amber);cursor:pointer;
  box-shadow:0 4px 20px rgba(0,0,0,0.4);transition:transform .2s,box-shadow .2s;
}
#drawerToggle:hover{transform:rotate(40deg) scale(1.05);box-shadow:0 0 22px rgba(255,120,30,0.4);}

/* Drawer */
#drawer{
  position:fixed;top:0;right:0;z-index:18;height:100%;width:320px;max-width:88vw;
  background:var(--panel);backdrop-filter:blur(16px);
  border-left:1px solid var(--border);
  transform:translateX(105%);transition:transform .35s cubic-bezier(.2,.8,.2,1);
  padding:20px 20px 90px;overflow-y:auto;
  box-shadow:-10px 0 40px rgba(0,0,0,0.5);
}
#drawer.open{transform:translateX(0);}
.drawer-head{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:18px;color:var(--amber);font-weight:800;font-size:20px;
}
#drawerClose{background:none;border:none;color:rgba(255,200,150,0.6);font-size:28px;cursor:pointer;line-height:1;}
#drawerClose:hover{color:var(--ember);}

.group{margin-bottom:22px;}
.glabel{
  display:flex;justify-content:space-between;align-items:center;
  font-size:13px;font-weight:400;color:rgba(255,210,170,0.85);
  margin-bottom:10px;letter-spacing:.4px;
}
.glabel .val{
  font-family:'JetBrains Mono',monospace;color:var(--amber);
  background:rgba(255,120,30,0.12);padding:1px 8px;border-radius:6px;font-size:12px;
}

/* Fuel segmented buttons */
.seg{display:flex;flex-wrap:wrap;gap:6px;}
.segbtn{
  flex:1 1 46%;padding:9px 6px;font-size:12px;font-weight:400;cursor:pointer;
  background:rgba(255,255,255,0.03);border:1px solid var(--border);border-radius:9px;
  color:rgba(255,220,190,0.7);transition:all .2s;font-family:inherit;
}
.segbtn:hover{background:rgba(255,120,30,0.12);}
.segbtn.active{
  background:linear-gradient(135deg,rgba(255,120,30,0.35),rgba(255,60,0,0.2));
  border-color:var(--ember);color:#fff;box-shadow:0 0 14px rgba(255,90,20,0.4);
}

/* Sliders */
input[type=range]{
  width:100%;-webkit-appearance:none;height:6px;border-radius:5px;
  background:linear-gradient(90deg,var(--ember),var(--amber));outline:none;
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:20px;height:20px;border-radius:50%;
  background:#fff;cursor:pointer;box-shadow:0 0 12px rgba(255,140,40,0.8);border:2px solid var(--amber);
}
input[type=range]::-moz-range-thumb{
  width:20px;height:20px;border-radius:50%;background:#fff;cursor:pointer;border:2px solid var(--amber);
}

/* Direction pad */
.dir-pad{display:flex;gap:6px;margin-top:10px;}
.dirbtn{
  flex:1;padding:8px 4px;font-size:11px;cursor:pointer;font-family:inherit;
  background:rgba(255,255,255,0.03);border:1px solid var(--border);border-radius:8px;
  color:rgba(255,220,190,0.7);transition:all .2s;
}
.dirbtn:hover{background:rgba(255,120,30,0.1);}
.dirbtn.active{background:rgba(77,166,255,0.2);border-color:var(--hotblue);color:#cfe6ff;}

/* Toggle row */
.toggle-row{display:flex;justify-content:space-between;align-items:center;color:rgba(255,220,190,0.85);font-size:14px;cursor:pointer;}
.toggle-row input{width:20px;height:20px;accent-color:var(--ember);cursor:pointer;}

/* Action mode buttons */
.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.modebtn{
  padding:12px 6px;font-size:13px;cursor:pointer;font-family:inherit;
  background:rgba(255,255,255,0.04);border:1px solid var(--border);border-radius:10px;
  color:rgba(255,220,190,0.8);transition:all .2s;
}
.modebtn:hover{background:rgba(255,120,30,0.14);transform:translateY(-1px);}
.modebtn.active{background:rgba(77,166,255,0.25);border-color:var(--hotblue);color:#dceeff;box-shadow:0 0 14px rgba(77,166,255,0.4);}

/* Mic meter */
.meter{height:8px;background:rgba(255,255,255,0.06);border-radius:5px;overflow:hidden;margin-bottom:12px;border:1px solid var(--border);}
#micMeterFill{height:100%;width:0%;background:linear-gradient(90deg,var(--hotblue),var(--amber),var(--ember));transition:width .06s;}

/* Relight */
.relight{
  width:100%;padding:13px;font-size:15px;font-weight:800;cursor:pointer;font-family:inherit;
  background:linear-gradient(135deg,var(--ember),#ff3d00);border:none;border-radius:12px;
  color:#fff;box-shadow:0 0 24px rgba(255,60,0,0.6);animation:pulse 1.4s infinite;
}
@keyframes pulse{0%,100%{box-shadow:0 0 20px rgba(255,60,0,0.5);}50%{box-shadow:0 0 34px rgba(255,90,0,0.9);}}

/* Bottom toolbar */
#toolbar{
  position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:15;
  display:flex;gap:8px;background:var(--panel);backdrop-filter:blur(12px);
  padding:8px;border-radius:16px;border:1px solid var(--border);
  box-shadow:0 6px 24px rgba(0,0,0,0.5);
}
.tb{
  width:48px;height:48px;font-size:20px;cursor:pointer;border-radius:12px;
  background:rgba(255,255,255,0.03);border:1px solid transparent;color:#fff;transition:all .2s;
}
.tb:hover{background:rgba(255,120,30,0.15);}
.tb.active{background:linear-gradient(135deg,rgba(255,120,30,0.4),rgba(255,60,0,0.25));border-color:var(--ember);box-shadow:0 0 14px rgba(255,90,20,0.5);}

/* Camera preview */
#cam.preview{
  position:fixed;bottom:78px;right:18px;z-index:16;width:120px;height:90px;
  border-radius:10px;border:1px solid var(--border);object-fit:cover;
  transform:scaleX(-1);box-shadow:0 4px 18px rgba(0,0,0,0.5);opacity:0.85;
}

/* Toast */
#toast{
  position:fixed;top:80px;left:50%;transform:translateX(-50%) translateY(-20px);
  z-index:30;background:var(--panel);backdrop-filter:blur(12px);
  border:1px solid var(--border);color:#ffe0c0;padding:12px 22px;border-radius:14px;
  font-size:14px;font-weight:400;opacity:0;pointer-events:none;
  transition:opacity .35s,transform .35s;box-shadow:0 6px 26px rgba(0,0,0,0.6);
}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* Remix link */
#remix{
  position:fixed;bottom:12px;right:16px;z-index:5;
  font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:300;
  color:rgba(255,180,110,0.4);text-decoration:none;transition:color .2s;
}
#remix:hover{color:var(--amber);}

@media(max-width:600px){
  #title{top:14px;left:16px;}
  #readout{bottom:74px;}
  #cam.preview{bottom:140px;width:96px;height:72px;}
  #toolbar{bottom:12px;}
}
</parameter>