/* BoothbysWorkShop v8.2 — augmented surface design language.
   Visual-only; retains native controls, audio playback, and app logic.
   Designed to work without JavaScript, including on touch devices. */
:root{--bws82-depth-cyan:rgba(86,221,251,.34);--bws82-depth-violet:rgba(157,83,255,.22);--bws82-depth-shadow:rgba(0,0,0,.30)}
/* Avoid changing the fixed website header, media iframe, app window positions or desktop taskbar. */
:is(.panel,.card,.tool-card,.app-card,.v20-command-card,.v10-card,.tools-window,.bw-dialog,.window-body,.preview,.previewshell,.designgrid .design-card,.design-card,.design-thumb,.editpanel,.previewcol,.faq,.faqgrid > *, .press-card,.sound-card,.booking-panel,.cdj-screen,.setlist,.cdj-time-cell,.zip-dropzone,.tools-panel,.metric,.visual-option,.clip-preview-shell){
  --bws82-tilt-x:0deg;--bws82-tilt-y:0deg;
  position:relative;
  border-radius:clamp(12px,1.6vw,22px);
  box-shadow:0 2px 0 rgba(255,255,255,.08) inset,0 -1px 0 rgba(0,0,0,.30) inset,0 15px 28px var(--bws82-depth-shadow),0 30px 64px rgba(1,4,15,.18);
  border-color:rgba(102,178,235,.31);
  background-clip:padding-box;
}
:is(.panel,.card,.tool-card,.app-card,.v20-command-card,.v10-card,.press-card,.sound-card,.booking-panel,.metric,.visual-option,.clip-preview-shell,.editpanel,.faq,.faqgrid > *):not(canvas){
  backdrop-filter:blur(7px) saturate(1.13);-webkit-backdrop-filter:blur(7px) saturate(1.13);
}
/* Edge-light is a self-contained treatment, never a full panel overlay. */
:is(.panel,.card,.tool-card,.app-card,.v20-command-card,.v10-card,.press-card,.sound-card,.booking-panel,.metric,.clip-preview-shell,.editpanel,.previewshell,.faq)::after{
  content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;z-index:0;
  background:linear-gradient(136deg,rgba(255,255,255,.075),transparent 21%,transparent 70%,rgba(91,225,255,.035));
  box-shadow:inset 0 1px rgba(255,255,255,.08),inset 0 -1px rgba(180,88,255,.07);
}
/* Depth and illumination on interactive elements: avoid transforming fixed layout wrappers. */
:is(.panel,.card,.tool-card,.app-card,.v20-command-card,.v10-card,.press-card,.sound-card,.booking-panel,.metric,.visual-option,.faq,.faqgrid > *)[data-bws82-depth]{
  transition:box-shadow .23s ease,transform .23s ease,border-color .23s ease;
  transform:perspective(1100px) rotateX(var(--bws82-tilt-x)) rotateY(var(--bws82-tilt-y)) translateZ(0);
  transform-style:preserve-3d;
}
@media(hover:hover) and (pointer:fine){
 :is(.panel,.card,.tool-card,.app-card,.v20-command-card,.v10-card,.press-card,.sound-card,.booking-panel,.metric,.visual-option,.faq,.faqgrid > *)[data-bws82-depth]:hover{
  box-shadow:0 1px 0 rgba(255,255,255,.13) inset,0 0 0 1px rgba(94,215,255,.21),0 22px 35px rgba(0,0,0,.37),0 42px 76px rgba(2,6,24,.26);
  border-color:rgba(115,222,255,.46);
 }
}
:is(button,.btn,a.button,input[type=submit],input[type=button]):not(.win-btn):not(.icon-button){
  box-shadow:inset 0 1px 0 rgba(255,255,255,.15),inset 0 -2px 0 rgba(0,0,0,.18),0 5px 12px rgba(0,0,0,.20);
  transition:box-shadow .2s ease,filter .2s ease,transform .2s ease;
}
@media(hover:hover) and (pointer:fine){
  :is(button,.btn,a.button,input[type=submit],input[type=button]):not(.win-btn):hover:not(:disabled){filter:brightness(1.10);box-shadow:inset 0 1px 0 rgba(255,255,255,.21),0 9px 18px rgba(0,0,0,.27),0 0 17px rgba(88,218,255,.12)}
}
:is(button,.btn,a.button,input[type=submit],input[type=button]):focus-visible{outline:2px solid #9decff;outline-offset:3px}
:is(.panel,.card,.tool-card,.v20-command-card,.v10-card,.press-card,.sound-card,.metric,.editpanel,.previewshell,.clip-preview-shell){outline-offset:2px}
/* The player and playlist retain their specially tuned augmented transforms. Only add a fine perimeter rim. */
.onair-deck-stack > .cdj-shell{outline:1px solid rgba(104,216,255,.11);outline-offset:5px}
.onair-deck-stack > .cdj-shell .setlist{border-color:rgba(114,218,255,.30)!important}
/* Make mobile surfaces feel lifted without hover, hover JS, or horizontal overflow. */
@media(max-width:800px){
 :is(.panel,.card,.tool-card,.app-card,.v20-command-card,.v10-card,.press-card,.sound-card,.booking-panel,.metric,.visual-option,.clip-preview-shell,.editpanel,.faq,.faqgrid > *){
   box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 11px 21px rgba(0,0,0,.28),0 26px 45px rgba(2,7,23,.18);
 }
 :is(.panel,.card,.tool-card,.app-card,.v20-command-card,.v10-card,.press-card,.sound-card,.booking-panel,.metric,.visual-option,.faq,.faqgrid > *)[data-bws82-depth]{transform:none}
 :is(.panel,.card,.tool-card,.app-card,.v20-command-card,.v10-card,.press-card,.sound-card,.booking-panel,.metric,.visual-option,.faq,.faqgrid > *){max-width:100%}
}
@media(prefers-reduced-motion:reduce){
 :is(.panel,.card,.tool-card,.app-card,.v20-command-card,.v10-card,.press-card,.sound-card,.booking-panel,.metric,.visual-option,.faq,.faqgrid > *)[data-bws82-depth],
 :is(button,.btn,a.button,input[type=submit],input[type=button]){transition:none!important;transform:none!important}
}
/* Small non-blocking download preparation splash, shared by tools and pages. */
#bws82-download-splash[hidden]{display:none!important}
#bws82-download-splash{position:fixed;z-index:2147483000;left:50%;bottom:max(24px,env(safe-area-inset-bottom));width:min(480px,calc(100vw - 24px));transform:translateX(-50%);pointer-events:none}
#bws82-download-splash .bws82-download-shell{display:flex;align-items:center;gap:15px;position:relative;pointer-events:auto;padding:15px 16px;border-radius:19px;border:1px solid rgba(95,227,255,.64);background:linear-gradient(135deg,rgba(13,23,49,.95),rgba(35,17,66,.96));color:#f3fbff;box-shadow:0 10px 20px rgba(0,0,0,.45),0 28px 64px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.14);backdrop-filter:blur(16px)}
#bws82-download-splash .bws82-download-icon{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:14px;border:1px solid rgba(120,236,255,.55);background:radial-gradient(circle at 20% 15%,rgba(109,233,255,.4),rgba(39,27,85,.77));font-size:30px;font-weight:900;box-shadow:inset 0 1px rgba(255,255,255,.12),0 8px 17px rgba(0,0,0,.24);animation:bws82-download-hop 1s ease-in-out infinite}
#bws82-download-splash .bws82-download-text{min-width:0;flex:1;display:grid;gap:4px;font:14px/1.35 system-ui,sans-serif}
#bws82-download-splash .bws82-download-text strong{font-weight:800;font-size:15px}
#bws82-download-splash .bws82-download-text small{color:#bcebf7;font-size:12px}
#bws82-download-splash .bws82-download-dismiss{padding:5px!important;flex:0 0 28px;height:28px;border:1px solid rgba(173,214,255,.38);border-radius:8px;background:rgba(21,32,55,.8);color:white;font-size:19px;cursor:pointer}
@keyframes bws82-download-hop{0%,100%{transform:translateY(0)}45%{transform:translateY(-6px)}65%{transform:translateY(2px)}}
@media(prefers-reduced-motion:reduce){#bws82-download-splash .bws82-download-icon{animation:none}}
