/* Kink Drawer (toys.js): loaded on the site and on the admin preview page */
:root{--ink:#140510;--plum-0:#1d0818;--velvet:#7a0f2f;--gold:#d8b26a;--gold-2:#f4dda2;--cream:#f7ecd6;--blush:#f6b6c8;--pink:#ff3d8b;--line:rgba(216,178,106,.35);--f-display:"Limelight",Georgia,serif;--f-script:"Pinyon Script",cursive;--f-label:"Josefin Sans",system-ui,sans-serif}
.toybox{position:fixed;right:16px;bottom:16px;z-index:402;display:flex;flex-direction:column;align-items:flex-end;gap:12px;font-family:var(--f-label)}
.toybox-btn{display:inline-flex;align-items:center;gap:10px;padding:8px 18px 8px 8px;border-radius:999px;border:0;cursor:pointer;
  background:linear-gradient(135deg,#2a0a1e,#140510);color:var(--gold-2);box-shadow:0 0 0 1px var(--gold),0 0 0 4px rgba(20,5,16,.8),0 0 0 5px rgba(216,178,106,.4),0 14px 30px -10px #000;
  font:700 11px/1 var(--f-label);letter-spacing:.24em;text-transform:uppercase;transition:transform .2s}
.toybox-btn:hover{transform:translateY(-2px)}
.toybox-btn .ic{width:38px;height:38px;border-radius:50%;background:var(--velvet);display:grid;place-items:center;box-shadow:inset 0 0 0 1px var(--gold)}
.toybox-btn .ic svg{width:26px;height:26px}
.toybox-panel{width:min(340px,calc(100vw - 32px));padding:20px 18px 18px;border-radius:16px;
  background:radial-gradient(ellipse at 50% 0,#5a0c2c,#1d0818 70%);box-shadow:0 0 0 2px var(--gold),0 0 0 6px #140510,0 0 0 7px rgba(216,178,106,.5),0 30px 60px -20px #000;
  transform-origin:bottom right;transform:translateY(16px) scale(.92);opacity:0;visibility:hidden;transition:transform .3s cubic-bezier(.2,1.4,.4,1),opacity .2s,visibility .3s}
.toybox.open .toybox-panel{transform:none;opacity:1;visibility:visible}
.toybox-title{margin:0 0 14px;text-align:center;font:400 30px/1 var(--f-display);color:var(--gold-2)}
.toybox-title small{display:block;font:400 22px/1.3 var(--f-script);color:var(--blush);letter-spacing:0;text-transform:none}
.toybox-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.toybox-grid button{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 6px 10px;border-radius:10px;border:1px solid var(--line);background:rgba(20,5,16,.55);color:var(--cream);cursor:pointer;
  font:700 9.5px/1.25 var(--f-label);letter-spacing:.14em;text-transform:uppercase;transition:.2s}
.toybox-grid button svg{width:40px;height:40px;transition:transform .3s}
.toybox-grid button:hover{border-color:var(--gold);background:rgba(122,15,47,.5)}
.toybox-grid button:hover svg{transform:rotate(-10deg) scale(1.12)}
.toybox-grid button[aria-pressed=true]{border-color:transparent;box-shadow:0 0 0 2px var(--gold),0 0 20px -4px var(--pink);background:rgba(122,15,47,.7);color:var(--gold-2)}
html.whip-on .toybox,html.whip-on .toybox *{cursor:none!important}
/* whip cursor */
.whip-canvas{position:fixed;inset:0;z-index:400;pointer-events:none}
html.whip-on,html.whip-on *{cursor:none!important}
html.whip-on input,html.whip-on textarea,html.whip-on select{cursor:text!important}
.crack-word{position:fixed;z-index:401;pointer-events:none;font:400 46px/1 var(--f-display);color:#fff6d8;
  -webkit-text-stroke:2px #c4135a;text-shadow:4px 4px 0 #c4135a,8px 8px 0 rgba(20,163,160,.8);
  transform:translate(-50%,-50%) rotate(var(--r)) scale(.3);animation:pop .9s cubic-bezier(.2,1.6,.4,1) forwards}
@keyframes pop{30%{transform:translate(-50%,-90%) rotate(var(--r)) scale(1.15);opacity:1}100%{transform:translate(-50%,-160%) rotate(var(--r)) scale(1);opacity:0}}
