:root{
  --bg:#050308;--text:#fff7fb;--muted:#cebfd0;--pink:#ff1f8f;--purple:#8b5cf6;
  --gold:#ffd166;--green:#31d0aa;--red:#ff5c77;--border:rgba(255,255,255,.16);
  --shadow:0 24px 80px rgba(0,0,0,.45);--radius:24px
}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:
radial-gradient(circle at 12% 0%,rgba(255,31,143,.24),transparent 34%),
radial-gradient(circle at 92% 16%,rgba(139,92,246,.20),transparent 32%),
linear-gradient(145deg,#050308,#0b0613 55%,#050308)}
button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}a{color:inherit}
.shell{width:min(1180px,calc(100% - 28px));margin:0 auto;padding:22px 0 44px}
.judge-shell{width:min(700px,calc(100% - 20px));margin:0 auto;padding:14px 0 28px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;padding:18px;border-radius:28px;border:1px solid var(--border);background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.045));box-shadow:var(--shadow)}
.brand{display:flex;gap:14px;align-items:center}.logo{width:58px;height:58px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,var(--pink),var(--purple));font-size:30px;flex:0 0 auto}
h1,h2,h3,p{margin-top:0}h1{margin-bottom:4px;font-size:clamp(1.55rem,4vw,2.7rem);line-height:1;letter-spacing:-.055em}.subtitle,.small{color:var(--muted)}.small{font-size:.92rem;line-height:1.45}
.layout{display:grid;grid-template-columns:250px 1fr;gap:16px;align-items:start}.side,.card{border-radius:var(--radius);border:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.105),rgba(255,255,255,.047));box-shadow:var(--shadow);backdrop-filter:blur(16px)}
.side{padding:12px;position:sticky;top:16px}.card{padding:20px}.card h2{margin-bottom:8px;font-size:1.35rem;letter-spacing:-.03em}
.nav{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;padding:13px 14px;border-radius:16px;text-align:left;color:var(--text);background:transparent;border:1px solid transparent;font-weight:850}.nav:hover,.nav.active{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.16)}
.grid{display:grid;gap:14px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}
label{display:block;margin-bottom:6px;color:var(--muted);font-size:.84rem;font-weight:750}
input,select,textarea{width:100%;padding:13px 14px;border-radius:15px;color:var(--text);background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.16);outline:0}
input[type="date"]{color-scheme:dark}
select option{background:white;color:#151019}textarea{min-height:90px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:rgba(255,79,179,.8);box-shadow:0 0 0 4px rgba(255,31,143,.14)}
.btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 14px;border-radius:14px;color:white;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);font-weight:850;text-decoration:none}.primary{background:linear-gradient(135deg,var(--pink),var(--purple))}.gold{color:#241600;background:linear-gradient(135deg,#f59e0b,var(--gold))}.green{color:#021410;background:linear-gradient(135deg,#0fa789,var(--green))}.danger{background:linear-gradient(135deg,#e5484d,var(--red))}.big{min-height:70px;border-radius:20px;font-size:1.05rem}
.stat{padding:18px;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}.num{margin-bottom:3px;font-size:2.15rem;font-weight:950;letter-spacing:-.06em}
.list{display:grid;gap:10px;margin-top:12px}.item{display:grid;gap:8px;padding:14px;border-radius:18px;background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.12)}.head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.title{font-weight:950}
.tag{display:inline-flex;width:fit-content;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.16);color:white;font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.tag.gold{color:#ffe3a2;background:rgba(255,209,102,.16)}.tag.green{color:#a8ffe9;background:rgba(49,208,170,.16)}.tag.red{color:#ffc0cc;background:rgba(255,92,119,.16)}
.div{height:1px;margin:16px 0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent)}
.login{min-height:100vh;display:grid;place-items:center;padding:24px}.login .card{width:min(560px,100%);text-align:center}.login .logo{margin:0 auto 14px;width:78px;height:78px;font-size:38px}
.score-card{border-color:rgba(255,79,179,.28)}.cat{padding:14px;border-radius:18px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.12);margin-bottom:12px}.score-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:10px}.score-btn{min-height:68px;border-radius:18px;background:rgba(255,255,255,.11);color:var(--text);border:1px solid rgba(255,255,255,.15);font-size:1.5rem;font-weight:950}.score-btn.selected{background:linear-gradient(135deg,var(--pink),var(--purple));box-shadow:0 16px 36px rgba(255,31,143,.25)}
.actions{position:sticky;bottom:0;z-index:5;margin:18px -20px -20px;padding:14px 20px;background:rgba(5,3,8,.9);backdrop-filter:blur(16px);border-top:1px solid rgba(255,255,255,.14)}
.progress{width:100%;height:12px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.12)}.fill{height:100%;background:linear-gradient(90deg,var(--pink),var(--gold))}
table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border-radius:18px;border:1px solid rgba(255,255,255,.11)}th,td{padding:13px;border-bottom:1px solid rgba(255,255,255,.10);text-align:left;vertical-align:top}th{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;background:rgba(255,255,255,.08)}.rank{color:var(--gold);font-weight:950}
.toast{position:fixed;right:18px;bottom:18px;max-width:min(420px,calc(100% - 36px));z-index:20;padding:14px 16px;border-radius:18px;color:var(--text);background:rgba(9,5,19,.96);border:1px solid rgba(255,255,255,.18);box-shadow:var(--shadow)}
@media(max-width:860px){.shell,.judge-shell{width:min(100% - 18px,1180px);padding-top:10px}.layout,.g2,.g3,.row{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.side{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.nav{margin-bottom:0}.head{flex-direction:column}.score-btn{min-height:58px}}
.guest-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.choice-btn{min-height:78px;border-radius:18px;padding:12px 14px;color:var(--text);text-align:left;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.15);display:grid;gap:4px}
.choice-btn span{color:var(--gold);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.choice-btn strong{font-size:1.02rem}.choice-btn.selected{background:linear-gradient(135deg,var(--pink),var(--purple));box-shadow:0 16px 36px rgba(255,31,143,.25);border-color:rgba(255,255,255,.35)}
@media(max-width:560px){.guest-choice-grid{grid-template-columns:1fr}.choice-btn{min-height:64px}.score-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.score-btn{min-height:50px;font-size:1.15rem}}

/* v54 branding and voting UI polish */
body::before{content:"";position:fixed;inset:0;pointer-events:none;background:
radial-gradient(circle at 50% 0%,rgba(255,31,143,.16),transparent 34%),
radial-gradient(circle at 20% 80%,rgba(255,209,102,.08),transparent 28%),
linear-gradient(90deg,rgba(255,31,143,.05),transparent 18%,transparent 82%,rgba(255,31,143,.05));z-index:-1}
.logo{width:82px;height:82px;border-radius:24px;display:block;overflow:hidden;background:#120711;border:1px solid rgba(255,255,255,.18);box-shadow:0 18px 42px rgba(255,31,143,.22),inset 0 0 0 1px rgba(255,255,255,.08);flex:0 0 auto;font-size:0}
.logo img{width:100%;height:100%;object-fit:contain;display:block}.login .logo{width:160px;height:160px;border-radius:32px;margin:0 auto 18px}.brand{min-width:0}.brand h1{word-break:normal;overflow-wrap:normal}.topbar{padding:20px 22px}.topbar .brand .logo{width:96px;height:96px;border-radius:28px}.btn{box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}.primary,.pulse-btn{box-shadow:0 20px 50px rgba(255,31,143,.26),inset 0 0 0 1px rgba(255,255,255,.12)}
.score-grid-ten{grid-template-columns:repeat(10,minmax(0,1fr));gap:7px}.score-grid-ten .score-btn{min-height:58px;border-radius:16px;font-size:1.15rem;background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.07))}.score-grid-ten .score-btn.selected{transform:translateY(-2px);outline:2px solid rgba(255,255,255,.25)}
.guest-shell{width:min(980px,calc(100% - 22px));margin:0 auto;padding:16px 0 36px}.guest-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;padding:24px;border-radius:34px;border:1px solid rgba(255,255,255,.18);background:
linear-gradient(135deg,rgba(255,31,143,.24),rgba(139,92,246,.12) 52%,rgba(255,209,102,.07)),
linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.045));box-shadow:0 26px 100px rgba(0,0,0,.5);overflow:hidden}.guest-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 26% 10%,rgba(255,255,255,.15),transparent 18%),radial-gradient(circle at 76% 40%,rgba(255,31,143,.20),transparent 30%);pointer-events:none}.guest-hero-inner{position:relative;display:flex;align-items:center;gap:18px;min-width:0}.hero-logo{width:132px!important;height:132px!important;border-radius:34px!important}.guest-hero-copy h1{font-size:clamp(2rem,7vw,4.6rem);line-height:.9;letter-spacing:-.07em;margin-top:8px;text-shadow:0 16px 42px rgba(0,0,0,.45)}.guest-status-card{position:relative;min-width:190px;padding:18px;border-radius:24px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.16);text-align:center}.guest-hero-card{text-align:center;padding:28px}.guest-vote-card{padding:22px;border-color:rgba(255,31,143,.26)}.guest-progress{margin:16px 0 18px;height:14px}.guest-categories{display:grid;gap:16px}.guest-category-card{padding:16px;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.13)}.guest-category-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.guest-category-head h2{margin:8px 0 0;font-size:1.4rem}.polished-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.guest-contestant-tile{position:relative;min-height:112px;padding:17px;text-align:left;border-radius:24px;background:
linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.16);box-shadow:0 16px 32px rgba(0,0,0,.20);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.guest-contestant-tile:hover{transform:translateY(-2px);border-color:rgba(255,31,143,.55)}.guest-contestant-tile span{display:inline-flex;padding:5px 10px;border-radius:999px;background:rgba(255,209,102,.14);color:#ffe4a3}.guest-contestant-tile strong{display:block;margin-top:10px;font-size:1.22rem;letter-spacing:-.025em}.guest-contestant-tile small{display:block;margin-top:5px;color:var(--muted);font-weight:800}.guest-contestant-tile.selected{background:linear-gradient(135deg,rgba(255,31,143,.96),rgba(139,92,246,.92));border-color:rgba(255,255,255,.42);box-shadow:0 24px 60px rgba(255,31,143,.30)}.guest-contestant-tile.selected::after{content:"✓";position:absolute;right:16px;top:14px;width:32px;height:32px;border-radius:999px;display:grid;place-items:center;background:rgba(255,255,255,.95);color:#9b0f60;font-weight:950}.guest-name-card{margin-top:16px;padding:16px;border-radius:22px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.12)}.guest-actions{border-radius:0 0 var(--radius) var(--radius)}.guest-actions .btn{width:100%;font-size:1.16rem}.guest-confirm-card{margin-bottom:16px;text-align:center;border-color:rgba(49,208,170,.28)}.guest-leaders-card{margin-top:16px}.guest-leader-stat{background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.045));border-color:rgba(255,255,255,.14)}.guest-leader-stat .title{font-size:1.05rem}.choice-btn small{color:var(--muted)}
@media(max-width:900px){.topbar .brand .logo{width:86px;height:86px}.guest-hero{flex-direction:column;align-items:stretch}.guest-status-card{min-width:0}.score-grid-ten{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:620px){.guest-shell{width:min(100% - 16px,980px);padding-top:10px}.guest-hero{padding:18px;border-radius:28px}.guest-hero-inner{flex-direction:column;text-align:center}.hero-logo{width:170px!important;height:170px!important}.guest-hero-copy h1{font-size:3rem}.polished-choice-grid{grid-template-columns:1fr}.guest-contestant-tile{min-height:96px}.topbar .brand .logo{width:76px;height:76px}.login .logo{width:148px;height:148px}.side{grid-template-columns:1fr}.score-grid-ten .score-btn{min-height:52px}}


/* v58 compact admin restore */
body.admin-compact{
  margin:0;
  min-height:100vh;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 15% 0%, rgba(255,42,163,.22), transparent 32%),
    radial-gradient(circle at 85% 6%, rgba(137,87,255,.18), transparent 34%),
    linear-gradient(145deg,#160011 0%,#07020a 48%,#130525 100%);
  color:#fff7fb;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body.admin-compact::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.28;
  background-image:
    radial-gradient(circle,rgba(255,255,255,.55) 0 1px,transparent 1.6px),
    radial-gradient(circle,rgba(255,42,163,.32) 0 1px,transparent 1.5px);
  background-size:120px 120px,170px 170px;
  background-position:24px 44px,60px 96px;
}
.admin-shell{
  width:min(1480px,calc(100% - 28px));
  margin:0 auto;
  padding:18px 0 40px;
  position:relative;
  z-index:1;
}
.admin-login-screen{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:20px;
  position:relative;
  z-index:1;
}
.admin-login-card{
  width:min(500px,100%);
  padding:26px;
  border-radius:30px;
  background:linear-gradient(150deg,rgba(255,255,255,.13),rgba(255,255,255,.05));
  border:1px solid rgba(255,255,255,.15);
  box-shadow:0 28px 80px rgba(0,0,0,.50);
  text-align:center;
}
.admin-login-logo{
  width:190px;
  max-width:70%;
  display:block;
  margin:0 auto 10px;
  filter:drop-shadow(0 0 18px rgba(255,42,163,.6));
}
.admin-login-card h1{margin:0;font-size:42px;line-height:1}
.admin-login-card p{margin:10px 0 18px;color:#dec5d5}
.admin-login-card input{
  width:100%;
  padding:15px 16px;
  border-radius:18px;
  background:rgba(0,0,0,.34);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  font-size:18px;
  text-align:center;
}
.admin-login-card button{
  width:100%;
  margin-top:12px;
  padding:15px 18px;
  border:0;
  border-radius:18px;
  background:linear-gradient(135deg,#ff2aa3,#8957ff);
  color:#fff;
  font-weight:950;
  font-size:17px;
}
.admin-error{margin-top:10px;color:#ff8caf;font-weight:800}

.admin-topbar{
  min-height:104px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 22px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.15);
  background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.055));
  box-shadow:0 22px 70px rgba(0,0,0,.42);
  backdrop-filter:blur(16px);
  margin-bottom:18px;
}
.admin-brand{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
}
.admin-brand img{
  width:86px;
  height:86px;
  object-fit:contain;
  flex:0 0 auto;
  filter:drop-shadow(0 0 16px rgba(255,42,163,.55));
}
.admin-brand h1{
  margin:0;
  font-size:clamp(30px,3.2vw,48px);
  line-height:.95;
  letter-spacing:-1.4px;
}
.admin-brand p{
  margin:8px 0 0;
  color:#dec5d5;
  font-size:16px;
}
.admin-top-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  justify-content:flex-end;
  align-items:center;
}
.admin-top-actions a,
.admin-top-actions button,
.admin-top-actions span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 16px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.10);
  color:#fff;
  font-weight:900;
  text-decoration:none;
  font-size:14px;
}
.admin-top-actions button{cursor:pointer}

