/* One-shot ARG signal override for Listening Parties. Dormant unless an owner
   arms an event through Host Tools. */
body.argtx-lock{overflow:hidden!important}

.argtx-overlay{position:fixed;inset:0;z-index:30000;display:none;align-items:center;
  justify-content:center;overflow:hidden;background:#020403;color:#dce8d6;
  isolation:isolate;font-family:"Courier New",monospace;cursor:default}
.argtx-overlay.on{display:flex}
.argtx-overlay::before{content:"";position:absolute;inset:-12%;z-index:8;pointer-events:none;
  opacity:.2;mix-blend-mode:screen;background:
  repeating-radial-gradient(ellipse at 25% 35%,transparent 0 1px,rgba(255,255,255,.68) 1px 2px,transparent 2px 4px),
  repeating-linear-gradient(17deg,rgba(143,255,46,.1) 0 1px,transparent 1px 5px);
  animation:argtxNoise .16s steps(2,end) infinite}
.argtx-overlay::after{content:"";position:absolute;inset:0;z-index:9;pointer-events:none;
  background:repeating-linear-gradient(0deg,rgba(0,0,0,.3) 0 1px,transparent 1px 4px),
    radial-gradient(circle at center,transparent 36%,rgba(0,0,0,.62) 100%)}
@keyframes argtxNoise{0%{transform:translate(-2%,1%);background-position:0 0,0 0}
  33%{transform:translate(1%,-1%);background-position:31px -14px,8px 2px}
  66%{transform:translate(-1%,2%);background-position:-19px 23px,-6px 4px}
  100%{transform:translate(2%,-2%);background-position:7px -31px,3px -4px}}

.argtx-tear{position:absolute;left:-5%;right:-5%;height:9%;z-index:10;pointer-events:none;
  opacity:.2;background:linear-gradient(90deg,transparent,rgba(173,255,99,.5),transparent);
  filter:blur(3px);animation:argtxTear 2.7s steps(7,end) infinite}
.argtx-tear.t2{animation-delay:-1.15s;height:3%;opacity:.28}
@keyframes argtxTear{0%{top:-12%;transform:translateX(-4%)}100%{top:112%;transform:translateX(4%)}}

