/* Interactive stage plot - drag to move, corner handle to turn. Prints clean. */
.pal{display:flex;flex-wrap:wrap;gap:8px}
.pal .btn{font-size:14px;padding:8px 13px}

.stagewrap{position:relative;padding:26px 74px 30px;margin:4px 0 0}
.edgelabel{position:absolute;left:74px;right:74px;text-align:center;
  font:600 12px Karla,sans-serif;letter-spacing:.14em;color:var(--soft)}
.edgelabel.up{top:4px}
.edgelabel.down{bottom:6px;color:var(--ink)}
.sidelabel{position:absolute;top:50%;font:600 12px Karla,sans-serif;
  letter-spacing:.14em;color:var(--soft);white-space:nowrap}
.sidelabel.sr{left:6px;transform:translateY(-50%) rotate(-90deg)}
.sidelabel.sl{right:6px;transform:translateY(-50%) rotate(90deg)}

.stage{position:relative;aspect-ratio:3/2;background:#FFFDF6;
  border:2px solid var(--line);border-bottom:7px solid var(--ink);
  border-radius:10px;touch-action:none;overflow:hidden;
  background-image:
    linear-gradient(to right,rgba(43,33,24,.06) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(43,33,24,.06) 1px,transparent 1px);
  background-size:8.333% 8.333%}
@media(max-width:720px){.stagewrap{padding:24px 30px 28px}
  .sidelabel{font-size:10px}.stage{aspect-ratio:1/1}}

.piece{position:absolute;display:flex;align-items:center;justify-content:center;
  text-align:center;border:2px solid var(--ink);border-radius:9px;background:#fff;
  cursor:grab;user-select:none;box-shadow:0 2px 5px rgba(43,33,24,.18)}
.piece .plabel{font:700 12.5px/1.15 Karla,sans-serif;color:var(--ink);
  padding:2px 5px;pointer-events:none}
.piece.sel{outline:3px solid var(--coral);outline-offset:2px;cursor:grabbing;z-index:5}
.p-vox{background:#E8F3EA}
.p-horn{background:#F9EEDE}
.p-drums{background:#E4ECF6}
.p-amp{background:#F3F0E8}
.p-amp .plabel{font-size:11px}
.p-mon{background:#EEEEEE;border-radius:4px 4px 12px 12px}
.p-mon .plabel{font-size:11.5px}
.p-mic,.p-di{border-radius:50%}
.p-mic .plabel,.p-di .plabel{font-size:11px}
.p-pow{background:var(--paper2)}
.p-pow .plabel{font-size:11px}
.p-foh{background:#E4ECF6}

/* the corner handle you grab to swing a piece */
.rot{position:absolute;top:-11px;right:-11px;width:22px;height:22px;
  border-radius:50%;background:var(--coral);border:2px solid #fff;
  box-shadow:0 2px 6px rgba(43,33,24,.4);cursor:grab;touch-action:none}
.rot::after{content:"\21BB";position:absolute;inset:0;color:#fff;font-size:13px;
  line-height:18px;text-align:center;pointer-events:none}
.rot:active{cursor:grabbing}

.selpanel{margin-top:16px;padding:14px;background:var(--paper2);
  border:2px dashed var(--teal);border-radius:12px}
.selpanel input[type=range]{width:100%;accent-color:var(--coral)}
.plotbar{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-top:16px;
  padding-top:14px;border-top:2px solid var(--line)}

/* ---------- print: one clean page, plot and nothing else ---------- */
.printonly{display:none}
@media print{
  @page{size:landscape;margin:12mm}
  .nav,.plotbar,.pal,.selpanel,.fgrid,footer,.mast,.dls,.stats,
  .lede,.eyebrow,#scaleNote,.rot{display:none!important}
  section{padding:0!important;background:#fff!important}
  section:not(#plotsec){display:none!important}
  .doc{box-shadow:none!important;border:none!important;padding:0!important}
  .printonly{display:block;margin:0 0 10px}
  #printHead{font:700 15pt Karla,sans-serif;color:#000}
  #printNotes{font:400 10pt Karla,sans-serif;color:#333;margin-top:3px}
  .stagewrap{padding:20px 60px 24px}
  .stage{aspect-ratio:3/2;break-inside:avoid;background-image:none;
    border-color:#000;box-shadow:none}
  .piece{box-shadow:none;border-color:#000}
  .piece.sel{outline:none}
  body{background:#fff}
}

/* ---------- venue submission packet ---------- */
.pkitems{display:grid;gap:9px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.pkitem{display:flex;gap:10px;align-items:flex-start;background:var(--card);
  border:2px solid var(--line);border-radius:12px;padding:12px 14px;cursor:pointer}
.pkitem:has(input:checked){border-color:var(--teal);box-shadow:3px 3px 0 var(--teal)}
.pkitem input{margin-top:3px;accent-color:var(--teal);width:17px;height:17px}
.pkitem b{display:block;font:700 15px Karla,sans-serif}
.pkitem em{display:block;font-style:normal;color:var(--soft);font-size:13px}

.pkcover{display:none;background:#fff;border:2px solid var(--line);border-radius:14px;
  padding:34px;margin-top:20px}
.pkcover h1{font:400 34px Righteous,sans-serif;color:var(--teal);margin:0}
.pkcover .sub{color:var(--soft);margin:4px 0 18px}
.pkcover .to{margin:3px 0;font-size:15px}
.pkcover .note{margin:14px 0;font-size:15px}
.pkcover .hd{font:700 11px Karla,sans-serif;letter-spacing:.2em;text-transform:uppercase;
  color:var(--coral);margin:20px 0 8px;border-top:2px solid var(--line);padding-top:14px}
.pkcover ul{list-style:none;margin:0;padding:0}
.pkcover li{padding:9px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.pkcover li span{display:block;font:400 11.5px "IBM Plex Mono",monospace;
  color:var(--soft);word-break:break-all;margin-top:2px}
.pkcover .ft{margin-top:20px;color:var(--soft);font-size:13px}

@media print{
  body.printing-packet .nav,body.printing-packet footer,body.printing-packet .mast,
  body.printing-packet section:not(#packetsec),body.printing-packet .doc,
  body.printing-packet .lede,body.printing-packet .eyebrow,
  body.printing-packet h2{display:none!important}
  body.printing-packet .pkcover{display:block;border:none;padding:0;margin:0}
  body.printing-packet{background:#fff}
  body.printing-packet section{padding:0!important;background:#fff!important}
}