.admin-layout{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:18px;
}
.admin-sidebar{
  position:sticky;
  top:14px;
  height:fit-content;
  padding:14px;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.15);
  background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.035));
  box-shadow:0 22px 70px rgba(0,0,0,.38);
}
.admin-sidebar .navbtn,
body.admin-compact .navbtn{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:52px;
  margin:0 0 8px;
  padding:13px 15px;
  border-radius:17px;
  border:1px solid transparent;
  background:transparent;
  color:#fff7fb;
  font-weight:900;
  text-align:left;
}
.admin-sidebar .navbtn.active,
.admin-sidebar .navbtn:hover,
body.admin-compact .navbtn.active,
body.admin-compact .navbtn:hover{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.15);
}
.admin-main{
  min-width:0;
}
body.admin-compact .card{
  padding:22px;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.15);
  background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.04));
  box-shadow:0 20px 64px rgba(0,0,0,.32);
  margin-bottom:16px;
}
body.admin-compact .card h2,
body.admin-compact .card h3{
  margin:0 0 10px;
  font-size:clamp(24px,2vw,32px);
}
body.admin-compact .grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
body.admin-compact .stat{
  min-height:118px;
  padding:18px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.055);
}
body.admin-compact .stat strong{
  display:block;
  font-size:36px;
  margin-bottom:6px;
}
body.admin-compact .formgrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  align-items:end;
}
body.admin-compact input,
body.admin-compact select,
body.admin-compact textarea{
  border-radius:16px;
  background:rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  padding:12px 13px;
}
body.admin-compact .tablewrap{
  overflow:auto;
  border:1px solid rgba(255,255,255,.13);
  border-radius:20px;
}
body.admin-compact table{
  min-width:780px;
  width:100%;
  border-collapse:collapse;
}
body.admin-compact th,
body.admin-compact td{
  padding:12px;
  border-bottom:1px solid rgba(255,255,255,.09);
  vertical-align:top;
}
body.admin-compact th{
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#ffe5f4;
}
body.admin-compact .btn{
  border-radius:15px;
  padding:10px 14px;
  font-size:14px;
  min-height:42px;
}
@media(max-width:980px){
  .admin-layout{grid-template-columns:1fr}
  .admin-sidebar{position:static}
  .admin-topbar{flex-direction:column;align-items:flex-start}
  .admin-top-actions{justify-content:flex-start}
  body.admin-compact .grid,
  body.admin-compact .formgrid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .admin-shell{width:min(100% - 16px,1480px);padding-top:8px}
  .admin-topbar{border-radius:24px;padding:14px}
  .admin-brand img{width:68px;height:68px}
  .admin-brand h1{font-size:32px}
  .admin-top-actions a,
  .admin-top-actions button,
  .admin-top-actions span{font-size:12px;padding:9px 12px}
}


/* v73 passcode eye + Enter login fix */
.qq-passcode-wrap{
  position:relative;
  width:100%;
  display:block;
}
.qq-passcode-wrap input{
  padding-right:58px !important;
}
.qq-passcode-eye{
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  width:42px;
  height:42px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:14px;
  background:rgba(255,255,255,.10);
  color:#fff;
  display:grid;
  place-items:center;
  font-size:16px;
  line-height:1;
  cursor:pointer;
  box-shadow:none;
}
.qq-passcode-eye:hover{
  border-color:rgba(255,42,163,.55);
  background:rgba(255,42,163,.16);
}



/* v74 selected score glow + install button */
.score-btn.active,
.score-btn.is-active,
.qq-score.is-active,
.qq-score.active,
.score-button.active,
.score-button.is-active,
button.selected-score,
.choice.selected,
.guest-option.selected {
  background: linear-gradient(135deg, #ff2aa3, #8b55ff) !important;
  border-color: rgba(255,255,255,.95) !important;
  color: #fff !important;
  box-shadow:
    0 0 0 4px rgba(255,42,163,.18),
    0 0 26px rgba(255,42,163,.48),
    0 14px 34px rgba(255,42,163,.28) !important;
  transform: translateY(-1px);
}

.score-btn.active,
.score-btn.is-active,
.qq-score.is-active,
.qq-score.active,
.score-button.active,
.score-button.is-active,
button.selected-score {
  position: relative;
}

.score-btn.active::after,
.score-btn.is-active::after,
.qq-score.is-active::after,
.qq-score.active::after,
.score-button.active::after,
.score-button.is-active::after,
button.selected-score::after {
  content: "";
  position: absolute;
  inset: 5px;
  border-radius: inherit;
  border: 1px solid rgba(255,255,255,.35);
  pointer-events: none;
}

/* v77 direct score pill + bottom total fix */
.score-status {
  margin-left: auto !important;
  min-width: 74px !important;
  justify-content: center !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.score-status.has-score {
  background: linear-gradient(135deg, #ff2aa3, #8b55ff) !important;
  border-color: rgba(255,255,255,.88) !important;
  color: #fff !important;
  box-shadow: 0 0 20px rgba(255,42,163,.40), 0 10px 24px rgba(255,42,163,.20) !important;
}

.score-btn.selected,
.score-btn.active,
.score-btn.is-active,
.score-btn.selected-score {
  background: linear-gradient(135deg, #ff2aa3, #8b55ff) !important;
  border-color: rgba(255,255,255,.88) !important;
  color: #fff !important;
  box-shadow:
    0 0 0 4px rgba(255,42,163,.16),
    0 0 26px rgba(255,42,163,.50),
    0 14px 34px rgba(255,42,163,.25) !important;
  transform: translateY(-2px);
}

.judge-actions {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 20 !important;
  margin: 18px -20px -20px !important;
  padding: 14px 20px !important;
  background: rgba(5,3,8,.93) !important;
  backdrop-filter: blur(16px) !important;
  border-top: 1px solid rgba(255,255,255,.14) !important;
}

.judge-total-panel {
  width: 100% !important;
  margin: 0 0 12px !important;
  padding: 14px 18px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  background: linear-gradient(135deg, rgba(255,42,163,.17), rgba(139,85,255,.13)) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  box-shadow: 0 0 22px rgba(255,42,163,.10) !important;
}

.judge-total-panel.incomplete {
  background: rgba(255,255,255,.07) !important;
  box-shadow: none !important;
}

.judge-total-label {
  font-size: 13px !important;
  font-weight: 950 !important;
  color: rgba(255,255,255,.72) !important;
  text-transform: uppercase !important;
  letter-spacing: .10em !important;
}

.judge-total-helper {
  margin-top: 4px !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  color: rgba(255,255,255,.64) !important;
}

.judge-total-number {
  font-size: clamp(32px, 6vw, 46px) !important;
  line-height: 1 !important;
  font-weight: 1000 !important;
  color: #fff !important;
  white-space: nowrap !important;
  text-shadow: 0 0 16px rgba(255,42,163,.38) !important;
}

.judge-bottom-buttons {
  width: 100% !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: stretch !important;
  gap: 12px !important;
  margin: 0 !important;
}

.judge-bottom-buttons .btn {
  min-height: 58px !important;
  flex: 1 !important;
}

.judge-bottom-buttons #submitVoteButton {
  flex: 1.6 !important;
}

/* Hide old helper-created floating score labels if a cached page injects them */
.score-selected-label,
.qq-score-selected-label,
.qq-fixed-score-label,
#qqTotalPointsPanel,
#qqFixedTotalPointsPanel {
  display: none !important;
}

@media(max-width: 620px) {
  .judge-actions {
    margin: 16px -14px -14px !important;
    padding: 12px 14px !important;
  }

  .judge-total-panel {
    padding: 12px 14px !important;
    border-radius: 18px !important;
  }

  .judge-total-number {
    font-size: clamp(30px, 10vw, 40px) !important;
  }

  .judge-bottom-buttons {
    gap: 8px !important;
  }

  .judge-bottom-buttons .btn {
    min-height: 54px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .score-status {
    min-width: 68px !important;
    font-size: 13px !important;
  }
}



/* v79 active/inactive event status */
.active-event-card {
  border-color: rgba(49,208,170,.58) !important;
  box-shadow: 0 0 26px rgba(49,208,170,.10), inset 0 0 0 1px rgba(49,208,170,.10) !important;
}

.inactive-event-card {
  opacity: .92;
}

.active-status-tag {
  background: rgba(49,208,170,.18) !important;
  color: #bfffee !important;
  border-color: rgba(49,208,170,.45) !important;
  box-shadow: 0 0 18px rgba(49,208,170,.16) !important;
}

.inactive-status-tag {
  background: rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.72) !important;
  border-color: rgba(255,255,255,.14) !important;
}

.active-event-button {
  background: rgba(49,208,170,.16) !important;
  color: #bfffee !important;
  border-color: rgba(49,208,170,.36) !important;
  opacity: 1 !important;
  cursor: default !important;
}

.active-event-button:disabled {
  opacity: 1 !important;
}



/* v80 judge add/edit form fix */
.judge-form-note {
  min-height: 20px;
  margin-top: 8px;
  color: rgba(255,255,255,.70);
}

.judge-form input {
  width: 100%;
}



/* v81 judge form reading fix */
#judgeName,
#judgeCodeInput {
  position: relative;
  z-index: 2;
}

.judge-form-note {
  color: rgba(255,255,255,.78) !important;
  font-weight: 700;
}



/* v82 add-judge-only mode */
button[onclick^="editJudge"],
button[onclick*="editJudge("] {
  display: none !important;
}

.judge-form-note {
  color: rgba(255,255,255,.78) !important;
}



/* v83 hard reset judge manager */
.judge-code-grid-v83 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
}

.judge-form-note-v83 {
  min-height: 22px;
  margin-top: 8px;
  color: rgba(255,255,255,.78) !important;
  font-weight: 750;
}

button[onclick^="editJudge"],
button[onclick*="editJudge("] {
  display: none !important;
}



/* v84 fresh judge manager */
.judge-code-grid-v84 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
}

.judge-form-note-v84 {
  min-height: 22px;
  margin-top: 8px;
  color: rgba(255,255,255,.78) !important;
  font-weight: 750;
}

#judgeNameV84,
#judgeCodeV84 {
  position: relative;
  z-index: 2;
}

button[onclick^="editJudge"],
button[onclick*="editJudge("] {
  display: none !important;
}



