.rg-mixer {
  --rg-gold:#d5aa5d;
  --rg-ink:rgba(5,7,6,.88);
  position:fixed;
  top:20px;
  right:88px;
  z-index:10020;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  color:#decba4;
}
/* KNOB 28 · ANTI-GLITCH: display:none gave this glass button NO compositing
   layer during the boot, so the browser had to build one at the exact moment
   everything settled — a visible flash. It now stays laid out and invisible,
   so only its opacity changes at the reveal. */
.rg-mixer--boot-gated {
  opacity:0 !important; visibility:hidden !important; pointer-events:none !important;
}
body.rg-has-mixer > .hud { display:none !important }
.rg-mixer__trigger {
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border:1px solid rgba(213,170,93,.42);
  border-radius:50%;
  color:var(--rg-gold);
  background:rgba(5,7,6,.58);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  box-shadow:inset 0 0 18px rgba(213,170,93,.05),0 8px 26px rgba(0,0,0,.28);
  cursor:pointer;
}
.rg-mixer__trigger svg { width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.4 }
.rg-mixer__panel {
  position:absolute;
  top:58px;
  right:0;
  width:min(286px,calc(100vw - 32px));
  padding:17px;
  border:1px solid rgba(213,170,93,.24);
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
  background:
    linear-gradient(145deg,rgba(255,240,203,.045),transparent 35%),
    rgba(5,7,6,.9);
  -webkit-backdrop-filter:blur(18px) saturate(.8);
  backdrop-filter:blur(18px) saturate(.8);
  box-shadow:0 18px 50px rgba(0,0,0,.48),inset 0 0 22px rgba(213,170,93,.035);
  opacity:0;
  visibility:hidden;
  transform:translateY(-7px) scale(.98);
  transform-origin:top right;
  transition:.25s ease;
}
.rg-mixer.is-open .rg-mixer__panel { opacity:1;visibility:visible;transform:none }
.rg-mixer__head { display:flex;align-items:center;justify-content:space-between;margin-bottom:16px }
.rg-mixer__head span { font-size:10px;letter-spacing:.22em;color:rgba(222,203,164,.65) }
.rg-mixer__master,.rg-mixer__mute {
  border:1px solid rgba(213,170,93,.25);
  color:#d8b470;
  background:transparent;
  font:9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.12em;
  padding:7px 8px;
  cursor:pointer;
}
.rg-mixer__master[aria-pressed="true"],.rg-mixer__mute[aria-pressed="true"] {
  color:rgba(220,203,168,.38);
  border-color:rgba(220,203,168,.13);
}
.rg-mixer__channel {
  display:grid;
  grid-template-columns:48px 1fr 48px;
  gap:10px;
  align-items:center;
  margin-top:13px;
}
.rg-mixer__channel label { font-size:10px;letter-spacing:.16em;color:rgba(230,210,169,.72) }
.rg-mixer__channel output { display:none }
.rg-mixer input[type="range"] {
  width:100%;
  height:18px;
  margin:0;
  accent-color:var(--rg-gold);
  background:transparent;
}
.rg-mixer__status {
  margin:14px 0 0;
  padding-top:11px;
  border-top:1px solid rgba(213,170,93,.11);
  font-size:8px;
  letter-spacing:.14em;
  color:rgba(205,180,124,.36);
}
@media(max-width:860px){
  .rg-mixer.rg-mixer--in-shell {
    position:relative;
    top:auto;
    right:auto;
    z-index:auto;
  }
  .rg-mixer--in-shell .rg-mixer__trigger {
    width:34px;
    height:34px;
    padding:0;
    border-color:rgba(201,164,93,.32);
    color:rgba(224,190,120,.85);
    background:rgba(12,11,7,.72);
    box-shadow:none;
    -webkit-backdrop-filter:blur(8px);
    backdrop-filter:blur(8px);
  }
  .rg-mixer--in-shell .rg-mixer__trigger svg { width:17px;height:17px }
  .rg-mixer--in-shell .rg-mixer__panel { top:43px;right:0 }
}

/* ═══ PAGE 29 · mobile color correction (≤860px): the mixer joins the
   corrected ladder — one gold, labels above the low-brightness floor,
   muted states dim but never illegible. Desktop untouched. ═══ */
@media(max-width:860px){
  .rg-mixer {
    --rg-gold:#d3aa60;
    color:#e2d0aa;
  }
  .rg-mixer__panel {
    border-color:rgba(214,180,110,.3);
    background:
      linear-gradient(145deg,rgba(255,240,203,.055),transparent 35%),
      rgba(7,9,7,.93);
  }
  .rg-mixer__head span { color:rgba(228,210,172,.78) }
  .rg-mixer__master,.rg-mixer__mute {
    color:#ddb976;
    border-color:rgba(214,180,110,.32);
  }
  .rg-mixer__master[aria-pressed="true"],.rg-mixer__mute[aria-pressed="true"] {
    color:rgba(222,206,172,.5);
    border-color:rgba(222,206,172,.18);
  }
  .rg-mixer__channel label { color:rgba(235,216,177,.82) }
  .rg-mixer__status { color:rgba(212,188,132,.52) }
}

/* ═══ PAGE 30 · desktop color correction (≥861px): the mixer joins the
   corrected ladder — one gold, labels above the floor, muted states dim
   but never illegible. Mobile untouched. ═══ */
@media(min-width:861px){
  .rg-mixer {
    --rg-gold:#d3aa60;
    color:#e2d0aa;
  }
  .rg-mixer__panel {
    border-color:rgba(214,180,110,.3);
    background:
      linear-gradient(145deg,rgba(255,240,203,.055),transparent 35%),
      rgba(7,9,7,.92);
  }
  .rg-mixer__head span { color:rgba(228,210,172,.78) }
  .rg-mixer__master,.rg-mixer__mute {
    color:#ddb976;
    border-color:rgba(214,180,110,.32);
  }
  .rg-mixer__master[aria-pressed="true"],.rg-mixer__mute[aria-pressed="true"] {
    color:rgba(222,206,172,.5);
    border-color:rgba(222,206,172,.18);
  }
  .rg-mixer__channel label { color:rgba(235,216,177,.82) }
  .rg-mixer__status { color:rgba(212,188,132,.52) }
}

/* KNOB 26 · the TRACK transport: the base channel is a 3-column grid
   (48px | fader | 48px) — four children made NEXT wrap to its own row.
   The transport declares its OWN 4-column grid: label + three equals. */
.rg-mixer__channel.rg-mixer__transport {
  display: grid !important;
  grid-template-columns: 48px 1fr 1fr 1fr !important;
  gap: 8px !important;
  align-items: center;
}
.rg-mixer__transport button {
  width: 100% !important; min-width: 0 !important;
  padding: 7px 0 !important; text-align: center;
}