.argtx-acquire{position:relative;z-index:12;text-align:center;letter-spacing:.18em;text-transform:uppercase;
  color:#a6ff5e;text-shadow:0 0 12px rgba(143,255,46,.7);transition:opacity .3s}
.argtx-acquire-mark{font-size:clamp(2.7rem,8vw,6.8rem);line-height:1;animation:argtxMark 1.1s steps(2,end) infinite}
.argtx-acquire-text{margin-top:18px;font-size:clamp(.72rem,1.5vw,1rem)}
@keyframes argtxMark{50%{transform:translateX(3px);text-shadow:-7px 0 #9b2435,7px 0 #2f9588}}

.argtx-stage{position:relative;z-index:6;width:min(1180px,92vw);height:min(720px,84vh);
  display:grid;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);gap:clamp(22px,4vw,58px);
  align-items:center;padding:clamp(22px,4vw,54px);opacity:0;transform:scale(.97);
  border:1px solid rgba(143,255,46,.28);background:rgba(2,8,5,.88);
  box-shadow:0 0 80px rgba(0,0,0,.9),inset 0 0 70px rgba(38,94,24,.12);
  transition:opacity .7s,transform .7s;overflow:hidden}
.argtx-overlay.playing .argtx-stage{opacity:1;transform:scale(1)}
.argtx-overlay.playing .argtx-acquire{opacity:0;position:absolute;pointer-events:none}
.argtx-overlay.releasing .argtx-stage{opacity:.12;transform:scale(1.04) skewX(-1deg);filter:contrast(1.8) saturate(.4)}
.argtx-overlay.releasing::before{opacity:.45;animation-duration:.1s}
.argtx-stage::before,.argtx-stage::after{content:"";position:absolute;pointer-events:none}
.argtx-stage::before{inset:10px;border:1px solid rgba(143,255,46,.12)}
.argtx-stage::after{left:0;right:0;top:0;height:2px;background:#8fff2e;opacity:.4;
  box-shadow:0 0 16px #8fff2e;animation:argtxScan 5s linear infinite}
@keyframes argtxScan{from{transform:translateY(0)}to{transform:translateY(min(720px,84vh))}}

.argtx-media{position:relative;aspect-ratio:1;border:1px solid rgba(143,255,46,.3);overflow:hidden;
  background:radial-gradient(circle,#172216,#030604 70%);box-shadow:0 0 35px rgba(81,179,35,.15)}
.argtx-media img,.argtx-media video{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.72) contrast(1.14)}
.argtx-media::after{content:"CAMERA FEED / UNVERIFIED";position:absolute;left:10px;bottom:9px;
  padding:5px 7px;background:rgba(0,0,0,.72);color:#b7d3a6;font-size:.58rem;letter-spacing:.12em}
.argtx-media-empty{position:absolute;inset:0;display:grid;place-items:center;color:#6c8a60;font-size:4rem}

.argtx-copy{min-width:0;height:100%;display:flex;flex-direction:column;justify-content:center}
.argtx-kicker{color:#8fff2e;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;margin-bottom:14px}
.argtx-title{font-family:"Cinzel",serif;font-size:clamp(1.55rem,3vw,3rem);line-height:1.05;color:#edf5e8;
  text-shadow:2px 0 rgba(155,36,53,.5),-2px 0 rgba(47,149,136,.45);overflow-wrap:anywhere}
.argtx-artist{margin-top:8px;color:#9caf91;font-size:.83rem;letter-spacing:.09em}
.argtx-lyrics{position:relative;margin-top:28px;min-height:180px;max-height:310px;overflow:hidden;
  border-top:1px solid rgba(143,255,46,.14);border-bottom:1px solid rgba(143,255,46,.14);
  padding:58px 10px;color:#72806e;mask-image:linear-gradient(transparent,#000 20%,#000 80%,transparent)}
.argtx-lines{transition:transform .65s cubic-bezier(.2,.8,.2,1)}
.argtx-line{min-height:38px;display:flex;align-items:center;font-family:"EB Garamond",serif;
  font-size:clamp(1.05rem,2vw,1.45rem);line-height:1.2;opacity:.38;transition:opacity .35s,color .35s,transform .35s}
.argtx-line.active{opacity:1;color:#e5f5db;transform:translateX(8px);text-shadow:0 0 13px rgba(143,255,46,.3)}
.argtx-line.past{opacity:.2}
.argtx-no-lyrics{height:100%;display:grid;place-items:center;color:#67805d;font-size:.7rem;
  letter-spacing:.18em;text-transform:uppercase;text-align:center}
.argtx-progress{height:2px;margin-top:24px;background:rgba(143,255,46,.12);overflow:hidden}
.argtx-progress>span{display:block;height:100%;width:0;background:#8fff2e;box-shadow:0 0 10px #8fff2e}
.argtx-clock{margin-top:8px;text-align:right;color:#718267;font-size:.62rem;letter-spacing:.12em}
.argtx-blocked{display:none;position:absolute;z-index:14;left:50%;bottom:7%;transform:translateX(-50%);
  padding:12px 18px;border:1px solid #8fff2e;background:#071006;color:#cfffaa;font:700 .68rem/1 "Courier New",monospace;
  letter-spacing:.15em;text-transform:uppercase;cursor:pointer;box-shadow:0 0 25px rgba(143,255,46,.25)}
.argtx-blocked.on{display:block}

/* Owner control panel. It inherits the site's cp-overlay/cp-modal shell. */
.argtx-control{max-width:660px!important}
.argtx-control-grid{display:grid;gap:13px}
.argtx-control-row{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:end}
.argtx-control select,.argtx-control input{width:100%}
.argtx-control-state{margin:2px 0 14px;padding:11px 13px;border:1px solid rgba(176,141,79,.24);
  border-radius:8px;background:rgba(5,9,6,.55);font-family:"EB Garamond",serif;color:#bfc6b5}
.argtx-control-state strong{color:#8fff2e;font-family:"Cinzel",serif;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}
.argtx-control-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.argtx-danger{border-color:rgba(164,58,61,.55)!important;color:#efc5c5!important}
.argtx-control-note{font-size:.78rem;color:#8f9987;line-height:1.4}

@media(max-width:760px){
  .argtx-stage{height:92vh;grid-template-columns:1fr;grid-template-rows:minmax(190px,38vh) 1fr;gap:17px;padding:20px}
  .argtx-media{height:100%;width:min(100%,360px);justify-self:center;aspect-ratio:1}
  .argtx-copy{height:auto;min-height:0;justify-content:flex-start}
  .argtx-kicker{margin-bottom:7px}.argtx-title{font-size:1.45rem}.argtx-artist{font-size:.72rem}
  .argtx-lyrics{min-height:110px;max-height:155px;margin-top:15px;padding:42px 8px}
  .argtx-line{min-height:30px;font-size:1rem}
  .argtx-progress{margin-top:12px}
  .argtx-control-row{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  .argtx-overlay::before,.argtx-tear,.argtx-stage::after,.argtx-acquire-mark{animation:none!important}
  .argtx-lines,.argtx-stage{transition:none!important}
}