/* v85 standalone judge manager */
.jm-wrap input {
  width: 100%;
}

/* v93 premium dark neon luxury UI */
:root {
  --qq-bg-dark: #030106;
  --qq-bg-purple: #13051f;
  --qq-pink: #ff2aa3;
  --qq-magenta: #ff4fd8;
  --qq-purple: #8b55ff;
  --qq-violet: #b06cff;
  --qq-border: rgba(255,79,216,.28);
  --qq-glow: 0 0 28px rgba(255,42,163,.28), 0 22px 70px rgba(139,85,255,.18);
  --qq-text: #fff8fd;
  --qq-muted: #d8c5e6;
  --qq-card: rgba(24,8,34,.68);
  --qq-danger: #ff4f7f;
  --qq-success: #36e6b3;
  --qq-warning: #ffcf6f;
  --bg: var(--qq-bg-dark);
  --text: var(--qq-text);
  --muted: var(--qq-muted);
  --pink: var(--qq-pink);
  --purple: var(--qq-purple);
  --gold: var(--qq-warning);
  --green: var(--qq-success);
  --red: var(--qq-danger);
  --border: var(--qq-border);
  --shadow: 0 30px 90px rgba(0,0,0,.62), var(--qq-glow);
  --radius: 30px;
}

html {
  background: var(--qq-bg-dark);
}

body,
body.admin-compact,
body.audience-vote-page {
  min-width: 0;
  overflow-x: hidden;
  color: var(--qq-text);
  background:
    radial-gradient(circle at 12% -8%, rgba(255,42,163,.30), transparent 32%),
    radial-gradient(circle at 88% 4%, rgba(176,108,255,.25), transparent 35%),
    radial-gradient(circle at 50% 105%, rgba(139,85,255,.16), transparent 38%),
    linear-gradient(145deg, #030106 0%, #09020f 45%, #160624 100%);
  background-attachment: fixed;
}

body::before,
body.audience-vote-page::before,
body.admin-compact::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  opacity: .82;
  background:
    radial-gradient(circle at 20% 16%, rgba(255,79,216,.16), transparent 24%),
    radial-gradient(circle at 78% 28%, rgba(139,85,255,.17), transparent 28%),
    radial-gradient(circle at 34% 88%, rgba(255,42,163,.11), transparent 30%);
}

body::after,
body.audience-vote-page::after,
body.admin-compact::after {
  content: "";
  position: fixed;
  inset: -28%;
  z-index: -1;
  pointer-events: none;
  opacity: .42;
  background:
    radial-gradient(circle, rgba(255,42,163,.18), transparent 34%),
    radial-gradient(circle at 78% 68%, rgba(176,108,255,.16), transparent 30%);
  filter: blur(24px);
  animation: qqAmbientGlow 18s ease-in-out infinite alternate;
}

@keyframes qqAmbientGlow {
  from { transform: translate3d(-1.5%, -1%, 0) scale(1); opacity: .34; }
  to { transform: translate3d(1.5%, 1%, 0) scale(1.05); opacity: .52; }
}

.shell,
.judge-shell,
.guest-shell,
.admin-shell {
  position: relative;
  z-index: 1;
}

.shell,
.judge-shell {
  width: min(1180px, calc(100% - 24px));
  padding-top: max(14px, env(safe-area-inset-top));
}

.judge-shell {
  width: min(760px, calc(100% - 20px));
}

.topbar,
.side,
.card,
.stat,
.item,
.cat,
.guest-hero,
.guest-status-card,
.guest-category-card,
.guest-name-card,
.admin-topbar,
.admin-sidebar,
.admin-login-card,
body.audience-vote-page .app,
body.audience-vote-page .panel,
body.audience-vote-page .category,
body.audience-vote-page .screen {
  position: relative;
  overflow: hidden;
  border-color: var(--qq-border);
  background:
    linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.045)),
    linear-gradient(180deg, rgba(255,42,163,.08), rgba(139,85,255,.05)),
    var(--qq-card);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 0 0 1px rgba(255,255,255,.035),
    var(--shadow);
  backdrop-filter: blur(18px) saturate(135%);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
}

.topbar,
.card,
.guest-hero,
body.audience-vote-page .app {
  border-radius: 34px;
}

.side,
.stat,
.item,
.cat,
body.audience-vote-page .panel,
body.audience-vote-page .category,
body.audience-vote-page .screen {
  border-radius: 26px;
}

.topbar::before,
.card::before,
.stat::before,
.item::before,
.cat::before,
body.audience-vote-page .app::before,
body.audience-vote-page .panel::before,
body.audience-vote-page .category::before,
body.audience-vote-page .screen::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background:
    linear-gradient(115deg, rgba(255,255,255,.18), transparent 26%),
    radial-gradient(circle at 18% 0%, rgba(255,79,216,.14), transparent 34%);
  opacity: .58;
}

.score-card,
.event-card,
.active-event-card,
.guest-vote-card,
.audience-announcement,
body.audience-vote-page .event-card {
  border-color: rgba(255,79,216,.46) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 0 0 1px rgba(255,42,163,.10),
    0 0 42px rgba(255,42,163,.26),
    0 26px 86px rgba(139,85,255,.24) !important;
}

.score-card::after,
.event-card::after,
.guest-vote-card::after,
body.audience-vote-page .event-card::after {
  content: "";
  position: absolute;
  top: -45%;
  left: -75%;
  width: 70%;
  height: 190%;
  pointer-events: none;
  background: linear-gradient(110deg, transparent, rgba(255,255,255,.16), transparent);
  transform: rotate(12deg);
  animation: qqLightSweep 12s ease-in-out infinite;
}

@keyframes qqLightSweep {
  0%, 52% { transform: translateX(0) rotate(12deg); opacity: 0; }
  58% { opacity: .55; }
  78%, 100% { transform: translateX(310%) rotate(12deg); opacity: 0; }
}

h1,
h2,
h3,
.title,
.num,
.judge-total-number,
.header-title {
  color: var(--qq-text);
  letter-spacing: 0;
}

h1 {
  font-size: clamp(1.8rem, 6.4vw, 3.15rem);
  line-height: .98;
  text-shadow: 0 0 26px rgba(255,42,163,.24);
}

.card h2,
body.admin-compact .card h2,
body.admin-compact .card h3 {
  font-size: clamp(1.32rem, 3.8vw, 2rem);
  line-height: 1.05;
}

.subtitle,
.small,
.muted,
.event-meta,
.judge-total-helper,
.choice small,
.choice-btn small {
  color: var(--qq-muted) !important;
}

label,
.judge-total-label,
.progress-row,
th {
  color: #ffd6f1 !important;
}

.num,
.rank,
.judge-total-number,
.progress-row strong,
strong,
.title {
  text-shadow: 0 0 18px rgba(255,42,163,.14);
}

.num,
.rank,
.judge-total-number {
  color: var(--qq-pink) !important;
}

.logo,
.topbar .brand .logo,
.login .logo,
.admin-brand img,
.header-logo,
.unified-app-logo {
  filter: drop-shadow(0 0 18px rgba(255,42,163,.48)) drop-shadow(0 0 34px rgba(139,85,255,.24));
}

.btn,
.submit,
.nav,
.choice,
.choice-btn,
.score-btn,
.qq-passcode-eye,
.admin-top-actions a,
.admin-top-actions button,
.admin-top-actions span {
  border-color: rgba(255,255,255,.15);
  color: var(--qq-text);
  background:
    linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.055)),
    rgba(24,8,34,.68);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 10px 28px rgba(0,0,0,.22);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.btn:hover,
.nav:hover,
.nav.active,
.choice:hover,
.choice-btn:hover,
.score-btn:hover,
.qq-passcode-eye:hover {
  border-color: rgba(255,79,216,.54);
  box-shadow: 0 0 24px rgba(255,42,163,.20), 0 14px 34px rgba(0,0,0,.26);
}

.btn:active,
.choice:active,
.choice-btn:active,
.score-btn:active {
  transform: translateY(1px) scale(.99);
}

.primary,
.submit,
.pulse-btn,
.choice.selected,
.choice.is-active,
.choice-btn.selected,
.score-btn.selected,
.score-btn.active,
.score-btn.is-active,
.score-btn.selected-score,
button.selected-score {
  color: #fff !important;
  border-color: rgba(255,255,255,.42) !important;
  background: linear-gradient(135deg, var(--qq-pink), var(--qq-magenta) 45%, var(--qq-purple)) !important;
  box-shadow:
    0 0 0 4px rgba(255,42,163,.14),
    0 0 32px rgba(255,42,163,.48),
    0 18px 48px rgba(139,85,255,.30),
    inset 0 1px 0 rgba(255,255,255,.18) !important;
}

