/* A line study on the site's paper. All views share one 3D part inventory. */
.drawing-controls { display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 18px;padding:12px 0;border-block:1px solid var(--line); }
#drawing-view { font-size:9px;color:var(--muted);letter-spacing:.13em; }
#assembly-toggle { border:1px solid var(--line);background:transparent;color:var(--muted);font-size:10px;min-height:32px;padding:5px 12px;border-radius:2px; }
#assembly-toggle[hidden] { display:none; }
.deck { background:none;border:0;border-radius:0;box-shadow:none;padding:12px 0 16px; }
.deck-heading { padding-inline:4px; }
.deck-track { padding-inline:4px; }
.motor-dot,.deck.is-playing .motor-dot { background:none;box-shadow:none;border:1px solid #a4aa9b; }
.deck.is-playing .motor-dot { border-color:var(--accent);outline:1px solid var(--accent);outline-offset:2px; }
.turntable-bed { padding:0;aspect-ratio:1;position:relative; }
.is-manual .turntable-bed { aspect-ratio:var(--drawing-aspect); }
.wire-drawing { width:100%;height:100%;display:block;overflow:visible;pointer-events:none; }
.wire-drawing path { fill:none;stroke:#40473b;stroke-linejoin:round;stroke-linecap:round;stroke-width:.38; }
.wire-drawing [data-line-role="outline"] { stroke-width:.56; }
.wire-drawing [data-line-role="detail"] { stroke-width:.23; }
.wire-drawing [data-line-role="texture"] { stroke-width:.16; }
.wire-drawing [data-line-role="axis"] { stroke:#8b9381;stroke-width:.18;stroke-dasharray:3 1 .5 1;stroke-linecap:butt; }
.wire-record-letter { font:400 23px Georgia,serif;text-anchor:middle;fill:#58604f; }
.turntable-bed > .tonearm,.speed-legend,.record-stage > * { display:none; }
.turntable-bed .record-stage { position:absolute;aspect-ratio:auto;border-radius:50%;background:none;outline-offset:3px; }
.waveform-wrap { margin-top:14px; }
.center-mixer { background:none;border:1px solid #c6c9bc;border-radius:2px;box-shadow:none;color:var(--ink);margin-block:14px; }
.mixer-brand { color:#4a5540; }
.mixer-brand span { color:#7c8472; }
.level-meters { opacity:.75; }
.level-meters > div > span { color:#727b66; }
.level-meters i { background:repeating-linear-gradient(to top,transparent 0,transparent 4px,#a2ab943d 4px,#a2ab943d 5px);border:1px solid #b3bba7; }
.level-meters b { background:repeating-linear-gradient(to top,transparent 0,transparent 4px,#637551 4px,#637551 5px); }
.master-control,.fader-labels,.cut-in-control,.mixer-caption { color:#6b765e; }
.master-control input[type="range"] { accent-color:#879477; }
.curve-options button { border-color:#b1baa3;color:#68765b; }
.curve-options button[aria-pressed="true"] { background:none;color:#34462b;border-color:#34462b; }
.cut-in-control select { background:var(--paper);color:var(--accent);border:1px solid var(--line); }
.crossfader-control input::-webkit-slider-runnable-track { background:transparent;border:1px solid #8b967d;box-shadow:none; }
.crossfader-control input::-webkit-slider-thumb { border:1px solid #6d7a5d;background:var(--paper);box-shadow:none; }
.crossfader-control input::-moz-range-track { background:transparent;border:1px solid #8b967d; }
.crossfader-control input::-moz-range-thumb { background:var(--paper);border:1px solid #6d7a5d; }
.cut-pads button,.cut-pads button[aria-pressed="true"] { background:none;color:var(--accent);border:1px solid #9aa68b;box-shadow:none; }
.cut-pads button[aria-pressed="true"] { outline:1px solid var(--accent);outline-offset:2px; }
.cut-pads button kbd { color:#7c886e; }
@media(max-width:700px), (max-width:1100px) and (max-height:520px) {
  .center-mixer { box-shadow:none; }
  .deck { padding-inline:0; }
  .drawing-controls { gap:10px; }
  #drawing-view { font-size:8px;letter-spacing:.06em; }
}
/* One shared camera and one depth solution for the complete DJ booth. */
.turntables { grid-template-columns:453fr 200fr 453fr;column-gap:1.55%;row-gap:0;position:relative;align-items:start; }
.deck { display:contents; }
.deck > * { grid-column:1; }
#deck-B > * { grid-column:3; }
.deck-heading { grid-row:1; }
.deck-track { grid-row:2;margin:12px 0 6px; }
.booth-drawing { grid-column:1 / -1;grid-row:3;min-width:0;position:relative; }
.wire-drawing { position:absolute;inset:0;width:100%;height:100%; }
.wire-drawing path { stroke-width:.7;vector-effect:non-scaling-stroke; }
.wire-drawing [data-line-role="outline"] { stroke-width:1; }
.wire-drawing [data-line-role="detail"] { stroke-width:.45; }
.wire-drawing [data-line-role="texture"] { stroke-width:.24; }
.wire-drawing .label-art path { fill:revert-layer;stroke:revert-layer;stroke-width:revert-layer; }
.wire-drawing .label-art :is(path,circle,rect) { stroke-linejoin:round; }
#deck-A > .turntable-bed,#deck-B > .turntable-bed { grid-column:1 / -1;grid-row:3;align-self:stretch;aspect-ratio:auto;pointer-events:none;padding:0;z-index:1; }
.is-manual .turntable-bed .record-stage { pointer-events:auto; }
.turntable-bed .record-stage { margin:0; }
.waveform-wrap { grid-row:4;margin-top:6px; }
.deck-time { grid-row:5; }
.transport { grid-row:6; }
.deck-adjustments { grid-row:7; }
.center-mixer { grid-column:2;grid-row:4 / 8;position:static;margin:6px 0 0;padding:10px 8px;min-height:0;border:0;display:flex;gap:8px; }
.mixer-brand { font-size:12px;letter-spacing:.16em; }
.mixer-brand span { display:none; }
.level-meters { display:none; }
.master-control { margin:0; }
.crossfader-section,.remix-page:not(.is-manual) .crossfader-section { margin:0;padding:0; }
.fader-labels,.remix-page:not(.is-manual) .fader-labels { margin:0; }
.curve-options,.cut-in-control,.cut-pads,.mixer-caption { font-size:9px; }
.cut-pads button { min-height:40px; }
.sound-palette { display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:15px 0;border-block:1px solid var(--line);margin:14px 0 4px;font-size:11px; }
.sound-palette .sound-themes { display:flex;flex-wrap:wrap;align-items:center;gap:5px; }
.sound-palette button,.sound-palette select { min-height:32px;background:none;border:1px solid var(--line);border-radius:2px;padding:4px 9px;color:var(--ink);font:inherit; }
.sound-palette button[aria-pressed="true"] { background:#405441;color:#faf8ef;border-color:#405441; }
.sound-palette label { display:flex;align-items:center;gap:8px; }
.sound-palette input[type="range"] { width:68px; }
.label-choices { display:flex;gap:12px;margin-left:auto; }
@media(max-width:700px), (max-width:1100px) and (max-height:520px) {
 .turntables { grid-template-columns:453fr 200fr 453fr;gap:0 1.55%; }
 .mobile-deck-switch { display:none; }
 .turntables[data-focus] .deck { display:contents; }
 .deck-heading { font-size:8px; }.deck-track { min-height:38px; }.deck-title { font-size:15px; }.deck-subtitle { font-size:8px; }
 .center-mixer,.remix-page:not(.is-manual) .center-mixer { grid-column:1 / -1;grid-row:8;display:flex;flex-direction:row;align-items:center;gap:16px;padding:12px 0;margin:10px 0 0;border-top:1px solid var(--line); }
 .center-mixer .master-control,.remix-page:not(.is-manual) .master-control { width:88px; }
 .center-mixer .crossfader-section { flex:1;order:0; }
 .center-mixer .crossfader-control { display:block; }
 .center-mixer .mixer-brand { display:none; }
 .is-manual .turntables { grid-template-columns:minmax(0,1fr); }
 .is-manual .mobile-deck-switch { display:flex; }
 .is-manual .turntables[data-focus="A"] #deck-B,.is-manual .turntables[data-focus="B"] #deck-A { display:none; }
 .is-manual .deck > *,.is-manual #deck-B > * { grid-column:1; }
 .is-manual .booth-drawing { overflow:hidden; }



 .is-manual .center-mixer { grid-column:1; }
 .transport { gap:3px; }.transport button { font-size:9px;padding:6px 2px; }
 .sound-palette { gap:10px; }.label-choices { margin-left:0; }.sound-palette input[type="range"] { width:60px; }
}
.booth-fader { position:absolute;transform:translate(-50%,-50%);height:44px;min-height:44px;opacity:0;z-index:2;cursor:ew-resize!important; }
.booth-fader:focus-visible { opacity:.7;outline:1px solid var(--accent);outline-offset:2px; }
.booth-fader[hidden] { display:none; }
@media(max-width:700px), (max-width:1100px) and (max-height:520px) { .booth-fader { display:none; } }
.sound-palette .sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
/* The live arm is opaque and always above the record and its printed label. */
.arm-canvas { position:absolute;pointer-events:none;z-index:2; }
.arm-canvas[hidden],.arm-handle[hidden],.booth-controls[hidden] { display:none; }
.arm-handle { position:absolute;z-index:6;width:34px;height:34px;transform:translate(-50%,-50%);border:1px solid transparent;border-radius:50%;cursor:grab;touch-action:none;background:transparent; }
.arm-handle:focus-visible { outline:1px solid #536948;outline-offset:2px; }
.arm-handle.is-dragging { cursor:grabbing; }
.booth-controls { position:absolute;inset:0;z-index:4;pointer-events:none; }
.booth-control { position:absolute;transform:translate(-50%,-50%);min-width:24px;min-height:24px;pointer-events:auto;border:1px solid transparent;border-radius:3px; }
.booth-control:focus-within,.booth-control:hover { background:transparent;border-color:transparent;box-shadow:none;z-index:8; }
.booth-control:has(:focus-visible) { outline:1px solid #536948;outline-offset:2px; }
.booth-control::after { content:attr(data-tip);position:absolute;left:50%;bottom:100%;transform:translateX(-50%);white-space:nowrap;padding:3px 5px;background:#f6f5edf0;border:0;font-size:8px;line-height:1.4;color:var(--muted);opacity:0;pointer-events:none; }
.booth-control:hover::after,.booth-control:focus-within::after { opacity:1; }
.booth-control button { display:grid;place-items:center;width:100%;height:100%;padding:0;border:0;background:transparent;color:#455a3d;font-size:0;box-shadow:none; }
.booth-control button[aria-pressed="true"],.booth-control button:hover,.booth-control button:active { color:#34482f;background:transparent;box-shadow:none; }
.booth-control button[data-action="mute"][aria-pressed="true"] { color:#976848; }
.booth-control input[type="range"] { width:100%;height:100%;min-height:0;opacity:.28;display:block;cursor:ew-resize; }
.booth-control:focus-within input,.booth-control:hover input { opacity:1; }
.booth-control.is-vertical input { writing-mode:vertical-lr;direction:rtl;cursor:ns-resize; }
.booth-fader { z-index:5;opacity:.17;border:1px solid transparent; }
.booth-fader:hover,.booth-fader:focus-visible { opacity:.85; }
.drawing-controls .manual-toggle { margin:0;padding:6px 12px;border:1px solid #8d9b80;border-radius:2px;text-decoration:none;white-space:nowrap; }
.drawing-controls .manual-toggle[aria-pressed="true"] { background:#45593c;color:#faf8ed; }
.drawing-controls #drawing-view { flex:1; }
.vinyl-surface path { vector-effect:none; }
@media(max-width:700px), (max-width:1100px) and (max-height:520px){.drawing-controls{flex-wrap:wrap;}.drawing-controls #drawing-view{min-width:160px;}.arm-handle{width:38px;height:38px;}.booth-control::after{font-size:9px;max-width:130px;white-space:normal;} }
/* Keep one visible cap: the native range supplies input, the SVG supplies ink. */
.booth-fader { appearance:none;-webkit-appearance:none;background:transparent;opacity:1;height:32px;min-height:32px;color:transparent; }
.booth-fader::-webkit-slider-runnable-track { background:transparent;border:0;box-shadow:none;height:8px; }
.booth-fader::-webkit-slider-thumb { appearance:none;-webkit-appearance:none;background:transparent;border:0;box-shadow:none;width:18px;height:28px;margin-top:-10px; }
.booth-fader::-moz-range-track { background:transparent;border:0;box-shadow:none; }
.booth-fader::-moz-range-thumb { background:transparent;border:0;box-shadow:none;width:18px;height:28px; }
.booth-fader:hover { opacity:1;border-color:transparent;outline:none; }
.booth-fader:focus-visible { opacity:1;outline:1px solid #536948;outline-offset:2px; }
.is-manual .auto-deck-hint { display:none; }
.booth-control[hidden] { display:none; }
.record-stage[hidden] { display:none; }
