:root{
  --accent:#ff613f;
  --text:#f5f7fa;
  --bg:#000;
  --panel:rgba(255,255,255,.08);
  --muted:#a9b0ba;
}

*,*::before,*::after{
  box-sizing:border-box;
  margin:0;
  padding:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

html,body{
  height:100%;
  overflow:hidden;
  background:var(--bg);
  color:var(--text);
}

body{
  display:flex;
  align-items:center;
  justify-content:center;
  background: radial-gradient(120% 120% at 50% 30%, #0b0b10 0%, #000 60%);
  perspective: 1000px;
  perspective-origin: 50% 40%;
}

/* ===== light surface (the big rounded rectangle) ===== */
/* POP-OUT 3D CARD */
.light{
  position:relative;
  width:80vw;
  height:80vh;
  border-radius:32px;

  /* multi-layer outer shadow for lift */
  box-shadow:
    0 24px 40px rgba(0,0,0,.38),
    0 60px 120px rgba(0,0,0,.50),
    0 140px 220px rgba(0,0,0,.40),
    inset 0 2px 0 rgba(255,255,255,.12); /* soft top bevel */

  /* smooth updates */
  transition:
    filter .2s ease,
    background .25s ease-out,
    transform .25s ease,
    box-shadow .25s ease;
  overflow:hidden;

  /* light mixing looks more realistic */
  background-blend-mode: screen;

  /* for parallax tilt (see JS below) */
  transform-style: preserve-3d;
  will-change: transform;
}

/* soft rim glow (kept) */
.light::after{
  content:"";
  position:absolute; inset:0;
  border-radius:inherit;
  pointer-events:none;
  box-shadow:0 0 120px rgba(255,255,255,.08);
}

/* specular highlight: faint glossy arc across the top-left */
.light::before{
  /* keep the other properties (content, position, inset, border-radius, etc.) */

  background:
    radial-gradient(120% 80% at 0% 0%,
      rgba(255,255,255,.12) 0%,   /* was .18 */
      rgba(255,255,255,.06) 22%,  /* was .10 */
      rgba(255,255,255,0) 60%);
}


/* optional: a bit more lift on hover without being dramatic */
@media (hover:hover){
  .light:hover{
    transform: translateZ(0) scale(1.008);
    box-shadow:
      0 20px 32px rgba(0,0,0,.35),
      0 54px 100px rgba(0,0,0,.50),
      0 120px 180px rgba(0,0,0,.38),
      inset 0 2px 0 rgba(255,255,255,.12);
  }
}


/* ===== bottom dock ===== */
.dock{
  position:fixed;
  bottom:24px;
  left:50%;
  transform:translateX(-50%) scale(.85);
  display:flex;
  align-items:center;
  gap:24px;
  padding:16px 24px;
  background:var(--panel);
  backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.12);
  border-radius:24px;
  z-index:20;
}
.group{display:flex;align-items:center;gap:10px}
label{font-size:13px;font-weight:600;color:#a9b0ba}

/* sliders */
input[type=range]{
  -webkit-appearance:none;
  width:140px;height:8px;
  background:rgba(255,255,255,.22);
  border-radius:4px;
  outline:none;cursor:pointer;
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;
  width:32px;height:32px;border-radius:50%;
  background:var(--accent);
  border:1px solid rgba(255,255,255,.6);
  box-shadow:0 4px 12px rgba(0,0,0,.3);
}

/* swatch row */
.swatches{display:flex;gap:10px}

/* chips (color, gradient, softbox) */
.swatch, .grad, .soft{
  width:36px;height:36px;border-radius:50%;
  border:3px solid transparent;
  cursor:pointer;
  box-shadow:0 2px 8px rgba(0,0,0,.3);
}
.swatch.active, .grad.active, .soft.active{ border-color:var(--accent); }
/* ===== POP-OUT EFFECT ON COLOR CHIPS ===== */

/* lift & glow on hover */
.swatch:hover,
.grad:hover,
.soft:hover {
  transform: translateY(-4px) scale(1.05);
  box-shadow:
    0 6px 12px rgba(0,0,0,.4),
    0 0 10px rgba(255,255,255,.25) inset;
  transition: all .2s ease;
}

/* slightly press back when active/clicked */
.swatch:active,
.grad:active,
.soft:active {
  transform: translateY(-1px) scale(0.98);
  box-shadow:
    0 2px 6px rgba(0,0,0,.35),
    0 0 6px rgba(255,255,255,.15) inset;
}

/* glow ring for selected color */
.swatch.active,
.grad.active,
.soft.active {
  border-color: var(--accent);
  box-shadow:
    0 0 12px var(--accent),
    0 2px 8px rgba(0,0,0,.3);
}

/* subtle inner glow for softbox chips */
.soft{ background-clip:padding-box; }

/* gradient-specific controls */
.gradControls{
  display:flex;align-items:center;gap:12px;margin-left:12px;
}
.sidePick{display:flex;gap:6px}
.sideBtn{
  padding:6px 12px;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(0,0,0,.35);
  color:var(--muted);
  border-radius:12px;
  cursor:pointer;font-size:12px
}
.sideBtn.active{background:var(--accent);color:#fff;border-color:var(--accent);}
.flipBtn{
  padding:4px 8px;border:1px solid rgba(255,255,255,.3);
  background:rgba(0,0,0,.4);color:var(--text);
  border-radius:8px;cursor:pointer;font-size:14px;margin-left:6px;
}

/* mode tabs (center pills above dock) */
.modeTabs{
  position:fixed;bottom:120px;left:50%;
  transform:translateX(-50%);
  display:flex;gap:8px;
  padding:6px;background:var(--panel);
  backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.12);
  border-radius:28px;z-index:20
}
.tab{
  padding:10px 20px;border:0;
  background:rgba(0,0,0,.35);
  color:#a9b0ba;font-weight:600;
  border-radius:20px;cursor:pointer;
  transition:background .2s,color .2s
}
.tab.active{background:var(--accent);color:#fff}

/* camera window */
.camWin{
  position:fixed;left:20px;top:20px;
  width:300px;height:200px;border-radius:16px;
  overflow:hidden;box-shadow:0 12px 36px rgba(0,0,0,.5);
  display:none;cursor:grab;z-index:9999; /* stay on top of light */
  background:#000;
}
.camWin video{
  width:100%;height:100%;object-fit:cover;
  position:relative;z-index:10000;
}
.camWin:active{cursor:grabbing}

/* fullscreen button */
.fsBtn{
  position:fixed;top:20px;right:20px;
  width:44px;height:44px;border-radius:50%;
  border:0;background:var(--panel);
  color:var(--text);font-size:20px;
  cursor:pointer;z-index:40
}
/* === Logo styling === */
.logo{
  position: fixed;
  top: 1px;
  left: 24px;          /* or right/bottom as you like */
  width: 120px;
  height: auto;
  z-index: 10001;
  opacity: 0.95;
  pointer-events: none;   /* 👈 no hover/click, won’t pop or block mousemove */
}