.gold {
  color: #fff7fd !important;
  background: linear-gradient(135deg, #ff2aa3, #a855f7) !important;
  border-color: rgba(255,207,111,.34) !important;
}

.green {
  color: #ebfff9 !important;
  background: linear-gradient(135deg, rgba(54,230,179,.82), rgba(139,85,255,.68)) !important;
}

.danger,
.red {
  color: #fff !important;
  background: linear-gradient(135deg, #ff4f7f, #d81b8c) !important;
}

button:disabled,
.btn:disabled,
.submit:disabled {
  opacity: .52;
  cursor: not-allowed;
  transform: none !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
}

.tag,
.badge,
.active-status-tag,
.inactive-status-tag {
  min-height: 30px;
  align-items: center;
  border-color: rgba(255,79,216,.30) !important;
  color: #ffe3f7 !important;
  background: linear-gradient(135deg, rgba(255,42,163,.18), rgba(139,85,255,.13)) !important;
  box-shadow: 0 0 18px rgba(255,42,163,.16);
}

.tag.gold,
.badge.gold {
  color: #fff2c9 !important;
  border-color: rgba(255,207,111,.38) !important;
}

.tag.green,
.badge.green,
.active-status-tag {
  color: #cafff0 !important;
  border-color: rgba(54,230,179,.38) !important;
}

.tag.red,
.badge.red {
  color: #ffd6e1 !important;
  border-color: rgba(255,79,127,.42) !important;
}

input,
select,
textarea,
body.admin-compact input,
body.admin-compact select,
body.admin-compact textarea,
body.audience-vote-page input {
  color: var(--qq-text);
  border-color: rgba(255,79,216,.24);
  background: rgba(3,1,8,.62);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}

input::placeholder,
textarea::placeholder {
  color: rgba(216,197,230,.55);
}

input:focus,
select:focus,
textarea:focus,
body.audience-vote-page input:focus {
  border-color: rgba(255,79,216,.84);
  box-shadow: 0 0 0 4px rgba(255,42,163,.16), 0 0 28px rgba(255,42,163,.22);
}

select option {
  background: #12051d;
  color: var(--qq-text);
}

.progress,
.progressbar {
  height: 14px;
  border: 1px solid rgba(255,79,216,.18);
  background: rgba(255,255,255,.08);
  box-shadow: inset 0 1px 5px rgba(0,0,0,.34);
}

.fill,
.progressfill {
  background: linear-gradient(90deg, var(--qq-pink), var(--qq-magenta), var(--qq-purple));
  box-shadow: 0 0 18px rgba(255,42,163,.55);
}

table,
body.admin-compact .tablewrap {
  border-color: rgba(255,79,216,.24);
  background: rgba(9,2,15,.52);
}

th {
  background: rgba(255,42,163,.10);
}

td {
  border-bottom-color: rgba(255,255,255,.08);
}

.actions,
.judge-actions,
body.audience-vote-page .actions {
  border-top-color: rgba(255,79,216,.22) !important;
  background:
    linear-gradient(180deg, rgba(3,1,8,0), rgba(7,2,12,.94) 26%, rgba(7,2,12,.98)) !important;
  box-shadow: 0 -20px 46px rgba(3,1,8,.76);
}

.toast {
  border-color: rgba(255,79,216,.36);
  background: rgba(12,3,19,.96);
  box-shadow: var(--shadow);
}

body.audience-vote-page .header {
  background:
    radial-gradient(circle at 50% 0%, rgba(255,42,163,.24), transparent 46%),
    linear-gradient(180deg, rgba(255,255,255,.08), transparent) !important;
}

body.audience-vote-page .app {
  width: min(680px, 100%);
}

body.audience-vote-page .choice {
  min-width: 0;
}

.score-grid-ten {
  gap: 8px;
}

.score-grid-ten .score-btn {
  min-width: 0;
  aspect-ratio: 1 / .86;
}

.judge-bottom-buttons .btn {
  min-width: 0;
}

@media (max-width: 860px) {
  .shell,
  .judge-shell {
    width: min(100% - 16px, 1180px);
  }

  .topbar {
    padding: 16px;
  }

  .side {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .btns {
    width: 100%;
  }

  .btns .btn,
  .btns a.btn {
    min-width: 0;
  }
}

@media (max-width: 620px) {
  .card,
  .topbar,
  body.audience-vote-page .app {
    border-radius: 26px;
  }

  .card {
    padding: 16px;
  }

  .side,
  .stat,
  .item,
  .cat,
  body.audience-vote-page .panel,
  body.audience-vote-page .category,
  body.audience-vote-page .screen {
    border-radius: 22px;
  }

  .score-grid-ten {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 7px;
  }

  .score-grid-ten .score-btn {
    min-height: 50px;
    font-size: 1.06rem;
  }

  .judge-bottom-buttons {
    display: grid !important;
    grid-template-columns: 1fr 1.35fr 1fr;
  }

  .judge-bottom-buttons .btn {
    width: 100%;
    font-size: .9rem;
  }

  body.audience-vote-page .page {
    padding-left: 8px;
    padding-right: 8px;
  }
}

@media (max-width: 420px) {
  .btn {
    padding-left: 12px;
    padding-right: 12px;
  }

  .side {
    grid-template-columns: 1fr;
  }

  .judge-bottom-buttons {
    gap: 7px !important;
  }

  .judge-bottom-buttons .btn {
    min-height: 52px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
}

/* Audience vote mobile polish */
body.audience-vote-page {
  min-height: 100svh;
  color: #fff7fb;
  background:
    radial-gradient(circle at 18% 0%, rgba(255,42,163,.24), transparent 34%),
    radial-gradient(circle at 86% 6%, rgba(139,85,255,.20), transparent 36%),
    linear-gradient(145deg, #1b0015 0%, #07020b 52%, #130528 100%);
  background-attachment: fixed;
}

body.audience-vote-page .page {
  min-height: 100svh;
  padding: calc(18px + env(safe-area-inset-top)) 12px calc(92px + env(safe-area-inset-bottom));
}

body.audience-vote-page .app {
  width: min(680px, 100%);
  border-radius: 28px;
  border-color: rgba(255,255,255,.18);
  background: linear-gradient(160deg, rgba(255,255,255,.13), rgba(255,255,255,.05));
  box-shadow: 0 28px 90px rgba(0,0,0,.58);
  overflow: visible;
}

body.audience-vote-page .header {
  padding: 20px 16px 18px !important;
  border-radius: 28px 28px 0 0;
  border-bottom: 1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(180deg, rgba(255,42,163,.20), rgba(139,85,255,.08) 58%, rgba(255,255,255,0));
}

body.audience-vote-page .header-logo {
  width: min(164px, 48vw) !important;
  max-width: 58vw !important;
  max-height: 132px !important;
  margin-bottom: 10px !important;
  border-radius: 18px !important;
  box-shadow: 0 0 24px rgba(255,42,163,.25) !important;
}

body.audience-vote-page .header-title {
  font-size: clamp(2rem, 8vw, 3.45rem) !important;
  line-height: .98 !important;
  letter-spacing: 0 !important;
  text-shadow: 0 0 24px rgba(255,42,163,.32) !important;
}

body.audience-vote-page .body {
  padding: 16px;
}

body.audience-vote-page #voteForm {
  padding-bottom: calc(24px + env(safe-area-inset-bottom));
}

body.audience-vote-page .panel,
body.audience-vote-page .category,
body.audience-vote-page .screen {
  border-radius: 22px;
  border-color: rgba(255,255,255,.16);
  background: linear-gradient(180deg, rgba(255,255,255,.095), rgba(255,255,255,.045));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

body.audience-vote-page .event-card {
  background:
    linear-gradient(135deg, rgba(255,42,163,.25), rgba(139,85,255,.18)),
    rgba(255,255,255,.06);
}

body.audience-vote-page .event-card-top {
  align-items: center;
}

body.audience-vote-page .event-card h2 {
  font-size: clamp(1.75rem, 6vw, 2.65rem);
  letter-spacing: 0;
}

body.audience-vote-page .badge {
  min-height: 34px;
  padding: 8px 12px;
  letter-spacing: .05em;
}

body.audience-vote-page input {
  min-height: 52px;
  border-radius: 16px;
}

body.audience-vote-page .anon {
  align-items: center;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 16px;
  background: rgba(0,0,0,.18);
}

body.audience-vote-page .category {
  padding: 16px;
  margin-bottom: 14px;
}

body.audience-vote-page .category-head {
  align-items: center;
  margin-bottom: 14px;
}

body.audience-vote-page .category h3 {
  margin: 8px 0 0;
  font-size: clamp(1.1rem, 4.6vw, 1.35rem);
  line-height: 1.15;
}

body.audience-vote-page .choices {
  gap: 12px;
}

body.audience-vote-page .choice {
  min-height: 86px;
  padding: 16px;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,.11), rgba(255,255,255,.055));
  border-color: rgba(255,255,255,.17);
  box-shadow: 0 12px 28px rgba(0,0,0,.20);
  touch-action: manipulation;
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

body.audience-vote-page .choice:hover {
  border-color: rgba(255,42,163,.48);
}

body.audience-vote-page .choice:active {
  transform: scale(.99);
}

body.audience-vote-page .choice strong {
  font-size: clamp(1.05rem, 4.6vw, 1.28rem);
  line-height: 1.15;
  letter-spacing: 0;
}

body.audience-vote-page .choice small {
  color: rgba(255,247,251,.72);
}

body.audience-vote-page .choice.selected,
body.audience-vote-page .choice.is-active {
  background: linear-gradient(135deg, #ff2aa3, #8b55ff) !important;
  border-color: rgba(255,255,255,.94) !important;
  box-shadow:
    0 0 0 4px rgba(255,200,87,.18),
    0 0 30px rgba(255,42,163,.52),
    0 18px 42px rgba(255,42,163,.30) !important;
}

body.audience-vote-page .choice.selected small,
body.audience-vote-page .choice.is-active small {
  color: #fff7fb;
}

body.audience-vote-page .actions {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 20 !important;
  margin: 18px -16px -16px !important;
  padding: 16px 16px calc(16px + env(safe-area-inset-bottom)) !important;
  border-top: 1px solid rgba(255,255,255,.14);
  background:
    linear-gradient(180deg, rgba(12,3,16,0), rgba(12,3,16,.94) 28%, rgba(12,3,16,.98));
  backdrop-filter: blur(18px);
}

body.audience-vote-page .submit {
  min-height: 64px;
  border-radius: 19px;
  border-color: rgba(255,255,255,.28);
  font-size: 1.08rem;
  letter-spacing: 0;
  box-shadow:
    0 18px 42px rgba(255,42,163,.34),
    inset 0 0 0 1px rgba(255,255,255,.10);
}

body.audience-vote-page .message {
  min-height: 22px;
  margin-top: 10px;
  line-height: 1.35;
}

/* Audience Control Centre */
.audience-tools{display:flex;justify-content:flex-end;margin-bottom:10px}.audience-notify{min-height:42px}.audience-announcement{margin-bottom:16px;padding:22px;border:1px solid rgba(255,255,255,.18);border-radius:24px;background:linear-gradient(135deg,rgba(188,28,113,.72),rgba(89,30,142,.78));box-shadow:0 20px 50px rgba(0,0,0,.35)}.audience-announcement h2{margin:10px 0 6px}.audience-announcement p{margin:0;line-height:1.55}.audience-announcement.emergency,.audience-announcement.results{padding:26px;border-color:rgba(255,209,102,.6);background:linear-gradient(135deg,rgba(226,23,102,.88),rgba(95,26,145,.94));box-shadow:0 0 0 2px rgba(255,209,102,.13),0 24px 65px rgba(0,0,0,.5)}.audience-voting-note,.audience-countdown{padding:11px 14px;border-radius:14px;background:rgba(255,31,143,.12);color:#ffd2e8;font-weight:800;text-align:center}.audience-countdown{font-size:1.1rem}.audience-results{margin-top:18px}.audience-results h3{margin:25px 0 12px;color:#ffd166}.audience-ranking-list{display:grid;gap:10px}.audience-rank,.audience-category-result{padding:16px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(255,255,255,.06)}.audience-rank{display:grid;grid-template-columns:1fr auto;gap:5px 12px;align-items:center}.audience-rank strong{display:flex;align-items:center;gap:10px}.audience-rank strong span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#ff1f8f,#8c2bd1)}.audience-rank small{grid-column:1/-1;color:var(--muted)}.audience-category-result h4{margin:0 0 10px}.audience-result-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid rgba(255,255,255,.09)}.audience-results-pending{margin-top:18px;text-align:center}.audience-admin-hero{background:linear-gradient(135deg,rgba(190,28,112,.28),rgba(96,33,154,.3))}.audience-preview .item{margin-top:12px}
@media(max-width:760px){.audience-control-grid{grid-template-columns:1fr}.audience-ranking-list{gap:8px}.audience-rank{padding:14px}.audience-tools{padding-right:2px}}

@media(min-width: 760px) {
  body.audience-vote-page .page {
    padding-top: 30px;
    padding-bottom: 70px;
  }

  body.audience-vote-page .choices {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media(max-width: 520px) {
  body.audience-vote-page .page {
    padding-left: 8px;
    padding-right: 8px;
    padding-bottom: calc(104px + env(safe-area-inset-bottom));
  }

  body.audience-vote-page .app {
    border-radius: 24px;
  }

  body.audience-vote-page .header {
    padding-top: calc(18px + env(safe-area-inset-top)) !important;
  }

  body.audience-vote-page .body {
    padding: 12px;
  }

  body.audience-vote-page .panel,
  body.audience-vote-page .category {
    padding: 14px;
    border-radius: 20px;
  }

  body.audience-vote-page .event-card-top,
  body.audience-vote-page .category-head,
  body.audience-vote-page .progress-row {
    align-items: flex-start;
    flex-direction: column;
  }

  body.audience-vote-page .progress-row .badge,
  body.audience-vote-page .category-head > .badge,
  body.audience-vote-page .event-card-top > .badge {
    align-self: flex-start;
  }

  body.audience-vote-page .choice {
    min-height: 82px;
    padding: 15px;
  }

  body.audience-vote-page .actions {
    margin: 16px -12px -12px !important;
    padding: 14px 12px calc(14px + env(safe-area-inset-bottom)) !important;
  }

  body.audience-vote-page .submit {
    min-height: 62px;
  }
}

/* Unified Queen of Queens app entry */
body.app-entry-page {
  min-height: 100svh;
  margin: 0;
  display: grid;
  place-items: center;
  padding: 24px 16px 96px;
  color: #fff7fb;
  background: radial-gradient(circle at 50% -10%, rgba(255,42,163,.34), transparent 38%), radial-gradient(circle at 90% 90%, rgba(139,85,255,.24), transparent 40%), #070209;
}
.app-entry { width: min(560px, 100%); padding: clamp(24px, 6vw, 46px); text-align: center; border: 1px solid rgba(255,255,255,.16); border-radius: 32px; background: linear-gradient(155deg, rgba(255,255,255,.12), rgba(255,255,255,.045)); box-shadow: 0 32px 100px rgba(0,0,0,.58); }
.unified-app-logo { width: min(240px, 62vw); max-width: 100%; max-height: 170px; object-fit: contain; display: block; margin: 0 auto 18px; filter: drop-shadow(0 0 20px rgba(255,42,163,.28)); }
.app-entry-welcome { margin: 0; color: #ffd166; font-size: clamp(1.35rem, 5vw, 1.8rem); font-weight: 950; letter-spacing: .18em; line-height: 1; }
.app-entry-actions { display: grid; gap: 14px; margin: 26px 0 20px; }
.app-entry-button { display: flex; flex-direction: column; gap: 5px; padding: 19px 22px; border: 1px solid rgba(255,255,255,.24); border-radius: 20px; color: #fff; font-size: 1.15rem; font-weight: 950; text-decoration: none; box-shadow: 0 14px 34px rgba(0,0,0,.25); }
.app-entry-button span { font-size: .84rem; font-weight: 650; color: rgba(255,255,255,.76); }
.app-entry-button.judge { background: linear-gradient(135deg, #c51e7b, #7b2ebe); }
.app-entry-button.audience { background: linear-gradient(135deg, #8b55ff, #4d238d); }
.app-entry-admin { color: rgba(255,255,255,.58); font-size: .86rem; }
.switch-mode { position: fixed; top: calc(12px + env(safe-area-inset-top)); left: 12px; z-index: 9999; padding: 9px 13px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: #fff; background: rgba(8,2,12,.78); text-decoration: none; font-size: 13px; font-weight: 850; backdrop-filter: blur(12px); }
body.audience-vote-page .audience-tools { justify-content: space-between; gap: 10px; }
body.audience-vote-page #alreadyScreen .btn, body.audience-vote-page #thankScreen .btn { margin-top: 14px; }
@media(max-width: 520px) { .unified-app-logo { width: min(200px, 64vw); max-height: 145px; margin-bottom: 16px; } }

/* v93 final served-page neon reinforcement */
body.audience-vote-page .app,
body.audience-vote-page .panel,
body.audience-vote-page .category,
body.audience-vote-page .screen,
body.audience-vote-page .audience-announcement,
.app-entry {
  border-color: var(--qq-border);
  background:
    linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.045)),
    linear-gradient(180deg, rgba(255,42,163,.08), rgba(139,85,255,.05)),
    var(--qq-card);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 0 0 1px rgba(255,255,255,.035),
    var(--shadow);
}

body.audience-vote-page .event-card,
.app-entry-button.judge,
.app-entry-button.audience {
  border-color: rgba(255,79,216,.46) !important;
  background: linear-gradient(135deg, var(--qq-pink), var(--qq-magenta) 45%, var(--qq-purple)) !important;
  box-shadow:
    0 0 0 4px rgba(255,42,163,.14),
    0 0 34px rgba(255,42,163,.42),
    0 22px 62px rgba(139,85,255,.28) !important;
}

body.audience-vote-page .choice.selected,
body.audience-vote-page .choice.is-active,
body.audience-vote-page .submit {
  background: linear-gradient(135deg, var(--qq-pink), var(--qq-magenta) 45%, var(--qq-purple)) !important;
}

body.audience-vote-page .choice,
body.audience-vote-page input,
body.audience-vote-page .anon {
  border-color: rgba(255,79,216,.24);
  background: rgba(3,1,8,.62);
}

/* v94 reference-match pass: black neon glass dashboard */
:root {
  --qq-bg-dark: #020005;
  --qq-bg-purple: #15062f;
  --qq-card: rgba(17, 7, 25, .62);
  --qq-border: rgba(231, 70, 199, .42);
  --qq-glow: 0 0 22px rgba(231,70,199,.25), 0 24px 80px rgba(116,38,196,.18);
}

body,
body.admin-compact,
body.audience-vote-page,
body.app-entry-page {
  background:
    radial-gradient(circle at 25% 0%, rgba(160,32,112,.24), transparent 29%),
    radial-gradient(circle at 72% 12%, rgba(62,22,150,.38), transparent 31%),
    radial-gradient(circle at 46% 84%, rgba(118,15,65,.20), transparent 34%),
    linear-gradient(180deg, #050108 0%, #020005 56%, #050108 100%) !important;
}

body::before,
body.audience-vote-page::before,
body.admin-compact::before {
  opacity: .62;
  background:
    radial-gradient(circle at 20% 16%, rgba(231,70,199,.12), transparent 22%),
    radial-gradient(circle at 78% 18%, rgba(108,47,221,.14), transparent 28%),
    linear-gradient(90deg, rgba(231,70,199,.03), transparent 28%, rgba(139,85,255,.06) 72%, transparent);
}

.shell,
.admin-shell {
  width: min(1120px, calc(100% - 28px));
  padding-top: 32px;
}

.judge-shell {
  width: min(760px, calc(100% - 22px));
  padding-top: 32px;
}

.topbar {
  padding: 0;
  margin-bottom: 62px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  overflow: visible;
}

.topbar::before {
  display: none;
}

.topbar .brand,
.topbar > .btns {
  position: relative;
  width: fit-content;
  margin: 0;
  padding: 12px 24px;
  border: 1px solid var(--qq-border);
  border-radius: 26px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.03)),
    linear-gradient(90deg, rgba(164,33,112,.26), rgba(20,7,35,.78));
  box-shadow: var(--qq-glow), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.topbar > .btns {
  gap: 8px;
  padding: 6px;
}

.topbar .brand .logo {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

.topbar .brand h1 {
  font-size: clamp(1.45rem, 3vw, 1.85rem);
  line-height: 1.05;
}

.topbar .subtitle {
  margin-top: 5px;
  font-size: .84rem;
}

.layout {
  grid-template-columns: 310px minmax(0, 1fr);
  gap: 22px;
}

.side,
.card,
.login .card,
body.audience-vote-page .app,
.app-entry {
  border: 1px solid var(--qq-border);
  border-radius: 34px;
  background:
    radial-gradient(circle at 18% 0%, rgba(222,77,200,.20), transparent 36%),
    linear-gradient(120deg, rgba(255,255,255,.08), rgba(255,255,255,.025)),
    rgba(12, 5, 20, .72);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.025),
    0 0 26px rgba(231,70,199,.24),
    0 28px 90px rgba(0,0,0,.58);
}

.card,
.login .card {
  padding: clamp(22px, 3vw, 32px);
}

.side {
  padding: 20px;
}

.card::before,
.side::before,
.stat::before,
.item::before,
.cat::before,
body.audience-vote-page .app::before,
body.audience-vote-page .panel::before,
body.audience-vote-page .category::before {
  opacity: .24;
  background:
    linear-gradient(112deg, rgba(255,255,255,.16), transparent 18%),
    radial-gradient(circle at 22% 0%, rgba(231,70,199,.12), transparent 28%);
}

.card::after,
.score-card::after,
.event-card::after,
.guest-vote-card::after,
body.audience-vote-page .event-card::after {
  opacity: .34;
}

.nav,
.item,
.cat,
.stat,
body.audience-vote-page .panel,
body.audience-vote-page .category,
body.audience-vote-page .screen {
  border: 1px solid rgba(231,70,199,.38);
  border-radius: 18px;
  background:
    linear-gradient(100deg, rgba(149,32,113,.26), rgba(35,12,58,.36)),
    rgba(9,3,16,.58);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.055);
}

.nav {
  min-height: 58px;
  margin-bottom: 10px;
  padding: 14px 16px;
  justify-content: flex-start;
  gap: 14px;
  font-weight: 650;
}

.nav span:first-child {
  min-width: 30px;
}

.nav.active,
.nav:hover {
  background:
    linear-gradient(100deg, rgba(190,42,151,.42), rgba(56,15,84,.50)),
    rgba(14,4,22,.74);
  border-color: rgba(255,93,216,.72);
}

h1,
h2,
h3 {
  text-shadow: none;
}

h1 {
  font-size: clamp(1.7rem, 4.2vw, 2.45rem);
}

.card h2,
body.admin-compact .card h2,
body.admin-compact .card h3 {
  margin-bottom: 8px;
  font-size: clamp(1.15rem, 2.4vw, 1.55rem);
}

label {
  margin-bottom: 10px;
  color: #ead7ef !important;
  font-size: .86rem;
  font-weight: 850;
}

input,
select,
textarea,
body.audience-vote-page input,
body.admin-compact input,
body.admin-compact select,
body.admin-compact textarea {
  min-height: 50px;
  border-radius: 15px;
  border-color: rgba(231,70,199,.24);
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.015)),
    rgba(5,2,10,.86);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    inset 0 -18px 28px rgba(255,255,255,.015);
}

textarea {
  min-height: 116px;
}

.btn,
.submit,
.topbar .btn,
.score-btn,
.choice,
.choice-btn,
.qq-passcode-eye,
.app-entry-button {
  min-height: 50px;
  border-radius: 18px;
  border: 1px solid rgba(231,70,199,.32);
  background:
    linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.018)),
    rgba(10,3,16,.78);
  box-shadow: none;
  font-weight: 700;
}

.topbar .btn {
  padding-inline: 22px;
  border-radius: 18px;
  border-color: transparent;
  background: transparent;
}

.topbar .btn:hover,
.topbar .btn.primary,
.topbar .btn.gold,
.topbar .btn.green {
  border-color: rgba(231,70,199,.48) !important;
  background:
    linear-gradient(180deg, rgba(154,36,125,.34), rgba(58,15,78,.30)),
    rgba(17,4,25,.74) !important;
}

.primary,
.submit,
.score-btn.selected,
.score-btn.active,
.score-btn.is-active,
.choice.selected,
.choice.is-active,
.choice-btn.selected,
button.selected-score,
.app-entry-button.judge,
.app-entry-button.audience {
  background: linear-gradient(135deg, #ff67df 0%, #cc45dd 52%, #8f4cff 100%) !important;
  border-color: rgba(255,174,240,.72) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.10),
    0 0 26px rgba(255,103,223,.48),
    0 14px 38px rgba(143,76,255,.32) !important;
}

.gold,
.green,
.danger,
.red {
  box-shadow: 0 0 20px rgba(231,70,199,.18) !important;
}

.tag,
.badge {
  min-height: 32px;
  padding: 7px 13px;
  border-radius: 999px;
  border-color: rgba(231,70,199,.38) !important;
  background:
    linear-gradient(100deg, rgba(174,42,134,.30), rgba(42,13,63,.34)) !important;
  color: #f6e8fb !important;
  box-shadow: none;
}

.num,
.rank,
.judge-total-number {
  color: #ff78e7 !important;
  text-shadow: 0 0 22px rgba(255,103,223,.34);
}

.div {
  background: linear-gradient(90deg, transparent, rgba(231,70,199,.30), transparent);
}

.progress,
.progressbar {
  height: 11px;
  border-color: rgba(231,70,199,.32);
  background: rgba(7,2,12,.88);
}

.fill,
.progressfill {
  background: linear-gradient(90deg, #ff67df, #8f4cff);
}

.actions,
.judge-actions,
body.audience-vote-page .actions {
  border-top-color: rgba(231,70,199,.22) !important;
  background:
    linear-gradient(180deg, rgba(5,1,8,0), rgba(5,1,8,.86) 24%, rgba(5,1,8,.96)) !important;
}

.score-grid-ten .score-btn {
  border-radius: 16px;
}

body.audience-vote-page .header {
  border-bottom-color: rgba(231,70,199,.22);
  background:
    radial-gradient(circle at 50% 0%, rgba(231,70,199,.15), transparent 46%),
    linear-gradient(180deg, rgba(255,255,255,.05), transparent) !important;
}

body.audience-vote-page .choice {
  border-color: rgba(231,70,199,.34);
  background:
    linear-gradient(100deg, rgba(149,32,113,.20), rgba(35,12,58,.28)),
    rgba(9,3,16,.72);
}

@media (min-width: 861px) {
  .login .card {
    max-width: 520px;
  }
}

@media (max-width: 860px) {
  .topbar {
    gap: 14px;
    margin-bottom: 18px;
  }

  .topbar .brand,
  .topbar > .btns {
    width: 100%;
  }

  .topbar > .btns {
    justify-content: stretch;
  }

  .topbar > .btns .btn,
  .topbar > .btns a.btn,
  .topbar > .btns .tag {
    flex: 1 1 auto;
  }

  .layout {
    gap: 16px;
  }
}

@media (max-width: 520px) {
  .shell,
  .judge-shell,
  .admin-shell {
    width: min(100% - 16px, 1120px);
    padding-top: 10px;
  }

  .topbar .brand,
  .topbar > .btns,
  .card,
  .side,
  body.audience-vote-page .app {
    border-radius: 24px;
  }

  .topbar > .btns {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .topbar > .btns .tag {
    grid-column: 1 / -1;
  }
}

/* v95 ultra premium lit glass tile pass */
:root {
  --qq-hot-pink: #ff3fb7;
  --qq-soft-pink: #ff8ce8;
  --qq-electric-violet: #a95cff;
  --qq-deep-ink: #030006;
  --qq-panel-ink: rgba(9, 2, 17, .78);
  --qq-neon-edge: rgba(255, 95, 221, .78);
  --qq-neon-violet-edge: rgba(174, 93, 255, .72);
}

body,
body.audience-vote-page {
  background:
    radial-gradient(circle at 18% 4%, rgba(255,63,183,.28), transparent 31%),
    radial-gradient(circle at 90% 8%, rgba(112,57,255,.34), transparent 34%),
    radial-gradient(circle at 62% 98%, rgba(255,63,183,.22), transparent 33%),
    linear-gradient(180deg, #07020d 0%, #020005 48%, #07010a 100%) !important;
}

.card,
.side,
.stat,
.item,
.cat,
body.audience-vote-page .app,
body.audience-vote-page .panel,
body.audience-vote-page .category,
body.audience-vote-page .screen,
.app-entry {
  border-color: rgba(255,95,221,.50) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.13), rgba(255,255,255,.025) 42%, rgba(169,92,255,.08)),
    radial-gradient(circle at 0% 0%, rgba(255,63,183,.18), transparent 38%),
    radial-gradient(circle at 100% 100%, rgba(169,92,255,.16), transparent 36%),
    var(--qq-panel-ink) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.06),
    0 0 22px rgba(255,63,183,.42),
    0 0 54px rgba(169,92,255,.24),
    0 28px 95px rgba(0,0,0,.70),
    inset 0 1px 0 rgba(255,255,255,.16),
    inset 0 0 34px rgba(255,63,183,.045) !important;
}

.card::before,
.side::before,
.stat::before,
.item::before,
.cat::before,
body.audience-vote-page .app::before,
body.audience-vote-page .panel::before,
body.audience-vote-page .category::before,
body.audience-vote-page .screen::before {
  opacity: .72;
  background:
    linear-gradient(120deg, rgba(255,255,255,.22) 0%, transparent 16%, transparent 60%, rgba(255,255,255,.08) 78%, transparent),
    linear-gradient(155deg, transparent 0 46%, rgba(255,95,221,.12) 47%, transparent 58%),
    radial-gradient(circle at 14% 0%, rgba(255,140,232,.18), transparent 26%);
}

.card::after,
body.audience-vote-page .panel::after,
body.audience-vote-page .category::after,
body.audience-vote-page .screen::after,
.score-card::after,
.event-card::after,
.guest-vote-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background:
    linear-gradient(132deg, transparent 7%, rgba(255,255,255,.18) 10%, transparent 17%),
    linear-gradient(28deg, transparent 62%, rgba(255,95,221,.16) 64%, transparent 72%),
    radial-gradient(circle at 88% 18%, rgba(169,92,255,.22), transparent 19%),
    radial-gradient(circle at 68% 94%, rgba(255,63,183,.18), transparent 21%);
  mix-blend-mode: screen;
  opacity: .78;
}

body.audience-vote-page .event-card,
.guest-hero,
.score-card {
  min-height: 164px;
  border-width: 2px !important;
  border-color: rgba(255,150,238,.88) !important;
  border-radius: 28px !important;
  background:
    linear-gradient(135deg, rgba(255,63,183,.98) 0%, rgba(236,77,202,.95) 34%, rgba(169,92,255,.96) 100%) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.20),
    0 0 18px rgba(255,255,255,.20),
    0 0 34px rgba(255,63,183,.74),
    0 0 76px rgba(169,92,255,.48),
    0 24px 66px rgba(255,63,183,.30),
    inset 0 1px 0 rgba(255,255,255,.34),
    inset 0 -32px 80px rgba(70,12,125,.24) !important;
}

body.audience-vote-page .event-card::before,
.guest-hero::before,
.score-card::before {
  opacity: .90;
  background:
    radial-gradient(circle at 8% 0%, rgba(255,255,255,.30), transparent 30%),
    linear-gradient(145deg, rgba(255,255,255,.30), transparent 19%),
    linear-gradient(22deg, transparent 51%, rgba(255,255,255,.16) 52%, transparent 62%),
    radial-gradient(circle at 95% 18%, rgba(255,255,255,.18), transparent 24%);
}

body.audience-vote-page .event-card::after,
.guest-hero::after,
.score-card::after {
  background:
    linear-gradient(118deg, transparent 10%, rgba(255,255,255,.28) 13%, transparent 22%),
    linear-gradient(28deg, transparent 56%, rgba(255,255,255,.17) 58%, transparent 68%),
    radial-gradient(circle at 94% 64%, rgba(255,255,255,.32), transparent 4%),
    radial-gradient(circle at 86% 75%, rgba(255,95,221,.34), transparent 9%),
    radial-gradient(circle at 72% 88%, rgba(169,92,255,.28), transparent 12%);
  opacity: .95;
}

body.audience-vote-page .event-card h2,
.guest-hero-copy h1,
.score-card h1 {
  color: #fff !important;
  font-size: clamp(2.65rem, 11vw, 4.8rem) !important;
  line-height: .95 !important;
  text-shadow:
    0 0 1px rgba(255,255,255,.85),
    0 0 18px rgba(255,255,255,.22),
    0 0 34px rgba(255,63,183,.36) !important;
}

body.audience-vote-page .event-meta,
body.audience-vote-page .event-card .muted,
.guest-hero .small,
.score-card .subtitle {
  color: rgba(255,255,255,.78) !important;
  font-size: clamp(1.05rem, 4.6vw, 1.55rem);
}

.badge,
.tag,
body.audience-vote-page .badge,
.audience-voting-note {
  border-color: rgba(255,149,235,.46) !important;
  background:
    linear-gradient(100deg, rgba(255,63,183,.48), rgba(128,47,210,.38)),
    rgba(15,4,26,.70) !important;
  color: #fff !important;
  box-shadow:
    0 0 18px rgba(255,63,183,.34),
    inset 0 1px 0 rgba(255,255,255,.16) !important;
}

body.audience-vote-page .event-card .badge,
.score-card .tag.gold,
.score-card .tag.green {
  border: 0 !important;
  background:
    linear-gradient(100deg, rgba(170,29,125,.78), rgba(117,58,215,.56)) !important;
  box-shadow: 0 0 22px rgba(126,48,207,.32) !important;
}

.audience-voting-note {
  min-height: 48px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  color: #ffe8fb !important;
  font-size: clamp(.98rem, 4vw, 1.14rem);
}

.btn,
.submit,
.choice,
.choice-btn,
.score-btn,
input,
select,
textarea {
  border-color: rgba(255,95,221,.42) !important;
  box-shadow:
    0 0 16px rgba(255,63,183,.16),
    inset 0 1px 0 rgba(255,255,255,.09) !important;
}

.btn,
.submit {
  text-shadow: 0 0 12px rgba(255,255,255,.18);
}

.primary,
.submit,
.choice.selected,
.choice.is-active,
.choice-btn.selected,
.score-btn.selected,
.score-btn.active,
.score-btn.is-active,
button.selected-score {
  background:
    linear-gradient(135deg, #ff4fca 0%, #e75be9 45%, #a65cff 100%) !important;
  border-color: rgba(255,188,244,.85) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.16),
    0 0 22px rgba(255,79,202,.76),
    0 0 56px rgba(166,92,255,.52),
    0 18px 46px rgba(255,63,183,.32),
    inset 0 1px 0 rgba(255,255,255,.28) !important;
}

body.audience-vote-page .audience-tools .btn,
.switch-mode,
.audience-notify {
  border-width: 1px;
  border-color: rgba(255,95,221,.64) !important;
  border-radius: 20px !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.02)),
    rgba(10,3,16,.82) !important;
  box-shadow:
    0 0 22px rgba(255,63,183,.46),
    0 0 44px rgba(169,92,255,.25),
    inset 0 1px 0 rgba(255,255,255,.16) !important;
}

.audience-results,
.audience-results-pending,
#resultsPending {
  border-width: 2px !important;
  border-color: rgba(181,100,255,.76) !important;
  background:
    linear-gradient(135deg, rgba(21,6,44,.82), rgba(72,9,54,.54)),
    radial-gradient(circle at 90% 20%, rgba(255,95,221,.20), transparent 28%) !important;
  box-shadow:
    0 0 28px rgba(181,100,255,.52),
    0 0 60px rgba(255,63,183,.24),
    inset 0 1px 0 rgba(255,255,255,.14) !important;
}

.audience-results h2,
.audience-results-pending h2,
#resultsPending h2 {
  color: #fff !important;
  font-size: clamp(1.85rem, 7vw, 3.1rem);
  text-shadow: 0 0 26px rgba(255,95,221,.30);
}

.progress,
.progressbar,
.judge-total-panel {
  border-color: rgba(255,95,221,.62) !important;
  box-shadow:
    0 0 24px rgba(255,63,183,.26),
    inset 0 1px 0 rgba(255,255,255,.12) !important;
}

.num,
.rank,
.judge-total-number {
  color: #ff8ce8 !important;
  text-shadow:
    0 0 16px rgba(255,140,232,.70),
    0 0 38px rgba(169,92,255,.46) !important;
}

@media (max-width: 560px) {
  body.audience-vote-page .event-card,
  .score-card {
    min-height: 162px;
    padding: 20px !important;
  }

  body.audience-vote-page .event-card h2,
  .score-card h1 {
    font-size: clamp(2.35rem, 12vw, 3.7rem) !important;
  }

  body.audience-vote-page .event-card .event-card-top {
    gap: 14px;
  }
}

/* v96 dim sparkle glass: dark tiles with pink/purple neon edges */
:root {
  --qq-tile-bg: rgba(12, 4, 19, .86);
  --qq-tile-bg-deep: rgba(4, 0, 8, .92);
  --qq-edge-pink: rgba(255, 76, 205, .66);
  --qq-edge-purple: rgba(174, 86, 255, .56);
  --qq-dim-sparkle: rgba(255, 150, 235, .42);
}

.card,
.side,
.stat,
.item,
.cat,
.guest-hero,
.score-card,
body.audience-vote-page .app,
body.audience-vote-page .panel,
body.audience-vote-page .category,
body.audience-vote-page .screen,
body.audience-vote-page .event-card,
body.audience-vote-page .audience-results,
body.audience-vote-page .audience-results-pending,
#resultsPending,
.app-entry {
  color: #fff8ff;
  border: 1px solid var(--qq-edge-pink) !important;
  background:
    radial-gradient(circle at 14% 10%, rgba(255,150,235,.18) 0 1px, transparent 1.8px),
    radial-gradient(circle at 72% 18%, rgba(174,86,255,.16) 0 1px, transparent 1.7px),
    radial-gradient(circle at 88% 72%, rgba(255,76,205,.13) 0 1px, transparent 1.8px),
    radial-gradient(circle at 31% 83%, rgba(255,255,255,.10) 0 1px, transparent 1.5px),
    linear-gradient(32deg, transparent 0 39%, rgba(255,120,226,.09) 40%, transparent 51%),
    linear-gradient(148deg, transparent 0 38%, rgba(174,86,255,.08) 39%, transparent 53%),
    radial-gradient(circle at 4% 0%, rgba(255,120,226,.18), transparent 32%),
    radial-gradient(circle at 100% 100%, rgba(174,86,255,.14), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.018) 42%, rgba(174,86,255,.045)),
    var(--qq-tile-bg) !important;
  background-size:
    150px 150px,
    190px 190px,
    130px 130px,
    170px 170px,
    auto,
    auto,
    auto,
    auto,
    auto,
    auto;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.045),
    0 0 18px rgba(255,76,205,.42),
    0 0 42px rgba(174,86,255,.25),
    0 22px 80px rgba(0,0,0,.72),
    inset 0 1px 0 rgba(255,255,255,.14),
    inset 0 0 34px rgba(255,76,205,.055) !important;
}

.card::before,
.side::before,
.stat::before,
.item::before,
.cat::before,
.guest-hero::before,
.score-card::before,
body.audience-vote-page .app::before,
body.audience-vote-page .panel::before,
body.audience-vote-page .category::before,
body.audience-vote-page .screen::before,
body.audience-vote-page .event-card::before,
#resultsPending::before {
  opacity: .62 !important;
  background:
    linear-gradient(32deg, transparent 0 38%, rgba(255,151,235,.12) 40%, transparent 52%),
    linear-gradient(148deg, transparent 0 36%, rgba(174,86,255,.10) 38%, transparent 53%),
    radial-gradient(circle at 10% 12%, rgba(255,255,255,.16), transparent 20%),
    radial-gradient(circle at 92% 88%, rgba(174,86,255,.15), transparent 24%) !important;
}

.card::after,
.side::after,
.stat::after,
.item::after,
.cat::after,
.guest-hero::after,
.score-card::after,
body.audience-vote-page .panel::after,
body.audience-vote-page .category::after,
body.audience-vote-page .screen::after,
body.audience-vote-page .event-card::after,
#resultsPending::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background:
    radial-gradient(circle at 18% 22%, var(--qq-dim-sparkle) 0 1px, transparent 2px),
    radial-gradient(circle at 77% 28%, rgba(174,86,255,.35) 0 1px, transparent 2px),
    radial-gradient(circle at 64% 78%, rgba(255,255,255,.18) 0 1px, transparent 1.7px),
    linear-gradient(110deg, transparent 6%, rgba(255,255,255,.10) 9%, transparent 16%),
    linear-gradient(28deg, transparent 62%, rgba(255,76,205,.10) 65%, transparent 73%);
  background-size: 180px 180px, 230px 230px, 150px 150px, auto, auto;
  mix-blend-mode: screen;
  opacity: .58 !important;
}

body.audience-vote-page .event-card,
.guest-hero,
.score-card {
  min-height: auto;
  border-width: 1px !important;
  border-color: rgba(255,116,224,.78) !important;
  background:
    radial-gradient(circle at 12% 10%, rgba(255,150,235,.22) 0 1px, transparent 1.8px),
    radial-gradient(circle at 82% 72%, rgba(174,86,255,.18) 0 1px, transparent 1.8px),
    linear-gradient(32deg, transparent 0 38%, rgba(255,120,226,.12) 40%, transparent 52%),
    linear-gradient(148deg, transparent 0 36%, rgba(174,86,255,.10) 38%, transparent 54%),
    radial-gradient(circle at 0% 0%, rgba(255,82,205,.22), transparent 36%),
    radial-gradient(circle at 100% 90%, rgba(174,86,255,.18), transparent 36%),
    linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.025) 45%, rgba(174,86,255,.08)),
    var(--qq-tile-bg) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.08),
    0 0 22px rgba(255,76,205,.55),
    0 0 52px rgba(174,86,255,.34),
    0 24px 70px rgba(0,0,0,.70),
    inset 0 1px 0 rgba(255,255,255,.16),
    inset 0 0 40px rgba(255,76,205,.08) !important;
}

body.audience-vote-page .event-card h2,
.guest-hero-copy h1,
.score-card h1 {
  color: #fff !important;
  text-shadow:
    0 0 1px rgba(255,255,255,.72),
    0 0 14px rgba(255,116,224,.24),
    0 0 32px rgba(174,86,255,.22) !important;
}

.btn,
.submit,
.choice,
.choice-btn,
.score-btn,
input,
select,
textarea,
body.audience-vote-page .audience-tools .btn,
.audience-notify,
.switch-mode {
  border-color: rgba(255,116,224,.48) !important;
  background:
    linear-gradient(32deg, transparent 0 40%, rgba(255,116,224,.07) 42%, transparent 54%),
    linear-gradient(148deg, transparent 0 39%, rgba(174,86,255,.06) 41%, transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.015)),
    rgba(6,1,11,.84) !important;
  box-shadow:
    0 0 14px rgba(255,76,205,.24),
    0 0 28px rgba(174,86,255,.12),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
}

.primary,
.submit,
.choice.selected,
.choice.is-active,
.choice-btn.selected,
.score-btn.selected,
.score-btn.active,
.score-btn.is-active,
button.selected-score {
  border-color: rgba(255,172,239,.82) !important;
  background:
    linear-gradient(32deg, transparent 0 38%, rgba(255,255,255,.14) 40%, transparent 52%),
    linear-gradient(135deg, rgba(255,76,205,.88), rgba(197,71,231,.82) 52%, rgba(145,82,255,.86)) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.13),
    0 0 20px rgba(255,76,205,.62),
    0 0 46px rgba(174,86,255,.38),
    inset 0 1px 0 rgba(255,255,255,.25) !important;
}

.audience-voting-note,
.badge,
.tag {
  background:
    radial-gradient(circle at 14% 18%, rgba(255,255,255,.18), transparent 22%),
    linear-gradient(135deg, rgba(181,43,142,.58), rgba(91,35,157,.48)),
    rgba(10,2,18,.72) !important;
}

body.audience-vote-page .event-card .badge,
.score-card .tag.gold,
.score-card .tag.green {
  background:
    linear-gradient(135deg, rgba(190,44,148,.62), rgba(105,45,174,.54)),
    rgba(10,2,18,.58) !important;
}

/* v97 no solid neon fills, no cross glare */
.primary,
.submit,
.gold,
.green,
.danger,
.red,
.choice.selected,
.choice.is-active,
.choice-btn.selected,
.score-btn.selected,
.score-btn.active,
.score-btn.is-active,
button.selected-score,
.app-entry-button.judge,
.app-entry-button.audience,
body.audience-vote-page .audience-tools .btn,
.audience-notify,
.switch-mode {
  color: #fff8ff !important;
  border: 1px solid rgba(255,116,224,.66) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(255,116,224,.16), transparent 34%),
    radial-gradient(circle at 100% 100%, rgba(174,86,255,.14), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.018)),
    rgba(7,1,13,.90) !important;
  box-shadow:
    0 0 16px rgba(255,76,205,.36),
    0 0 34px rgba(174,86,255,.20),
    inset 0 1px 0 rgba(255,255,255,.12) !important;
}

.primary:hover,
.submit:hover,
.gold:hover,
.green:hover,
.danger:hover,
.red:hover {
  border-color: rgba(255,154,236,.82) !important;
  box-shadow:
    0 0 20px rgba(255,76,205,.46),
    0 0 42px rgba(174,86,255,.24),
    inset 0 1px 0 rgba(255,255,255,.16) !important;
}

.card::before,
.side::before,
.stat::before,
.item::before,
.cat::before,
.guest-hero::before,
.score-card::before,
body.audience-vote-page .app::before,
body.audience-vote-page .panel::before,
body.audience-vote-page .category::before,
body.audience-vote-page .screen::before,
body.audience-vote-page .event-card::before,
#resultsPending::before {
  background:
    radial-gradient(circle at 10% 12%, rgba(255,255,255,.12), transparent 20%),
    radial-gradient(circle at 92% 88%, rgba(174,86,255,.12), transparent 24%),
    radial-gradient(circle at 24% 4%, rgba(255,116,224,.13), transparent 28%) !important;
}

.card::after,
.side::after,
.stat::after,
.item::after,
.cat::after,
.guest-hero::after,
.score-card::after,
body.audience-vote-page .panel::after,
body.audience-vote-page .category::after,
body.audience-vote-page .screen::after,
body.audience-vote-page .event-card::after,
#resultsPending::after {
  background:
    radial-gradient(circle at 18% 22%, rgba(255,150,235,.34) 0 1px, transparent 2px),
    radial-gradient(circle at 77% 28%, rgba(174,86,255,.28) 0 1px, transparent 2px),
    radial-gradient(circle at 64% 78%, rgba(255,255,255,.14) 0 1px, transparent 1.7px),
    radial-gradient(circle at 40% 54%, rgba(255,76,205,.18) 0 1px, transparent 2px) !important;
  background-size: 180px 180px, 230px 230px, 150px 150px, 210px 210px !important;
  opacity: .50 !important;
}

/* v99 remove all diagonal cross reflections */
.card,
.side,
.stat,
.item,
.cat,
.guest-hero,
.score-card,
body.audience-vote-page .app,
body.audience-vote-page .panel,
body.audience-vote-page .category,
body.audience-vote-page .screen,
body.audience-vote-page .event-card,
#resultsPending,
.app-entry {
  background:
    radial-gradient(circle at 14% 10%, rgba(255,150,235,.16) 0 1px, transparent 1.8px),
    radial-gradient(circle at 72% 18%, rgba(174,86,255,.14) 0 1px, transparent 1.7px),
    radial-gradient(circle at 88% 72%, rgba(255,76,205,.12) 0 1px, transparent 1.8px),
    radial-gradient(circle at 31% 83%, rgba(255,255,255,.08) 0 1px, transparent 1.5px),
    radial-gradient(circle at 4% 0%, rgba(255,120,226,.16), transparent 32%),
    radial-gradient(circle at 100% 100%, rgba(174,86,255,.12), transparent 34%),
    rgba(12, 4, 19, .88) !important;
}

.card::before,
.side::before,
.stat::before,
.item::before,
.cat::before,
.guest-hero::before,
.score-card::before,
body.audience-vote-page .app::before,
body.audience-vote-page .panel::before,
body.audience-vote-page .category::before,
body.audience-vote-page .screen::before,
body.audience-vote-page .event-card::before,
#resultsPending::before {
  background:
    radial-gradient(circle at 10% 12%, rgba(255,255,255,.10), transparent 20%),
    radial-gradient(circle at 92% 88%, rgba(174,86,255,.11), transparent 24%),
    radial-gradient(circle at 24% 4%, rgba(255,116,224,.12), transparent 28%) !important;
}

.card::after,
.side::after,
.stat::after,
.item::after,
.cat::after,
.guest-hero::after,
.score-card::after,
body.audience-vote-page .panel::after,
body.audience-vote-page .category::after,
body.audience-vote-page .screen::after,
body.audience-vote-page .event-card::after,
#resultsPending::after {
  background:
    radial-gradient(circle at 18% 22%, rgba(255,150,235,.30) 0 1px, transparent 2px),
    radial-gradient(circle at 77% 28%, rgba(174,86,255,.24) 0 1px, transparent 2px),
    radial-gradient(circle at 64% 78%, rgba(255,255,255,.12) 0 1px, transparent 1.7px),
    radial-gradient(circle at 40% 54%, rgba(255,76,205,.15) 0 1px, transparent 2px) !important;
  background-size: 180px 180px, 230px 230px, 150px 150px, 210px 210px !important;
}

.btn,
.submit,
.choice,
.choice-btn,
.score-btn,
input,
select,
textarea,
body.audience-vote-page .audience-tools .btn,
.audience-notify,
.switch-mode {
  background:
    radial-gradient(circle at 18% 0%, rgba(255,116,224,.13), transparent 34%),
    radial-gradient(circle at 100% 100%, rgba(174,86,255,.11), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.015)),
    rgba(7,1,13,.90) !important;
}

/* v100 subtle lift and purple edge interaction states */
.btn,
.submit,
.choice,
.choice-btn,
.score-btn,
.nav,
.item,
.cat,
body.audience-vote-page .panel,
body.audience-vote-page .category {
  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    background-color .18s ease,
    filter .18s ease !important;
  will-change: transform;
}

.btn:hover,
.submit:hover,
.choice:hover,
.choice-btn:hover,
.score-btn:hover,
.nav:hover {
  transform: translateY(-1px);
  border-color: rgba(178,104,255,.72) !important;
  box-shadow:
    0 0 18px rgba(178,104,255,.26),
    0 0 34px rgba(255,76,205,.14),
    inset 0 1px 0 rgba(255,255,255,.14) !important;
}

.btn:active,
.submit:active,
.choice:active,
.choice-btn:active,
.score-btn:active,
.nav:active {
  transform: translateY(1px) scale(.992) !important;
  border-color: rgba(205,150,255,.78) !important;
  box-shadow:
    0 0 14px rgba(178,104,255,.24),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
}

.choice.selected,
.choice.is-active,
.choice-btn.selected,
.score-btn.selected,
.score-btn.active,
.score-btn.is-active,
.score-btn.selected-score,
button.selected-score,
.guest-contestant-tile.selected,
.nav.active,
.active-event-card,
.active-status-tag,
.score-status.has-score,
.tag.green,
.badge.green {
  transform: translateY(-3px);
  border-color: rgba(190,124,255,.86) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.08),
    0 0 20px rgba(190,124,255,.42),
    0 0 38px rgba(255,76,205,.18),
    0 14px 34px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.18) !important;
}

.choice.selected:active,
.choice.is-active:active,
.choice-btn.selected:active,
.score-btn.selected:active,
.score-btn.active:active,
.score-btn.is-active:active,
button.selected-score:active {
  transform: translateY(-1px) scale(.995) !important;
}

body.audience-vote-page .screen:not(.hidden),
body.audience-vote-page #thankScreen:not(.hidden),
body.audience-vote-page #alreadyScreen:not(.hidden),
body.audience-vote-page #closedScreen:not(.hidden),
body.audience-vote-page #audienceResults:not(.hidden),
body.audience-vote-page #resultsPending:not(.hidden) {
  transform: translateY(-2px);
  border-color: rgba(190,124,255,.76) !important;
  box-shadow:
    0 0 22px rgba(190,124,255,.34),
    0 0 44px rgba(255,76,205,.16),
    inset 0 1px 0 rgba(255,255,255,.14) !important;
}

@media (prefers-reduced-motion: reduce) {
  .btn,
  .submit,
  .choice,
  .choice-btn,
  .score-btn,
  .nav,
  .item,
  .cat,
  body.audience-vote-page .panel,
  body.audience-vote-page .category,
body.audience-vote-page .screen:not(.hidden) {
    transition: none !important;
    transform: none !important;
  }
}

/* v101 logo-leaning pink palette and clearer selections */
:root {
  --qq-pink: #ff2aa3;
  --qq-magenta: #ff48c7;
  --qq-purple: #9b4cff;
  --qq-violet: #c176ff;
  --qq-border: rgba(255,72,199,.54);
  --qq-edge-pink: rgba(255,72,199,.72);
  --qq-edge-purple: rgba(194,118,255,.42);
  --qq-dim-sparkle: rgba(255,143,226,.48);
}

.card,
.side,
.stat,
.item,
.cat,
.guest-hero,
.score-card,
body.audience-vote-page .app,
body.audience-vote-page .panel,
body.audience-vote-page .category,
body.audience-vote-page .screen,
body.audience-vote-page .event-card,
#resultsPending,
.app-entry {
  border-color: rgba(255,72,199,.62) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.045),
    0 0 20px rgba(255,42,163,.44),
    0 0 34px rgba(194,118,255,.16),
    0 22px 80px rgba(0,0,0,.72),
    inset 0 1px 0 rgba(255,255,255,.14),
    inset 0 0 34px rgba(255,42,163,.07) !important;
}

.btn,
.submit,
.choice,
.choice-btn,
.score-btn,
input,
select,
textarea {
  border-color: rgba(255,72,199,.48) !important;
}

.choice.selected,
.choice.is-active,
.choice-btn.selected,
.score-btn.selected,
.score-btn.active,
.score-btn.is-active,
.score-btn.selected-score,
button.selected-score,
.guest-contestant-tile.selected {
  transform: translateY(-3px) !important;
  color: #fff !important;
  border: 2px solid rgba(255,178,240,.96) !important;
  outline: 2px solid rgba(255,42,163,.34) !important;
  outline-offset: 3px;
  background:
    radial-gradient(circle at 18% 0%, rgba(255,42,163,.28), transparent 36%),
    radial-gradient(circle at 100% 100%, rgba(194,118,255,.16), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.018)),
    rgba(12,2,18,.94) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.16),
    0 0 24px rgba(255,42,163,.72),
    0 0 46px rgba(255,72,199,.42),
    0 0 58px rgba(194,118,255,.20),
    0 16px 38px rgba(0,0,0,.38),
    inset 0 1px 0 rgba(255,255,255,.24) !important;
}

.choice.selected small,
.choice.is-active small,
.choice-btn.selected small,
.guest-contestant-tile.selected small {
  color: rgba(255,238,250,.88) !important;
}

.score-btn.selected,
.score-btn.active,
.score-btn.is-active,
.score-btn.selected-score,
button.selected-score {
  font-weight: 1000;
  text-shadow: 0 0 18px rgba(255,42,163,.50);
}

.tag.green,
.badge.green,
.score-status.has-score,
.active-status-tag {
  border-color: rgba(255,178,240,.82) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(255,42,163,.24), transparent 34%),
    rgba(15,4,23,.78) !important;
  color: #fff4fc !important;
  box-shadow:
    0 0 18px rgba(255,42,163,.42),
    inset 0 1px 0 rgba(255,255,255,.14) !important;
}

.cat.has-selection {
  transform: translateY(-2px);
  border-color: rgba(255,178,240,.78) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.06),
    0 0 24px rgba(255,42,163,.48),
    0 0 42px rgba(214,78,255,.20),
    inset 0 1px 0 rgba(255,255,255,.16) !important;
}

.category-comment {
  margin-top: 14px;
}

.category-comment label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}

.vote-lock-message {
  border-color: rgba(255,178,240,.78) !important;
  background:
    radial-gradient(circle at 14% 0%, rgba(255,42,163,.18), transparent 34%),
    rgba(15,4,23,.76) !important;
}

.score-btn:disabled,
textarea:disabled {
  cursor: not-allowed;
  opacity: .78;
}

body.audience-vote-page .choice.selected,
body.audience-vote-page .choice.is-active {
  border: 2px solid rgba(255,190,244,.98) !important;
  outline: 2px solid rgba(255,42,163,.38) !important;
  outline-offset: 3px;
}

@media (max-width: 560px) {
  .choice.selected,
  .choice.is-active,
  .choice-btn.selected,
  .score-btn.selected,
  .score-btn.active,
  .score-btn.is-active,
  button.selected-score {
    outline-offset: 2px;
  }
}

/* v102 judge mobile paint fix: remove overlay panes that can cover score controls */
.judge-shell .card::before,
.judge-shell .card::after,
.judge-shell .score-card::before,
.judge-shell .score-card::after,
.judge-shell .cat::before,
.judge-shell .cat::after,
.judge-shell .item::before,
.judge-shell .item::after {
  content: none !important;
  display: none !important;
}

.judge-shell .card,
.judge-shell .score-card,
.judge-shell .cat,
.judge-shell .item {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 14% 10%, rgba(255,150,235,.16) 0 1px, transparent 1.8px),
    radial-gradient(circle at 72% 18%, rgba(174,86,255,.14) 0 1px, transparent 1.7px),
    radial-gradient(circle at 88% 72%, rgba(255,76,205,.12) 0 1px, transparent 1.8px),
    radial-gradient(circle at 4% 0%, rgba(255,120,226,.16), transparent 32%),
    radial-gradient(circle at 100% 100%, rgba(174,86,255,.12), transparent 34%),
    rgba(12,4,19,.92) !important;
}

.judge-shell .head,
.judge-shell .progress,
.judge-shell .score-grid,
.judge-shell .score-btn,
.judge-shell .category-comment,
.judge-shell .judge-actions,
.judge-shell input,
.judge-shell textarea,
.judge-shell button {
  position: relative;
  z-index: 1;
}

@media (max-width: 620px) {
  .judge-shell {
    width: min(100% - 14px, 760px) !important;
  }

  .judge-shell .card {
    padding: 14px !important;
    border-radius: 24px !important;
  }

  .judge-shell .cat {
    padding: 12px !important;
    border-radius: 20px !important;
  }
}

/* v103 hard judge UI stabilizer: no decorative overlay layers on judge app */
body.judge-page::before,
body.judge-page::after,
body.judge-page .switch-mode::before,
body.judge-page .switch-mode::after,
body.judge-page .topbar::before,
body.judge-page .topbar::after,
body.judge-page .card::before,
body.judge-page .card::after,
body.judge-page .score-card::before,
body.judge-page .score-card::after,
body.judge-page .cat::before,
body.judge-page .cat::after,
body.judge-page .item::before,
body.judge-page .item::after,
body.judge-page .score-btn::before,
body.judge-page .score-btn::after,
body.judge-page .tag::before,
body.judge-page .tag::after {
  content: none !important;
  display: none !important;
  background: none !important;
  box-shadow: none !important;
}

body.judge-page {
  overflow-x: hidden !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(255,42,163,.18), transparent 34%),
    radial-gradient(circle at 88% 8%, rgba(155,76,255,.14), transparent 36%),
    linear-gradient(145deg, #08010d 0%, #030005 58%, #12051e 100%) !important;
}

body.judge-page .judge-shell {
  contain: layout paint;
  overflow: visible !important;
}

body.judge-page .card,
body.judge-page .score-card,
body.judge-page .cat,
body.judge-page .item,
body.judge-page .topbar {
  position: relative !important;
  isolation: auto !important;
  overflow: hidden !important;
  transform: none !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  background:
    radial-gradient(circle at 12% 8%, rgba(255,72,199,.14), transparent 30%),
    radial-gradient(circle at 92% 92%, rgba(194,118,255,.10), transparent 32%),
    rgba(10,2,16,.94) !important;
}

body.judge-page .score-grid {
  position: relative !important;
  z-index: 5 !important;
  overflow: visible !important;
}

body.judge-page .score-btn,
body.judge-page .btn,
body.judge-page textarea,
body.judge-page input,
body.judge-page .tag {
  position: relative !important;
  z-index: 6 !important;
  transform: none;
  filter: none !important;
  mix-blend-mode: normal !important;
}

body.judge-page .score-btn {
  display: grid;
  place-items: center;
  min-width: 0;
  background: rgba(8,1,13,.96) !important;
}

body.judge-page .score-btn.selected,
body.judge-page .score-btn.active,
body.judge-page .score-btn.is-active,
body.judge-page .score-btn.selected-score {
  transform: none !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(255,42,163,.24), transparent 36%),
    rgba(14,2,20,.98) !important;
}

.live-results-actions {
  align-items: center;
  justify-content: flex-end;
}

.live-results-hidden {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 96px;
  border-style: dashed !important;
  background: rgba(0,0,0,.26) !important;
}

@media (max-width: 620px) {
  .live-results-actions {
    justify-content: flex-start;
  }

  .live-results-hidden {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 620px) {
  body.judge-page .score-grid-ten {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.judge-page .score-grid-ten .score-btn {
    min-height: 58px !important;
    border-radius: 17px !important;
  }
}

/* v104 judge layout polish */
body.judge-page {
  scroll-behavior: smooth;
}

body.judge-page .switch-mode {
  position: fixed !important;
  top: max(12px, env(safe-area-inset-top)) !important;
  right: max(12px, env(safe-area-inset-right)) !important;
  left: auto !important;
  z-index: 10000 !important;
  min-height: 42px;
  padding: 10px 14px !important;
  border-radius: 999px !important;
  white-space: nowrap;
}

body.judge-page .login {
  padding-top: calc(64px + env(safe-area-inset-top));
}

body.judge-page .judge-shell {
  width: min(760px, calc(100% - 24px)) !important;
  padding-top: calc(70px + env(safe-area-inset-top));
  padding-bottom: 34px;
}

body.judge-page .topbar {
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
  border-radius: 24px !important;
}

body.judge-page .brand {
  min-width: 0;
}

body.judge-page .brand h1 {
  font-size: clamp(1.55rem, 5.2vw, 2.25rem);
  line-height: 1.04;
  overflow-wrap: anywhere;
}

body.judge-page .brand .subtitle {
  margin: 6px 0 0;
  line-height: 1.35;
}

body.judge-page .topbar .btns {
  flex: 0 0 auto;
  justify-content: flex-end;
}

body.judge-page .qq-passcode-wrap {
  position: relative;
}

body.judge-page .qq-passcode-wrap input {
  padding-right: 14px !important;
}

body.judge-page .score-card,
body.judge-page .card {
  border-radius: 24px !important;
}

body.judge-page .cat,
body.judge-page .item {
  border-radius: 18px !important;
}

body.judge-page .judge-bottom-buttons {
  display: grid;
  grid-template-columns: minmax(94px, .8fr) minmax(160px, 1.4fr) minmax(94px, .8fr);
  align-items: stretch;
}

body.judge-page .judge-bottom-buttons .btn {
  width: 100%;
}

@media (max-width: 700px) {
  body.judge-page .judge-shell {
    width: min(100% - 16px, 760px) !important;
    padding-top: calc(66px + env(safe-area-inset-top));
  }

  body.judge-page .topbar {
    padding: 14px !important;
  }

  body.judge-page .topbar .brand .logo {
    width: 68px;
    height: 68px;
    border-radius: 22px;
  }

  body.judge-page .topbar .btns {
    width: 100%;
    justify-content: space-between;
  }

  body.judge-page .judge-bottom-buttons {
    grid-template-columns: 1fr 1fr;
  }

  body.judge-page .judge-bottom-buttons #submitVoteButton {
    grid-column: 1 / -1;
    order: -1;
  }
}

@media (max-width: 440px) {
  body.judge-page .switch-mode {
    right: 8px !important;
    top: max(8px, env(safe-area-inset-top)) !important;
    min-height: 38px;
    padding: 8px 11px !important;
    font-size: 12px !important;
  }

  body.judge-page .login {
    padding-inline: 12px;
  }

  body.judge-page .judge-shell {
    width: min(100% - 12px, 760px) !important;
  }
}

/* v106 fixed app switch control */
.switch-mode {
  position: fixed !important;
  top: max(12px, env(safe-area-inset-top)) !important;
  right: max(12px, env(safe-area-inset-right)) !important;
  left: auto !important;
  z-index: 10000 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 14px !important;
  border: 1px solid rgba(255,116,224,.66) !important;
  border-radius: 999px !important;
  color: #fff8ff !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(255,116,224,.13), transparent 34%),
    radial-gradient(circle at 100% 100%, rgba(174,86,255,.11), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.015)),
    rgba(7,1,13,.90) !important;
  box-shadow:
    0 0 16px rgba(255,76,205,.36),
    0 0 34px rgba(174,86,255,.20),
    inset 0 1px 0 rgba(255,255,255,.12) !important;
  font-size: 13px;
  font-weight: 850;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

@media (max-width: 440px) {
  .switch-mode {
    right: 8px !important;
    top: max(8px, env(safe-area-inset-top)) !important;
    min-height: 38px;
    padding: 8px 11px !important;
    font-size: 12px !important;
  }
}

