:root{--rose:#d4748c;--rose-deep:#a84f68;--rose-light:#fff0f4;--gold:#c9a96e;--gold-light:#fff7ea;--dark:#2c1a22;--mid:#806878;--border:#ecdde2;--bg:#f8f0f3;--shadow:0 12px 34px rgba(44,26,34,.10)}
*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC","Microsoft JhengHei",sans-serif;background:var(--bg);color:var(--dark)}a{color:inherit}.topbar{height:62px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;padding:0 22px;position:sticky;top:0;z-index:20}.logo{font-weight:800;color:var(--rose-deep);margin-right:auto}.version{font-size:11px;color:var(--mid);font-weight:700}.navlink,.btn{border:0;border-radius:999px;padding:10px 18px;font-weight:700;cursor:pointer;text-decoration:none;background:#fff;color:var(--mid);border:1px solid var(--border)}.btn.primary,.navlink.active{background:var(--rose-deep);color:#fff;border-color:var(--rose-deep)}.btn.gold{background:var(--gold);color:#fff;border-color:var(--gold)}.btn.danger{background:#d83b35;color:#fff;border-color:#d83b35}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.small{padding:7px 12px;font-size:12px}.wrap{max-width:1160px;margin:0 auto;padding:24px}.grid{display:grid;grid-template-columns:330px 1fr;gap:20px}.card{background:#fff;border:1px solid var(--border);border-radius:20px;padding:22px;box-shadow:var(--shadow);margin-bottom:18px}.card h2,.card h3{margin:0 0 14px}.muted{color:var(--mid);font-size:13px;line-height:1.7}.form-row{display:flex;flex-direction:column;gap:6px;margin:12px 0}.form-row label{font-size:12px;font-weight:800;color:var(--mid)}input,textarea,select{width:100%;border:1.5px solid var(--border);border-radius:14px;padding:12px 14px;font:inherit;outline:none}input:focus,textarea:focus{border-color:var(--rose)}.event-item{border:1.5px solid var(--border);border-radius:16px;padding:14px;margin-bottom:10px;cursor:pointer;background:#fff}.event-item.active{border-color:var(--rose);background:var(--rose-light)}.event-title{font-weight:800}.event-meta{font-size:12px;color:var(--mid);margin-top:4px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat{text-align:center;background:#fff;border:1px solid var(--border);border-radius:18px;padding:16px}.stat b{font-size:30px;color:var(--rose-deep);display:block}.stat span{font-size:12px;color:var(--mid)}.photo-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:12px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.photo{position:relative;aspect-ratio:1;border-radius:16px;overflow:hidden;background:#f0e4e8}.photo.hidden-photo{opacity:.48;filter:grayscale(.45)}.photo img{width:100%;height:100%;object-fit:cover}.photo .cap{position:absolute;bottom:0;left:0;right:0;padding:30px 8px 8px;background:linear-gradient(transparent,rgba(0,0,0,.68));color:#fff;font-size:12px}.photo .actions{position:absolute;top:8px;right:8px;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.badge{display:inline-block;background:rgba(0,0,0,.65);color:#fff;border-radius:999px;padding:4px 8px;font-size:11px;margin-top:4px}.empty{text-align:center;color:var(--mid);padding:40px 20px}.qrbox{display:flex;flex-direction:column;align-items:center;gap:12px;background:var(--gold-light);border:1px dashed var(--gold);border-radius:18px;padding:18px}.urltext{font-size:12px;word-break:break-all;color:var(--mid);text-align:center}.hero{text-align:center;padding:46px 22px 22px}.hero h1{color:var(--rose-deep);margin:.2em 0}.upload-zone{border:2px dashed var(--rose);border-radius:24px;background:rgba(255,255,255,.85);padding:36px 20px;text-align:center;cursor:pointer}.preview{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.preview img{width:84px;height:84px;object-fit:cover;border-radius:14px}.emoji-row{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 12px}.emoji-btn{font-size:24px;border:1px solid var(--border);background:#fff;border-radius:14px;padding:8px 12px;cursor:pointer}.message-lines{display:flex;flex-direction:column;gap:6px}.message-line{display:grid;grid-template-columns:120px 1fr 155px;gap:10px;align-items:center;border-bottom:1px dashed var(--border);padding:7px 0;font-size:13px}.message-line b{color:var(--rose-deep)}.message-line time{color:var(--mid);font-size:12px;text-align:right}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#2c1a22;color:#fff;padding:12px 22px;border-radius:999px;z-index:999;opacity:0;transition:.25s}.toast.show{opacity:1}.toast[data-type="error"]{background:#c62828}.toast[data-type="ok"]{background:#2e7d32}.login{max-width:420px;margin:80px auto}.hidden{display:none!important}

/* Slideshow */
.slideshow{position:fixed;inset:0;background:#0d0810;color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden}
.slide-img{max-width:92vw;max-height:78vh;border-radius:22px;box-shadow:0 20px 80px rgba(0,0,0,.7);object-fit:contain}
.slide-controls{position:fixed;right:18px;bottom:18px;display:flex;gap:10px;z-index:20}
.slide-btn{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:999px;padding:10px 18px;cursor:pointer;backdrop-filter:blur(8px)}
#fsBtn{display:none}
.barrage{position:fixed;right:-40vw;white-space:nowrap;color:#fff;font-weight:800;background:rgba(212,116,140,.78);border:1px solid rgba(255,255,255,.25);padding:8px 18px;border-radius:999px;animation:fly 10s linear forwards;z-index:6}@keyframes fly{to{transform:translateX(-150vw)}}
.float-qr{position:fixed;right:26px;top:26px;width:170px;height:205px;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.35);border-radius:18px;padding:10px 10px 26px;z-index:30;box-shadow:0 12px 40px rgba(0,0,0,.35);resize:both;overflow:hidden;min-width:110px;min-height:140px;max-width:360px;max-height:420px;cursor:move;user-select:none}
.float-qr-title{color:#2c1a22;font-size:12px;text-align:center;font-weight:800;margin-bottom:6px;line-height:1.2}
.float-qr-code{width:100%;height:calc(100% - 38px);display:flex;align-items:center;justify-content:center}
.float-qr-code canvas,.float-qr-code img{max-width:100%;max-height:100%;width:auto!important;height:auto!important}
.float-qr-hint{position:absolute;right:8px;bottom:5px;color:#806878;font-size:10px}
@media(max-width:780px){.grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.topbar{overflow:auto}.wrap{padding:16px}.photo-toolbar{align-items:stretch}.photo-toolbar .btn{width:100%}.message-line{grid-template-columns:80px 1fr}.message-line time{grid-column:1/-1;text-align:left}.float-qr{width:132px;height:166px;right:14px;top:14px}.slide-controls{right:12px;bottom:12px}}

/* v3.6 admin layout */
.admin-actions{display:flex;gap:10px;align-items:center;margin-left:12px}
.create-panel{display:none}
.create-panel.show{display:block}
.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.selected-panel-title{display:flex;justify-content:space-between;align-items:center;gap:8px}
.photo .actions{left:8px;right:8px;justify-content:flex-end}
@media(max-width:780px){.admin-actions{margin-left:0}.topbar{height:auto;min-height:62px;flex-wrap:wrap;padding:12px 16px}.admin-actions .btn{padding:8px 12px}}

/* v4.0 projection pro */
.float-qr{
  position:fixed;
  right:26px;
  top:26px;
  width:170px;
  height:205px;
  background:rgba(255,255,255,.30)!important;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.45);
  border-radius:18px;
  padding:10px 10px 26px;
  z-index:30;
  box-shadow:0 12px 40px rgba(0,0,0,.35);
  resize:both;
  overflow:hidden;
  min-width:110px;
  min-height:140px;
  max-width:360px;
  max-height:420px;
  cursor:move;
  user-select:none;
}
.float-qr-title{
  color:#fff!important;
  font-size:12px;
  text-align:center;
  font-weight:800;
  margin-bottom:6px;
  line-height:1.2;
  text-shadow:0 1px 4px rgba(0,0,0,.75);
}
.float-qr-code{
  width:100%;
  height:calc(100% - 38px);
  display:flex;
  align-items:center;
  justify-content:center;
}
.float-qr-code canvas,.float-qr-code img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
.float-qr-hint{
  position:absolute;
  right:8px;
  bottom:5px;
  color:rgba(255,255,255,.92)!important;
  font-size:10px;
  text-shadow:0 1px 4px rgba(0,0,0,.75);
}
.slide-controls{
  position:fixed;
  right:18px!important;
  bottom:18px!important;
  left:auto!important;
  top:auto!important;
  display:flex;
  gap:10px;
  z-index:20;
}
.slide-btn{
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.25);
  color:#fff;
  border-radius:999px;
  padding:10px 18px;
  cursor:pointer;
  backdrop-filter:blur(8px);
}
#fsBtn{display:none!important}
.pro-badge{
  position:fixed;
  left:16px;
  bottom:14px;
  color:rgba(255,255,255,.45);
  font-size:12px;
  z-index:10;
}
@media(max-width:780px){
  .float-qr{width:132px;height:166px;right:14px;top:14px}
  .slide-controls{right:12px!important;bottom:12px!important}
}

/* v4.1 help page */
.help-hero{background:linear-gradient(135deg,#fff0f4,#fff7ea);border-bottom:1px solid var(--border);padding:56px 24px;text-align:center}
.help-hero h1{font-size:36px;color:var(--rose-deep);margin:8px 0}
.help-hero p{max-width:760px;margin:0 auto;color:var(--mid);line-height:1.8}
.help-section{max-width:1080px;margin:0 auto;padding:28px 20px}
.help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.help-step{background:#fff;border:1px solid var(--border);border-radius:22px;padding:22px;box-shadow:var(--shadow)}
.help-step .num{display:inline-flex;width:34px;height:34px;border-radius:50%;align-items:center;justify-content:center;background:var(--rose-deep);color:#fff;font-weight:900;margin-bottom:12px}
.help-step h3{margin:0 0 8px;color:var(--dark)}
.help-step p{color:var(--mid);font-size:14px;line-height:1.7}
.help-note{background:rgba(255,255,255,.75);border:1px dashed var(--gold);border-radius:20px;padding:18px;color:var(--mid);line-height:1.8}
.help-table{width:100%;border-collapse:collapse;background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}
.help-table th,.help-table td{padding:14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}
.help-table th{background:var(--rose-light);color:var(--rose-deep)}
.help-footer{text-align:center;padding:36px 20px;color:var(--mid)}
@media(max-width:780px){.help-hero h1{font-size:28px}.help-table{font-size:13px}}

/* v4.2 fast upload */
.progress-wrap{height:8px;background:#f1dfe5;border-radius:999px;overflow:hidden;margin-top:12px;display:none}
.progress-wrap.show{display:block}
.progress-bar{height:100%;width:0%;background:var(--rose-deep,#a84f68);transition:width .25s ease;border-radius:999px}
.fast-note{background:var(--gold-light,#fff7ea);border:1px dashed var(--gold,#c9a96e);border-radius:14px;padding:10px 12px;font-size:12px;color:var(--mid,#806878);line-height:1.6;margin-top:8px}
.upload-result{font-weight:800;color:var(--rose-deep,#a84f68)}

/* v4.3 lucky draw */
.draw-panel{background:linear-gradient(135deg,#fff0f4,#fff7ea);border:1px solid var(--border);border-radius:22px;padding:20px;box-shadow:var(--shadow);margin-bottom:18px}
.draw-controls{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.draw-controls .form-row{min-width:160px;margin:0}
.draw-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:14px}
.draw-card{background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 8px 20px rgba(44,26,34,.08)}
.draw-card img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.draw-card div{padding:9px;font-size:12px;color:var(--mid)}
.draw-note{font-size:12px;color:var(--mid);line-height:1.6;margin-top:8px}
.draw-stage{position:fixed;inset:0;background:radial-gradient(circle at center,#3b1725,#080509 70%);color:#fff;z-index:100;display:none;align-items:center;justify-content:center;flex-direction:column;padding:30px;text-align:center}
.draw-stage.show{display:flex}
.draw-title{font-size:44px;font-weight:900;margin-bottom:14px;text-shadow:0 4px 18px rgba(0,0,0,.6)}
.draw-subtitle{font-size:18px;color:rgba(255,255,255,.8);margin-bottom:20px}
.draw-roulette{width:min(70vw,620px);height:min(58vh,520px);border-radius:28px;overflow:hidden;border:4px solid rgba(255,255,255,.28);box-shadow:0 24px 90px rgba(0,0,0,.65);background:#111;display:flex;align-items:center;justify-content:center}
.draw-roulette img{width:100%;height:100%;object-fit:contain;background:#000}
.draw-winner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;width:min(1000px,92vw);margin-top:20px}
.draw-winner-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:22px;padding:12px;backdrop-filter:blur(10px)}
.draw-winner-card img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:16px}
.draw-winner-card b{display:block;margin-top:10px;font-size:18px}
.draw-close{position:fixed;right:18px;top:18px;z-index:101;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:999px;padding:10px 18px;cursor:pointer}
.draw-confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:102}
.confetti-piece{position:absolute;width:10px;height:16px;background:#fff;top:-20px;animation:confettiFall 3.2s linear forwards}
@keyframes confettiFall{to{transform:translateY(110vh) rotate(720deg);opacity:.15}}
@media(max-width:780px){.draw-title{font-size:30px}.draw-roulette{width:92vw;height:48vh}.draw-controls{display:block}.draw-controls .form-row{margin:10px 0}}

/* v4.4 draw stage update */
.draw-stage .draw-roulette{display:none}
.draw-stage.spinning .draw-roulette{display:flex;border:0!important;box-shadow:none!important;background:transparent!important;width:min(62vw,560px)!important;height:min(52vh,460px)!important;border-radius:22px!important}
.draw-stage.spinning .draw-roulette img{border-radius:22px;box-shadow:0 24px 90px rgba(0,0,0,.65)}
.stage-draw-btn{font-size:30px;font-weight:900;background:linear-gradient(135deg,#d4748c,#c9a96e);border:0;color:#fff;border-radius:999px;padding:18px 48px;cursor:pointer;box-shadow:0 18px 60px rgba(0,0,0,.42)}
.stage-draw-btn:hover{transform:translateY(-2px)}
.draw-winner-grid:empty{display:none}
.draw-stage.ready .draw-title{font-size:52px}
.draw-stage.ready .draw-subtitle{margin-bottom:30px}

/* v4.4.2 stop draw */
.stage-stop-btn{font-size:30px;font-weight:900;background:linear-gradient(135deg,#d83b35,#ffb000);border:0;color:#fff;border-radius:999px;padding:18px 52px;cursor:pointer;box-shadow:0 18px 60px rgba(0,0,0,.42);margin-top:22px}
.stage-stop-btn:hover{transform:translateY(-2px)}
.draw-stage.spinning .stage-stop-btn{display:inline-block}

/* v4.4.6 unique winners */
.draw-checkbox{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border);border-radius:999px;padding:10px 14px;font-size:13px;color:var(--mid);font-weight:700}
.draw-checkbox input{width:auto;accent-color:var(--rose-deep)}

/* v5.0 official projection typography and controls */
.slideshow,
.slideshow *{
  font-size: max(14pt, 18px);
}
.slideshow .slide-btn,
.slide-controls .slide-btn{
  background: rgba(255,255,255,.30) !important;
  border-color: rgba(255,255,255,.30) !important;
  color: #fff !important;
  font-size: max(14pt, 18px) !important;
}
.slide-controls{
  opacity: 1 !important;
}
.float-qr-title,
.float-qr-hint,
.pro-badge,
#caption{
  font-size: max(14pt, 18px) !important;
}
.draw-stage,
.draw-stage *{
  font-size: max(14pt, 18px);
}
.draw-title{
  font-size: max(34pt, 46px) !important;
}
.draw-subtitle{
  font-size: max(16pt, 22px) !important;
}
.draw-winner-card b{
  font-size: max(14pt, 20px) !important;
}
.stage-draw-btn,
.stage-stop-btn,
.draw-close{
  font-size: max(14pt, 18px) !important;
}
@media(max-width:780px){
  .slideshow,
  .slideshow *,
  .draw-stage,
  .draw-stage *{
    font-size: max(14pt, 18px);
  }
}

/* v5.1 multi admin */
.admin-badge{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--border);border-radius:999px;padding:8px 12px;color:var(--mid);font-size:13px;font-weight:700}
.owner-tag{display:inline-block;background:var(--gold-light);color:var(--mid);border:1px solid var(--gold);border-radius:999px;padding:3px 8px;font-size:11px;margin-top:4px}

/* v5.2 logout */
#logoutBtn{white-space:nowrap}

/* v5.3 admin users */
.admin-modal{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}
.admin-modal.hidden{display:none!important}
.admin-modal-card{width:min(980px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:24px;border:1px solid var(--border);box-shadow:0 24px 90px rgba(0,0,0,.32);padding:24px}
.admin-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.admin-users-list{display:flex;flex-direction:column;gap:10px}
.admin-user-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;align-items:center;border:1px solid var(--border);border-radius:16px;padding:12px;background:#fff}
.admin-user-row b{color:var(--rose-deep)}
.admin-user-row span{font-size:13px;color:var(--mid)}
@media(max-width:780px){.admin-user-row{grid-template-columns:1fr}.admin-modal-card .grid{grid-template-columns:1fr!important}}

/* v5.3.2 all messages modal */
.message-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.all-messages-list{display:flex;flex-direction:column;gap:10px;max-height:62vh;overflow:auto;padding-right:4px}
.all-message-row{display:grid;grid-template-columns:130px 1fr 170px;gap:12px;align-items:start;border:1px solid var(--border);border-radius:16px;padding:12px;background:#fff}
.all-message-row b{color:var(--rose-deep)}
.all-message-row span{line-height:1.6;color:var(--dark);word-break:break-word}
.all-message-row time{color:var(--mid);font-size:12px;text-align:right;white-space:nowrap}
.messages-modal-card{width:min(900px,96vw)}
@media(max-width:780px){.all-message-row{grid-template-columns:1fr}.all-message-row time{text-align:left}.message-head{align-items:flex-start;flex-direction:column}}

/* v5.4 event status */
.event-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.event-filters .btn.active{background:var(--rose-deep);color:#fff;border-color:var(--rose-deep)}
.event-item.ended{opacity:.72;background:#fafafa}

/* v6.0 Interactive Hub */
.game-center-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.game-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.game-card{border:1px solid var(--border);background:#fff;border-radius:22px;padding:22px;text-align:left;cursor:pointer;box-shadow:var(--shadow);transition:.18s ease;min-height:210px}
.game-card:hover{transform:translateY(-2px)}
.game-card .game-icon{font-size:40px;margin-bottom:12px}
.game-card h3{margin:0 0 8px;color:var(--rose-deep)}
.game-card p{color:var(--mid);line-height:1.7;font-size:14px;min-height:70px}
.game-card span{display:inline-block;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800}
.game-card.active-game span{background:var(--rose-deep);color:#fff}
.game-card.coming-soon{opacity:.72;cursor:not-allowed}
.game-card.coming-soon span{background:#eee;color:#777}
.hub-hidden{display:none!important}
.event-item{cursor:pointer}
.event-item::after{content:"點選進入遊戲中心";display:block;color:var(--gold);font-size:11px;margin-top:6px;font-weight:700}
@media(max-width:780px){.game-center-head{flex-direction:column}.game-card{min-height:auto}}

/* v6.0.1 three-column event home */
.event-board{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin:22px 0;
}
.event-column{
  background:#fff;
  border:4px solid transparent;
  border-radius:26px;
  padding:18px;
  min-height:420px;
  box-shadow:var(--shadow);
}
.event-column-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.event-column-head h3{
  margin:0;
  font-size:22px;
  color:var(--dark);
}
.event-column-head span{
  min-width:34px;
  height:34px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-weight:900;
}
.week-column{border-color:#ff9800;background:linear-gradient(180deg,#fffaf1,#fff)}
.week-column .event-column-head span{background:#ff9800}
.future-column{border-color:#05a9c9;background:linear-gradient(180deg,#f0fcff,#fff)}
.future-column .event-column-head span{background:#05a9c9}
.ended-column{border-color:#09b83e;background:linear-gradient(180deg,#f2fff6,#fff)}
.ended-column .event-column-head span{background:#09b83e}
.event-column-list{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:14px;
  max-height:560px;
  overflow:auto;
  padding-right:4px;
}
.board-event-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  padding:14px;
  cursor:pointer;
  transition:.18s ease;
}
.board-event-card:hover{
  transform:translateY(-2px);
  border-color:var(--rose-deep);
  box-shadow:0 12px 28px rgba(60,30,42,.10);
}
.board-event-card.active{
  border-color:var(--rose-deep);
  background:var(--rose-light);
}
.board-event-title{
  font-weight:900;
  color:var(--dark);
  margin-bottom:6px;
}
.board-event-meta{
  color:var(--mid);
  font-size:13px;
  line-height:1.5;
}
.board-event-pill{
  display:inline-flex;
  margin-top:8px;
  padding:4px 9px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  background:var(--gold-light);
  color:var(--mid);
  border:1px solid var(--gold);
}
.board-empty{
  color:var(--mid);
  font-size:14px;
  line-height:1.7;
  padding:18px 10px;
  text-align:center;
}
.event-board.compact{
  grid-template-columns:1fr;
}
@media(max-width:1100px){
  .event-board{grid-template-columns:1fr}
  .event-column{min-height:auto}
}

/* v6.0.2 clean home */
.home-remove{display:none!important}
#activitySidebar.home-hidden,
#photoGameArea.hub-hidden,
.hub-hidden{display:none!important}
.event-board{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin:22px 0;
}
.event-column{
  background:#fff;
  border:4px solid transparent;
  border-radius:26px;
  padding:18px;
  min-height:520px;
  box-shadow:var(--shadow);
}
.event-column-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.event-column-head h3{margin:0;font-size:22px;color:var(--dark)}
.event-column-head span{
  min-width:34px;
  height:34px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-weight:900;
}
.week-column{border-color:#ff9800;background:linear-gradient(180deg,#fffaf1,#fff)}
.week-column .event-column-head span{background:#ff9800}
.future-column{border-color:#05a9c9;background:linear-gradient(180deg,#f0fcff,#fff)}
.future-column .event-column-head span{background:#05a9c9}
.ended-column{border-color:#09b83e;background:linear-gradient(180deg,#f2fff6,#fff)}
.ended-column .event-column-head span{background:#09b83e}
.event-column-list{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:14px;
  max-height:620px;
  overflow:auto;
  padding-right:4px;
}
.board-event-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  padding:14px;
  cursor:pointer;
  transition:.18s ease;
}
.board-event-card:hover{transform:translateY(-2px);border-color:var(--rose-deep);box-shadow:0 12px 28px rgba(60,30,42,.10)}
.board-event-card.active{border-color:var(--rose-deep);background:var(--rose-light)}
.board-event-title{font-weight:900;color:var(--dark);margin-bottom:6px}
.board-event-meta{color:var(--mid);font-size:13px;line-height:1.5}
.board-event-pill{
  display:inline-flex;
  margin-top:8px;
  padding:4px 9px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  background:var(--gold-light);
  color:var(--mid);
  border:1px solid var(--gold);
}
.board-empty{color:var(--mid);font-size:14px;line-height:1.7;padding:18px 10px;text-align:center}
@media(max-width:1100px){.event-board{grid-template-columns:1fr}.event-column{min-height:auto}}

/* v6.1 QA admin phase 1 */
.qa-game-area{display:block;margin-top:20px}
.qa-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.qa-actions,.qa-form-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.qa-layout{display:grid;grid-template-columns:minmax(320px,420px) 1fr;gap:18px;margin-top:18px}
.qa-options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.qa-image-preview{border:1px solid var(--border);border-radius:18px;overflow:hidden;margin-top:10px;background:#fff}
.qa-image-preview img{width:100%;max-height:220px;object-fit:contain;display:block}
.qa-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.qa-question-list{display:flex;flex-direction:column;gap:12px;max-height:660px;overflow:auto;padding-right:4px}
.qa-question-card{border:1px solid var(--border);border-radius:18px;padding:14px;background:#fff}
.qa-question-card.active{border-color:var(--rose-deep);background:var(--rose-light)}
.qa-question-card h4{margin:0 0 8px;color:var(--dark)}
.qa-question-card img{width:100%;max-height:180px;object-fit:contain;border-radius:12px;background:#fafafa;margin:8px 0}
.qa-question-meta{font-size:12px;color:var(--mid);line-height:1.6}
.qa-question-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:10px 0;font-size:13px;color:var(--dark)}
.qa-question-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.qa-host-question{border:1px solid var(--border);border-radius:18px;padding:16px;background:#fff;line-height:1.7}
.qa-host-question img{max-width:320px;max-height:220px;object-fit:contain;display:block;margin:10px 0;border-radius:14px;background:#fafafa}
.qa-status-live{background:#fff0f4!important;color:var(--rose-deep)!important}
.qa-status-revealed{background:#f2fff6!important;color:#09b83e!important}
@media(max-width:980px){.qa-layout{grid-template-columns:1fr}.qa-head{flex-direction:column}.qa-options-grid{grid-template-columns:1fr}}

#qaOptionA{background:#e53935;color:#fff}
#qaOptionB{background:#fbc02d}
#qaOptionC{background:#1e88e5;color:#fff}
#qaOptionD{background:#43a047;color:#fff}

/* v6.1.2 QA core */
.qa-red{background:#e53935!important;color:#fff!important}
.qa-yellow{background:#fbc02d!important;color:#2c1a22!important}
.qa-blue{background:#1e88e5!important;color:#fff!important}
.qa-green{background:#43a047!important;color:#fff!important}

.qa-guest-page{background:linear-gradient(135deg,#fff7ea,#fff0f4)}
.qa-guest-wrap{width:min(760px,94vw);margin:32px auto}
.qa-guest-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.qa-countdown{min-width:92px;height:92px;border-radius:999px;background:#2c1a22;color:#fff;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:900}
.qa-big-status{font-size:28px;font-weight:900;color:var(--rose-deep);margin-top:20px}
.qa-guest-image img{width:100%;max-height:360px;object-fit:contain;border-radius:20px;background:#fff}
.qa-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}
.qa-answer-btn{border:0;border-radius:22px;min-height:110px;padding:18px;display:flex;align-items:center;gap:16px;cursor:pointer;box-shadow:0 14px 34px rgba(0,0,0,.12);font-size:22px;font-weight:900;text-align:left}
.qa-answer-btn b{font-size:32px}
.qa-answer-btn span{font-size:20px;line-height:1.4}

.qa-stage-page{margin:0;background:#130b10;color:#fff;overflow:hidden}
.qa-stage{min-height:100vh;padding:42px;display:flex;align-items:stretch;justify-content:center}
.qa-stage-panel{width:100%;display:flex;flex-direction:column;justify-content:center}
.qa-stage-icon{font-size:80px}
.qa-stage-panel h1{font-size:54px;margin:10px 0 22px}
.qa-stage-top{display:flex;align-items:flex-start;justify-content:space-between;gap:30px}
.qa-stage-badge{display:inline-flex;border-radius:999px;padding:10px 18px;background:#ff9800;color:#fff;font-weight:900;font-size:20px}
.qa-stage-badge.revealed{background:#09b83e}
.qa-stage-countdown{min-width:150px;height:150px;border-radius:999px;background:#fff;color:#2c1a22;display:flex;align-items:center;justify-content:center;font-size:54px;font-weight:900}
.qa-stage-content{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:28px;align-items:center}
.qa-stage-image img{width:100%;max-height:52vh;object-fit:contain;border-radius:28px;background:#fff}
.qa-stage-options{display:grid;grid-template-columns:1fr;gap:14px}
.qa-stage-option{border-radius:22px;padding:18px 22px;display:flex;align-items:center;gap:18px;font-size:26px;font-weight:900}
.qa-stage-option b{font-size:36px}
.qa-stage-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}
.qa-stat-row{border-radius:18px;padding:12px;display:grid;grid-template-columns:42px 1fr 140px 90px;gap:12px;align-items:center;font-size:18px;font-weight:800}
.qa-stat-bar{height:14px;background:rgba(255,255,255,.35);border-radius:999px;overflow:hidden}
.qa-stat-bar i{display:block;height:100%;background:rgba(255,255,255,.9);border-radius:999px}
.qa-reveal-answer{max-width:720px;margin:0 auto 26px}
.qa-leaderboard{width:min(760px,92vw);display:flex;flex-direction:column;gap:10px}
.qa-rank-row{display:grid;grid-template-columns:80px 1fr 160px;gap:14px;align-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:18px;padding:14px 18px;font-size:24px}
.qa-rank-row b{font-size:32px}
.qa-rank-row strong{text-align:right;color:#ffdf6e}

@media(max-width:780px){
  .qa-answer-grid{grid-template-columns:1fr}
  .qa-stage{padding:22px}
  .qa-stage-panel h1{font-size:32px}
  .qa-stage-content{grid-template-columns:1fr}
  .qa-stage-stats{grid-template-columns:1fr}
  .qa-stat-row{grid-template-columns:34px 1fr;gap:8px}
  .qa-stat-row .qa-stat-bar,.qa-stat-row strong{grid-column:1 / -1}
}

/* v6.1.3 QA stage centered layout */
.qa-stage-page{
  background:radial-gradient(circle at center,#2b1725,#080509 72%)!important;
}
.qa-stage{
  min-height:100vh!important;
  padding:34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
.qa-stage-panel{
  width:min(1380px,96vw)!important;
  min-height:calc(100vh - 68px)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
.qa-stage-top{
  width:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
}
.qa-stage-top > div:first-child{
  width:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
}
#qaStageQuestion,
#qaRevealQuestion{
  display:inline-block!important;
  background:rgba(255,255,255,.96)!important;
  color:#2c1a22!important;
  border-radius:30px!important;
  padding:22px 34px!important;
  margin:12px auto 20px!important;
  font-size:clamp(42px,5vw,82px)!important;
  line-height:1.18!important;
  font-weight:1000!important;
  box-shadow:0 20px 70px rgba(0,0,0,.35)!important;
  max-width:1180px!important;
}
.qa-stage-badge{
  margin:0 auto!important;
  font-size:clamp(18px,1.7vw,28px)!important;
}
.qa-stage-countdown{
  min-width:130px!important;
  height:130px!important;
  font-size:clamp(44px,5vw,72px)!important;
  margin:0 auto 18px!important;
  box-shadow:0 16px 50px rgba(0,0,0,.4)!important;
}
.qa-stage-content{
  width:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:22px!important;
}
.qa-stage-image{
  width:min(780px,88vw)!important;
  display:flex!important;
  justify-content:center!important;
}
.qa-stage-image img{
  width:100%!important;
  max-height:36vh!important;
  object-fit:contain!important;
  border-radius:28px!important;
  background:#fff!important;
}
.qa-stage-options{
  width:min(1120px,92vw)!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:22px!important;
  margin:0 auto!important;
}
.qa-stage-option{
  min-height:132px!important;
  border-radius:28px!important;
  padding:24px 30px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:22px!important;
  font-size:clamp(26px,2.8vw,42px)!important;
  font-weight:1000!important;
  text-align:left!important;
  box-shadow:0 18px 55px rgba(0,0,0,.28)!important;
}
.qa-stage-option b{
  font-size:clamp(42px,4vw,70px)!important;
  min-width:70px!important;
  text-align:center!important;
}
.qa-stage-option span{
  line-height:1.25!important;
}
#qaStageStats{
  display:none!important;
}
#qaRevealStats{
  display:none!important;
}
.qa-reveal-answer{
  width:min(880px,92vw)!important;
  margin:0 auto 28px!important;
}
.qa-reveal-answer .qa-stage-option{
  justify-content:center!important;
  text-align:center!important;
}
.qa-leaderboard{
  margin:0 auto!important;
}
@media(max-width:780px){
  .qa-stage{padding:18px!important}
  .qa-stage-panel{min-height:calc(100vh - 36px)!important}
  .qa-stage-options{grid-template-columns:1fr!important;gap:14px!important}
  .qa-stage-option{min-height:96px!important}
  #qaStageQuestion,#qaRevealQuestion{font-size:34px!important;padding:18px!important}
}

/* v6.1.4 QA interactive waiting + image controls */
.qa-current-image-actions{
  display:flex;
  gap:10px;
  padding:12px;
  justify-content:center;
  background:#fff;
  border-top:1px solid var(--border);
}
.qa-waiting-layout{
  width:min(1280px,96vw);
  display:grid;
  grid-template-columns:1fr 360px;
  gap:38px;
  align-items:center;
  justify-content:center;
}
.qa-waiting-main{
  text-align:center;
}
.qa-player-count{
  margin:28px auto;
  display:inline-flex;
  align-items:center;
  gap:18px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  padding:18px 32px;
}
.qa-player-count span{
  font-size:26px;
  font-weight:900;
}
.qa-player-count b{
  font-size:86px;
  line-height:1;
  color:#ffdf6e;
}
.qa-player-list{
  width:min(760px,90vw);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.qa-player-list div{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.20);
  border-radius:18px;
  padding:12px 16px;
  font-size:24px;
  font-weight:900;
  color:#fff;
}
.qa-qr-card{
  background:#fff;
  color:#2c1a22;
  border-radius:30px;
  padding:24px;
  box-shadow:0 22px 70px rgba(0,0,0,.38);
  text-align:center;
}
.qa-qr-card h2{
  margin:0 0 14px;
  font-size:32px;
}
.qa-qr-card #qaStageQRCode{
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border-radius:20px;
  padding:14px;
}
.qa-qr-card p{
  color:#6e5963;
  font-weight:800;
}
.qa-join-toast{
  position:fixed;
  top:38px;
  left:50%;
  transform:translate(-50%,-20px);
  opacity:0;
  z-index:999;
  background:#ff9800;
  color:#fff;
  border-radius:999px;
  padding:16px 30px;
  font-size:28px;
  font-weight:1000;
  box-shadow:0 16px 60px rgba(0,0,0,.38);
  transition:.28s ease;
}
.qa-join-toast.show{
  transform:translate(-50%,0);
  opacity:1;
}
@media(max-width:900px){
  .qa-waiting-layout{grid-template-columns:1fr}
  .qa-player-list{grid-template-columns:1fr}
  .qa-player-count b{font-size:62px}
}

/* v6.1.5 QA waiting flow fix */
.qa-stage .hidden,
.qa-stage-panel.hidden{
  display:none!important;
}
.qa-stage-panel:not(.hidden){
  display:flex!important;
}
.qa-waiting-layout{
  width:min(1280px,96vw)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 360px!important;
  gap:42px!important;
  align-items:center!important;
  justify-content:center!important;
}
.qa-waiting-main{
  text-align:center!important;
}
.qa-player-title{
  color:#fff!important;
  font-size:30px!important;
  margin:8px 0 16px!important;
}
.qa-player-count{
  margin:26px auto!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:18px!important;
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(255,255,255,.24)!important;
  border-radius:999px!important;
  padding:18px 32px!important;
}
.qa-player-count span{
  color:#fff!important;
  font-size:26px!important;
  font-weight:900!important;
}
.qa-player-count b{
  font-size:86px!important;
  line-height:1!important;
  color:#ffdf6e!important;
}
.qa-player-list{
  width:min(760px,90vw)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
.qa-player-list div{
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(255,255,255,.20)!important;
  border-radius:18px!important;
  padding:12px 16px!important;
  font-size:24px!important;
  font-weight:900!important;
  color:#fff!important;
}
.qa-qr-card{
  background:#fff!important;
  color:#2c1a22!important;
  border-radius:30px!important;
  padding:24px!important;
  box-shadow:0 22px 70px rgba(0,0,0,.38)!important;
  text-align:center!important;
}
.qa-qr-card h2{
  margin:0 0 14px!important;
  font-size:32px!important;
}
.qa-qr-card #qaStageQRCode{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fff!important;
  border-radius:20px!important;
  padding:14px!important;
}
.qa-join-toast{
  position:fixed!important;
  top:38px!important;
  left:50%!important;
  transform:translate(-50%,-20px)!important;
  opacity:0!important;
  z-index:999!important;
  background:#ff9800!important;
  color:#fff!important;
  border-radius:999px!important;
  padding:16px 30px!important;
  font-size:28px!important;
  font-weight:1000!important;
  box-shadow:0 16px 60px rgba(0,0,0,.38)!important;
  transition:.28s ease!important;
}
.qa-join-toast.show{
  transform:translate(-50%,0)!important;
  opacity:1!important;
}
@media(max-width:900px){
  .qa-waiting-layout{grid-template-columns:1fr!important}
  .qa-player-list{grid-template-columns:1fr!important}
  .qa-player-count b{font-size:62px!important}
}

/* v6.1.6 QA answer click fix */
.qa-answer-btn{
  touch-action: manipulation;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}
.qa-answer-btn:disabled{
  cursor: not-allowed;
  filter: grayscale(.12);
}

/* v6.1.7 QA reveal answer layout + guest answer fix */
.qa-answer-btn{
  touch-action: manipulation;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}
.qa-answer-btn:disabled{
  cursor: not-allowed;
  filter: grayscale(.12);
}
.qa-answer-reveal-grid{
  width:min(1180px,94vw);
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  margin:12px auto 28px;
}
.qa-answer-reveal-card{
  min-height:260px;
  border-radius:30px;
  padding:24px;
  box-shadow:0 20px 60px rgba(0,0,0,.32);
  border:5px solid transparent;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.qa-answer-reveal-card.correct{
  border-color:#fff;
  box-shadow:0 0 0 8px rgba(255,255,255,.28),0 20px 70px rgba(0,0,0,.38);
}
.qa-answer-reveal-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.qa-answer-reveal-top b{
  font-size:clamp(54px,5vw,86px);
  line-height:1;
}
.qa-answer-reveal-top strong{
  font-size:clamp(44px,4.5vw,72px);
  line-height:1;
}
.qa-answer-reveal-option{
  font-size:clamp(28px,2.7vw,44px);
  font-weight:1000;
  text-align:left;
  margin:10px 0 18px;
}
.qa-answer-reveal-names{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-start;
  align-content:flex-start;
}
.qa-answer-reveal-names span,
.qa-answer-reveal-names em{
  display:inline-flex;
  border-radius:999px;
  padding:6px 12px;
  background:rgba(255,255,255,.22);
  color:inherit;
  font-size:clamp(16px,1.4vw,22px);
  font-weight:900;
  font-style:normal;
}
.qa-warmup-note{
  color:#ffdf6e;
  font-size:28px;
  font-weight:1000;
}
#qaRevealAnswer{
  width:100%;
  max-width:none!important;
}
#qaStageStats,
#qaRevealStats{
  display:none!important;
}
@media(max-width:780px){
  .qa-answer-reveal-grid{grid-template-columns:1fr;gap:14px}
  .qa-answer-reveal-card{min-height:200px}
}

/* v6.1.9 QA reveal centered + gold correct answer */
#qaStageRevealed{
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  width:100%!important;
}
#qaStageRevealed:not(.hidden){
  display:flex!important;
}
#qaStageRevealed h2{
  margin-top:12px!important;
}
#qaRevealQuestion{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
#qaRevealAnswer{
  width:100%!important;
  display:flex!important;
  justify-content:center!important;
}
.qa-answer-reveal-grid{
  width:min(1120px,92vw)!important;
  margin:12px auto 28px!important;
  align-items:stretch!important;
  justify-content:center!important;
}
.qa-answer-reveal-card{
  position:relative!important;
  overflow:hidden!important;
  border:5px solid rgba(255,255,255,.18)!important;
}
.qa-answer-reveal-card.correct{
  border-color:#ffd54a!important;
  box-shadow:
    0 0 0 7px rgba(255,213,74,.38),
    0 0 36px rgba(255,213,74,.95),
    0 0 80px rgba(255,213,74,.45),
    0 20px 70px rgba(0,0,0,.38)!important;
  animation: qaGoldPulse 1.05s ease-in-out infinite!important;
}
.qa-answer-reveal-card.correct::before{
  content:"正確答案";
  position:absolute;
  right:18px;
  top:14px;
  background:linear-gradient(135deg,#ffe082,#ffc107);
  color:#2c1a22;
  border-radius:999px;
  padding:8px 16px;
  font-size:20px;
  font-weight:1000;
  box-shadow:0 8px 26px rgba(0,0,0,.28);
}
@keyframes qaGoldPulse{
  0%,100%{
    box-shadow:
      0 0 0 6px rgba(255,213,74,.28),
      0 0 28px rgba(255,213,74,.75),
      0 0 70px rgba(255,213,74,.35),
      0 20px 70px rgba(0,0,0,.38);
    transform:scale(1);
  }
  50%{
    box-shadow:
      0 0 0 10px rgba(255,213,74,.55),
      0 0 48px rgba(255,213,74,1),
      0 0 100px rgba(255,213,74,.58),
      0 24px 80px rgba(0,0,0,.42);
    transform:scale(1.018);
  }
}
#qaLeaderboard{
  margin-left:auto!important;
  margin-right:auto!important;
}
@media(max-width:780px){
  .qa-answer-reveal-card.correct::before{
    font-size:16px;
    padding:6px 12px;
  }
}

/* v6.2.5 QA stable reset from v6.1.9 */
.qa-inline-error{margin-top:14px;padding:12px 14px;border-radius:14px;background:#d32f2f;color:#fff;font-weight:900;line-height:1.5}
.qa-guest-page input,.qa-guest-page button{font-size:16px}
.qa-answer-btn{touch-action:manipulation;user-select:none;-webkit-tap-highlight-color:transparent}
.qa-qr-card{display:block!important;visibility:visible!important;opacity:1!important;min-width:340px!important;background:#fff!important;color:#2c1a22!important}
#qaStageQRCode{display:flex!important;align-items:center!important;justify-content:center!important;width:292px!important;height:292px!important;margin:0 auto!important;padding:16px!important;background:#fff!important;border-radius:18px!important}
#qaStageQRCode img{display:block!important;width:260px!important;height:260px!important}
.qa-waiting-layout{width:min(1280px,96vw)!important;display:grid!important;grid-template-columns:minmax(0,1fr) 360px!important;gap:42px!important;align-items:center!important;justify-content:center!important}
.qa-player-count{margin:26px auto!important;display:inline-flex!important;align-items:center!important;gap:18px!important;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.24)!important;border-radius:999px!important;padding:18px 32px!important}
.qa-player-count b{font-size:86px!important;line-height:1!important;color:#ffdf6e!important}
.qa-player-count span{color:#fff!important;font-size:26px!important;font-weight:900!important}
.qa-player-title{color:#fff!important;font-size:30px!important;margin:8px 0 16px!important}
.qa-player-list{width:min(760px,90vw)!important;margin:0 auto!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
.qa-player-list div{background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.20)!important;border-radius:18px!important;padding:12px 16px!important;font-size:24px!important;font-weight:900!important;color:#fff!important}
.qa-join-toast{position:fixed!important;top:38px!important;left:50%!important;transform:translate(-50%,-20px)!important;opacity:0!important;z-index:999!important;background:#ff9800!important;color:#fff!important;border-radius:999px!important;padding:16px 30px!important;font-size:28px!important;font-weight:1000!important;box-shadow:0 16px 60px rgba(0,0,0,.38)!important;transition:.28s ease!important}
.qa-join-toast.show{transform:translate(-50%,0)!important;opacity:1!important}
@media(max-width:900px){.qa-waiting-layout{grid-template-columns:1fr!important}.qa-player-list{grid-template-columns:1fr!important}.qa-player-count b{font-size:62px!important}}

/* v6.2.6 QA answer reveal + next step leaderboard */
.qa-inline-error{margin-top:14px;padding:12px 14px;border-radius:14px;background:#d32f2f;color:#fff;font-weight:900;line-height:1.5}
.qa-answer-reveal-card{position:relative!important;padding-top:54px!important}
.qa-correct-ribbon{
  position:absolute;
  top:12px;
  left:50%;
  transform:translateX(-50%);
  background:linear-gradient(135deg,#ffe082,#ffc107);
  color:#2c1a22;
  border-radius:999px;
  padding:7px 18px;
  font-size:22px;
  font-weight:1000;
  box-shadow:0 8px 26px rgba(0,0,0,.28);
  white-space:nowrap;
  z-index:5;
}
.qa-answer-reveal-card.correct::before{display:none!important}
.qa-answer-reveal-card.correct{
  border-color:#ffd54a!important;
  box-shadow:
    0 0 0 7px rgba(255,213,74,.38),
    0 0 36px rgba(255,213,74,.95),
    0 0 80px rgba(255,213,74,.45),
    0 20px 70px rgba(0,0,0,.38)!important;
  animation: qaGoldPulse 1.05s ease-in-out infinite!important;
}
.qa-qr-card{display:block!important;visibility:visible!important;opacity:1!important;min-width:340px!important;background:#fff!important;color:#2c1a22!important}
#qaStageQRCode{display:flex!important;align-items:center!important;justify-content:center!important;width:292px!important;height:292px!important;margin:0 auto!important;padding:16px!important;background:#fff!important;border-radius:18px!important}
#qaStageQRCode img{display:block!important;width:260px!important;height:260px!important}
.qa-guest-page input,.qa-guest-page button{font-size:16px}
.qa-answer-btn{touch-action:manipulation;user-select:none;-webkit-tap-highlight-color:transparent}

/* v6.2.7 QA session official flow */
.qa-inline-error{margin-top:14px;padding:12px 14px;border-radius:14px;background:#d32f2f;color:#fff;font-weight:900;line-height:1.5}
.qa-room-code{
  display:inline-flex;
  align-items:center;
  gap:16px;
  margin:16px auto 6px;
  padding:12px 24px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  color:#fff;
  font-size:30px;
  font-weight:1000;
}
.qa-room-code b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:130px;
  padding:4px 18px;
  border-radius:20px;
  background:#ffdf6e;
  color:#2c1a22;
  font-size:54px;
  letter-spacing:.08em;
}
.qa-timeup{
  font-size:clamp(82px,12vw,190px);
  font-weight:1000;
  color:#fff;
  text-shadow:0 0 40px rgba(255,255,255,.42),0 18px 80px rgba(0,0,0,.6);
  text-align:center;
}
.qa-timeup-sub{
  font-size:clamp(26px,3vw,46px);
  font-weight:900;
  color:#ffdf6e;
  text-align:center;
}
.qa-answer-reveal-card{position:relative!important;padding-top:54px!important}
.qa-correct-ribbon{
  position:absolute;
  top:12px;
  left:50%;
  transform:translateX(-50%);
  background:linear-gradient(135deg,#ffe082,#ffc107);
  color:#2c1a22;
  border-radius:999px;
  padding:7px 18px;
  font-size:22px;
  font-weight:1000;
  box-shadow:0 8px 26px rgba(0,0,0,.28);
  white-space:nowrap;
  z-index:5;
}
.qa-answer-reveal-card.correct::before{display:none!important}
.qa-answer-reveal-card.correct{
  border-color:#ffd54a!important;
  box-shadow:
    0 0 0 7px rgba(255,213,74,.38),
    0 0 36px rgba(255,213,74,.95),
    0 0 80px rgba(255,213,74,.45),
    0 20px 70px rgba(0,0,0,.38)!important;
  animation: qaGoldPulse 1.05s ease-in-out infinite!important;
}
.qa-qr-card{display:block!important;visibility:visible!important;opacity:1!important;min-width:340px!important;background:#fff!important;color:#2c1a22!important}
#qaStageQRCode{display:flex!important;align-items:center!important;justify-content:center!important;width:292px!important;height:292px!important;margin:0 auto!important;padding:16px!important;background:#fff!important;border-radius:18px!important}
#qaStageQRCode img{display:block!important;width:260px!important;height:260px!important}
.qa-guest-page input,.qa-guest-page button{font-size:16px}
.qa-answer-btn{touch-action:manipulation;user-select:none;-webkit-tap-highlight-color:transparent}

/* v6.2.8 room code generated on stage open */
.qa-room-code{
  border:2px solid rgba(255,223,110,.55)!important;
  box-shadow:0 0 30px rgba(255,223,110,.18)!important;
}
.qa-room-code b{
  font-family:Arial, "Noto Sans TC", sans-serif!important;
  font-variant-numeric:tabular-nums!important;
}
#qaRoomCode{
  text-align:center;
  font-size:28px!important;
  font-weight:1000;
  letter-spacing:.18em;
}

/* v6.2.9 independent leaderboard page */
#qaStageLeaderboardPage{
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:100vh!important;
}
.qa-leaderboard-page{
  width:min(1280px,94vw);
  margin:0 auto;
  text-align:center;
}
.qa-leaderboard-title{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 34px;
  padding:16px 38px;
  border-radius:999px;
  background:rgba(255,255,255,.96);
  color:#2c1a22;
  font-size:clamp(40px,5vw,78px);
  font-weight:1000;
  box-shadow:0 22px 70px rgba(0,0,0,.34);
}
.qa-podium{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  align-items:end;
  margin-bottom:26px;
}
.qa-podium-card{
  position:relative;
  border-radius:34px;
  padding:28px 22px;
  min-height:240px;
  background:rgba(255,255,255,.13);
  border:2px solid rgba(255,255,255,.24);
  box-shadow:0 24px 80px rgba(0,0,0,.34);
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.qa-podium-card.rank-one{
  min-height:310px;
  order:2;
  transform:scale(1.08);
  background:linear-gradient(135deg,rgba(255,224,130,.96),rgba(255,193,7,.88));
  color:#2c1a22;
  border:4px solid #fff2a6;
  box-shadow:0 0 0 8px rgba(255,213,74,.24),0 0 70px rgba(255,213,74,.65),0 28px 90px rgba(0,0,0,.38);
  animation: qaChampionPulse 1.35s ease-in-out infinite;
}
.qa-podium-card.rank-two{
  order:1;
  background:linear-gradient(135deg,rgba(238,238,238,.94),rgba(176,190,197,.84));
  color:#1d1b20;
  border:3px solid rgba(255,255,255,.8);
}
.qa-podium-card.rank-three{
  order:3;
  background:linear-gradient(135deg,rgba(230,153,87,.94),rgba(166,94,46,.86));
  color:#fff;
  border:3px solid rgba(255,226,196,.8);
}
.qa-podium-medal{
  font-size:clamp(54px,5vw,86px);
  line-height:1;
  margin-bottom:8px;
}
.qa-podium-rank{
  font-size:clamp(22px,2vw,34px);
  font-weight:1000;
  margin-bottom:8px;
}
.qa-podium-name{
  max-width:100%;
  font-size:clamp(32px,3vw,54px);
  font-weight:1000;
  line-height:1.15;
  word-break:break-word;
}
.qa-podium-score{
  margin-top:12px;
  font-size:clamp(24px,2.2vw,38px);
  font-weight:1000;
}
.qa-leaderboard-list-page{
  width:min(920px,90vw);
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.qa-leaderboard-page-row{
  display:grid;
  grid-template-columns:90px 1fr 180px;
  align-items:center;
  gap:16px;
  padding:14px 22px;
  border-radius:20px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
  font-size:clamp(22px,2vw,32px);
  font-weight:900;
  box-shadow:0 12px 34px rgba(0,0,0,.22);
}
.qa-leaderboard-page-row b{
  font-size:clamp(28px,2.4vw,42px);
}
.qa-leaderboard-page-row span{
  text-align:left;
}
.qa-leaderboard-page-row strong{
  text-align:right;
  color:#ffdf6e;
}
@keyframes qaChampionPulse{
  0%,100%{ transform:scale(1.08); }
  50%{ transform:scale(1.12); }
}
@media(max-width:900px){
  .qa-podium{
    grid-template-columns:1fr;
  }
  .qa-podium-card,
  .qa-podium-card.rank-one,
  .qa-podium-card.rank-two,
  .qa-podium-card.rank-three{
    order:initial;
    transform:none;
    min-height:180px;
  }
  .qa-leaderboard-page-row{
    grid-template-columns:60px 1fr;
  }
  .qa-leaderboard-page-row strong{
    grid-column:2;
    text-align:left;
  }
}

/* v6.3.1 standalone QA host controller */
.qa-host-embedded-hidden,
.qa-host-card{
  display:none!important;
}
.qa-host-page{
  margin:0;
  background:linear-gradient(135deg,#fff7ea,#fff0f4);
  color:#2c1a22;
}
.qa-host-shell{
  min-height:100vh;
  padding:24px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.qa-host-panel{
  width:min(1080px,96vw);
  background:#fff;
  border:1px solid #ead9df;
  border-radius:32px;
  padding:28px;
  box-shadow:0 28px 90px rgba(44,26,34,.16);
}
.qa-host-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  margin-bottom:20px;
}
.qa-host-kicker{
  color:#a05070;
  font-weight:1000;
  margin-bottom:4px;
}
.qa-host-top h1{
  margin:0 0 6px;
  font-size:34px;
}
.qa-host-top p{
  margin:0;
  color:#7a6970;
  font-weight:800;
}
.qa-host-room{
  flex:0 0 auto;
  min-width:180px;
  border-radius:24px;
  background:#fff7db;
  border:1px solid #ead8a8;
  padding:14px 18px;
  text-align:center;
}
.qa-host-room span{
  display:block;
  color:#7a6970;
  font-weight:900;
}
.qa-host-room b{
  display:block;
  font-size:38px;
  letter-spacing:.08em;
}
.qa-host-question-box{
  background:#fff7fa;
  border:1px solid #ead9df;
  border-radius:24px;
  padding:20px;
  margin-bottom:18px;
}
.qa-host-q-meta{
  color:#a05070;
  font-weight:1000;
  margin-bottom:6px;
}
.qa-host-question-box h2{
  margin:0 0 10px;
  font-size:28px;
}
.qa-host-q-info{
  color:#7a6970;
  font-weight:800;
}
.qa-host-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:18px;
}
.qa-host-actions .btn{
  min-height:48px;
}
.qa-host-mini{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.qa-host-mini div{
  border-radius:20px;
  background:#faf7f8;
  border:1px solid #ead9df;
  padding:14px;
  text-align:center;
}
.qa-host-mini span{
  display:block;
  color:#7a6970;
  font-weight:900;
}
.qa-host-mini b{
  display:block;
  margin-top:4px;
  font-size:26px;
}
.qa-stage-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.58);
  backdrop-filter:blur(10px);
}
.qa-stage-modal.hidden{display:none!important}
.qa-stage-modal-card{
  width:min(1120px,92vw);
  max-height:88vh;
  overflow:auto;
  border-radius:36px;
  padding:34px;
  background:linear-gradient(135deg,rgba(44,26,34,.96),rgba(15,8,13,.96));
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 40px 120px rgba(0,0,0,.68);
  color:#fff;
  text-align:center;
}
.qa-modal-title{
  display:inline-flex;
  margin:0 auto 26px;
  padding:12px 32px;
  border-radius:999px;
  background:rgba(255,255,255,.96);
  color:#2c1a22;
  font-size:clamp(38px,4vw,70px);
  font-weight:1000;
}
.qa-modal-top3{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:end;
  margin-bottom:22px;
}
.qa-modal-rank-card{
  border-radius:30px;
  padding:22px 18px;
  min-height:210px;
  background:rgba(255,255,255,.14);
  border:2px solid rgba(255,255,255,.24);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.qa-modal-rank-card.rank-one{
  min-height:280px;
  transform:scale(1.08);
  background:linear-gradient(135deg,rgba(255,224,130,.98),rgba(255,193,7,.9));
  color:#2c1a22;
  border:4px solid #fff4b8;
  box-shadow:0 0 0 8px rgba(255,213,74,.25),0 0 70px rgba(255,213,74,.7);
  animation: qaChampionPulse 1.25s ease-in-out infinite;
}
.qa-modal-rank-card.rank-two{background:linear-gradient(135deg,rgba(240,240,240,.96),rgba(176,190,197,.84));color:#1d1b20}
.qa-modal-rank-card.rank-three{background:linear-gradient(135deg,rgba(230,153,87,.96),rgba(166,94,46,.86))}
.qa-modal-star{font-size:clamp(42px,4vw,74px)}
.qa-modal-rank{font-size:clamp(22px,2vw,34px);font-weight:1000}
.qa-modal-name{margin-top:8px;font-size:clamp(30px,3vw,52px);font-weight:1000;line-height:1.15}
.qa-modal-score{margin-top:10px;font-size:clamp(22px,2vw,34px);font-weight:1000}
.qa-modal-list{width:min(860px,90vw);margin:0 auto;display:flex;flex-direction:column;gap:10px}
.qa-modal-list-row{display:grid;grid-template-columns:80px 1fr 160px;align-items:center;gap:14px;padding:12px 20px;border-radius:18px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);font-size:clamp(21px,1.8vw,30px);font-weight:900}
.qa-modal-list-row span{text-align:left}
.qa-modal-list-row strong{color:#ffdf6e;text-align:right}
@media(max-width:800px){
  .qa-host-top{flex-direction:column}
  .qa-host-room{width:100%}
  .qa-host-mini{grid-template-columns:1fr}
  .qa-modal-top3{grid-template-columns:1fr}
  .qa-modal-rank-card.rank-one{transform:none}
}

/* v6.3.3 hard fixes */
.qa-stage-error{
  color:#fff;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.28);
  border-radius:24px;
  padding:28px;
  font-size:28px;
  font-weight:900;
  max-width:900px;
  margin:10vh auto;
  text-align:center;
}
.qa-host-card,
.qa-host-embedded-hidden{
  display:none!important;
}

/* v6.3.4 admin layout fix */
.qa-host-embedded-hidden{
  display:none!important;
}
/* If an older rule hid every .qa-host-card, restore normal cards except the embedded marker. */
section.qa-host-card:not(.qa-host-embedded-hidden),
.card.qa-host-card:not(.qa-host-embedded-hidden){
  display:block!important;
}
.qa-host-page .qa-host-panel,
.qa-host-page .qa-host-card,
.qa-control-page .qa-control-card{
  display:block!important;
}

/* v6.3.5 admin main content fix */
#gameCenter:not(.hidden){
  display:block!important;
}
#photoGameArea:not(.hub-hidden),
#qaGameArea:not(.hub-hidden){
  display:grid;
}
/* Never hide main functional admin areas with the host-hidden marker. */
#gameCenter.qa-host-embedded-hidden,
#photoGameArea.qa-host-embedded-hidden,
#qaGameArea.qa-host-embedded-hidden,
#eventBoard.qa-host-embedded-hidden,
#createPanel.qa-host-embedded-hidden{
  display:revert!important;
}

/* v6.3.6 host controller floating modal */
.qa-host-embedded-hidden{
  display:none!important;
}
#gameCenter.qa-host-embedded-hidden{
  display:block!important;
}
.qa-host-modal{
  position:fixed;
  inset:0;
  z-index:10000;
  display:flex;
  align-items:center;
  justify-content:center;
}
.qa-host-modal.hidden{
  display:none!important;
}
.qa-host-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(44,26,34,.42);
  backdrop-filter:blur(8px);
}
.qa-host-modal-panel{
  position:relative;
  width:min(1080px,94vw);
  height:min(680px,86vh);
  background:#fff;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 40px 120px rgba(44,26,34,.38);
  border:1px solid rgba(255,255,255,.56);
  display:flex;
  flex-direction:column;
}
.qa-host-modal-header{
  height:58px;
  padding:0 18px 0 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:linear-gradient(135deg,#fff7fa,#fff);
  border-bottom:1px solid #ead9df;
  color:#2c1a22;
}
.qa-host-modal-header strong{
  display:block;
  font-size:18px;
  font-weight:1000;
}
.qa-host-modal-header span{
  display:block;
  font-size:12px;
  color:#8c727c;
  font-weight:800;
}
.qa-host-modal-close{
  width:38px;
  height:38px;
  border:0;
  border-radius:999px;
  background:#d43b3b;
  color:#fff;
  font-size:26px;
  line-height:1;
  font-weight:900;
  cursor:pointer;
}
#qaHostModalFrame{
  width:100%;
  flex:1;
  border:0;
  background:#fff;
}
.qa-host-page .qa-host-shell{
  min-height:auto;
  padding:16px;
}
.qa-host-page .qa-host-panel{
  box-shadow:none;
  border-radius:22px;
}
@media(max-width:780px){
  .qa-host-modal-panel{
    width:96vw;
    height:90vh;
    border-radius:20px;
  }
}

/* v6.4.0 activity click fix */
#eventList [data-event-id],
#eventList [data-id],
#activityList [data-event-id],
#activityList [data-id],
.event-card,
.activity-card,
.event-item,
.activity-item{
  cursor:pointer!important;
  pointer-events:auto!important;
}
#gameCenter:not(.hidden){
  display:block!important;
}
#gameCenter.qa-host-embedded-hidden{
  display:block!important;
}
.qa-host-embedded-hidden:not(#gameCenter){
  display:none!important;
}


/* v6.4.0 stable overrides */
#eventBoard{
  display:grid!important;
}
#eventBoard.hub-hidden,
#eventBoard.hidden{
  display:none!important;
}
#eventBoard.qa-host-embedded-hidden{
  display:grid!important;
}
#gameCenter.qa-host-embedded-hidden,
#photoGameArea.qa-host-embedded-hidden,
#qaGameArea.qa-host-embedded-hidden,
#activitySidebar.qa-host-embedded-hidden{
  display:revert!important;
}
#qaGameArea .qa-host-embedded-hidden,
.qa-host-embedded-hidden{
  display:none!important;
}
#gameCenter:not(.hidden){
  display:block!important;
}
#photoGameArea:not(.hub-hidden){
  display:grid!important;
}
#qaGameArea:not(.hub-hidden){
  display:block!important;
}
.qa-host-modal{
  position:fixed;
  inset:0;
  z-index:10000;
  display:flex;
  align-items:center;
  justify-content:center;
}
.qa-host-modal.hidden{display:none!important;}
.qa-host-modal-backdrop{position:absolute;inset:0;background:rgba(44,26,34,.42);backdrop-filter:blur(8px);}
.qa-host-modal-panel{position:relative;width:min(1080px,94vw);height:min(680px,86vh);background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 40px 120px rgba(44,26,34,.38);border:1px solid rgba(255,255,255,.56);display:flex;flex-direction:column;}
.qa-host-modal-header{height:58px;padding:0 18px 0 22px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,#fff7fa,#fff);border-bottom:1px solid #ead9df;color:#2c1a22;}
.qa-host-modal-header strong{display:block;font-size:18px;font-weight:1000;}
.qa-host-modal-header span{display:block;font-size:12px;color:#8c727c;font-weight:800;}
.qa-host-modal-close{width:38px;height:38px;border:0;border-radius:999px;background:#d43b3b;color:#fff;font-size:26px;line-height:1;font-weight:900;cursor:pointer;}
#qaHostModalFrame{width:100%;flex:1;border:0;background:#fff;}
.qa-stage-error{color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);border-radius:24px;padding:28px;font-size:28px;font-weight:900;max-width:900px;margin:10vh auto;text-align:center;}

/* v6.4.1 host modal close + Kahoot style scoreboard */
.qa-host-modal-close{
  position:relative;
  z-index:5;
  pointer-events:auto!important;
}
.qa-host-modal-backdrop{
  pointer-events:auto!important;
}
#qaStageScoreboard{
  width:100%!important;
  min-height:100vh!important;
  align-items:center!important;
  justify-content:center!important;
  background:linear-gradient(135deg,#1439b8,#245bd8 52%,#1a2c9e)!important;
  overflow:hidden!important;
}
.qa-kahoot-board{
  width:min(1280px,92vw);
  height:min(840px,92vh);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:46px;
}
.qa-kahoot-title{
  background:#fff;
  color:#2c2c2c;
  border-radius:8px;
  padding:22px 66px;
  font-size:clamp(48px,5vw,82px);
  font-weight:1000;
  box-shadow:0 10px 0 rgba(0,0,0,.14);
}
.qa-kahoot-list{
  width:min(1050px,88vw);
  display:flex;
  flex-direction:column;
  gap:14px;
}
.qa-kahoot-row{
  display:grid;
  grid-template-columns:86px 1fr 70px 180px;
  align-items:center;
  min-height:74px;
  border-radius:9px;
  background:#082a74;
  color:#fff;
  overflow:hidden;
  box-shadow:0 7px 0 rgba(0,0,0,.16);
  animation: qaKahootIn .38s ease both;
}
.qa-kahoot-row.top-one{
  background:#fff;
  color:#2b2b2b;
  transform:scale(1.035);
  box-shadow:0 0 0 5px rgba(255,255,255,.35),0 18px 44px rgba(0,0,0,.26);
}
.qa-kahoot-row.top-two,
.qa-kahoot-row.top-three{
  background:#082a74;
}
.qa-kahoot-avatar{
  width:86px;
  height:74px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:42px;
  background:rgba(255,255,255,.14);
}
.qa-kahoot-row.top-one .qa-kahoot-avatar{
  background:#f0f0f0;
}
.qa-kahoot-name{
  font-size:clamp(32px,3vw,48px);
  font-weight:900;
  padding-left:22px;
  text-align:left;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.qa-kahoot-rank{
  font-size:34px;
  text-align:center;
}
.qa-kahoot-score{
  font-size:clamp(32px,3vw,48px);
  font-weight:1000;
  text-align:right;
  padding-right:28px;
}
.qa-kahoot-empty{
  color:#fff;
  font-size:42px;
  font-weight:900;
  text-align:center;
}
@keyframes qaKahootIn{
  from{opacity:0;transform:translateY(16px)}
  to{opacity:1;transform:translateY(0)}
}
@media(max-width:800px){
  .qa-kahoot-row{
    grid-template-columns:66px 1fr 120px;
  }
  .qa-kahoot-rank{display:none}
  .qa-kahoot-avatar{width:66px}
  .qa-kahoot-name{font-size:28px}
  .qa-kahoot-score{font-size:30px}
}

/* v6.4.2 Kahoot-style award podium */
#qaStageAward{
  width:100%!important;
  min-height:100vh!important;
  align-items:center!important;
  justify-content:center!important;
  background:#3e168b!important;
  overflow:hidden!important;
  position:relative;
}
#qaStageAward::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, #44219a, #3b1184 56%, #2b086b);
  pointer-events:none;
}
.qa-award-page{
  position:relative;
  width:min(1280px,94vw);
  height:min(860px,94vh);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  padding-top:38px;
  color:#fff;
}
.qa-award-title{
  background:#fff;
  color:#2c2c2c;
  border-radius:8px;
  padding:18px 54px;
  font-size:clamp(34px,4vw,62px);
  font-weight:1000;
  box-shadow:0 8px 0 rgba(0,0,0,.18);
}
.qa-award-podium{
  flex:1;
  width:min(900px,90vw);
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:0;
  margin-top:54px;
}
.qa-award-card{
  width:30%;
  min-width:220px;
  background:#884cc4;
  border-radius:12px 12px 0 0;
  box-shadow:0 22px 60px rgba(0,0,0,.30);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  padding:26px 18px;
  opacity:0;
  transform:translateY(80px) scale(.96);
  animation:qaAwardReveal .8s cubic-bezier(.2,.9,.2,1) forwards;
}
.qa-award-card.third{height:330px;order:3}
.qa-award-card.second{height:420px;order:1}
.qa-award-card.first{
  height:510px;
  order:2;
  background:#9458d1;
  box-shadow:0 0 0 8px rgba(255,218,79,.22),0 0 80px rgba(255,218,79,.55),0 26px 80px rgba(0,0,0,.36);
  animation-name:qaAwardRevealFirst;
}
.qa-award-name{
  font-size:clamp(30px,3vw,50px);
  line-height:1.1;
  font-weight:1000;
  text-align:center;
  margin-bottom:18px;
  word-break:break-word;
}
.qa-award-coin{
  width:120px;
  height:120px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:64px;
  background:rgba(255,255,255,.18);
  box-shadow:inset 0 -8px 0 rgba(0,0,0,.16);
  margin-bottom:16px;
}
.qa-award-card.first .qa-award-coin{
  width:150px;
  height:150px;
  font-size:82px;
  background:#ffca28;
}
.qa-award-score{font-size:clamp(30px,3vw,52px);font-weight:1000}
.qa-award-rank{font-size:clamp(22px,2vw,32px);font-weight:900;opacity:.9}
.qa-award-top10-btn{
  position:absolute;
  bottom:28px;
  left:50%;
  transform:translateX(-50%);
  border:0;
  border-radius:14px;
  background:#200056;
  color:#fff;
  padding:18px 34px;
  font-size:26px;
  font-weight:1000;
  cursor:pointer;
  box-shadow:0 10px 30px rgba(0,0,0,.34);
}
.qa-award-top10-panel{
  position:absolute;
  left:50%;
  bottom:96px;
  transform:translateX(-50%);
  width:min(620px,88vw);
  border-radius:18px;
  background:#21005c;
  padding:18px;
  box-shadow:0 20px 70px rgba(0,0,0,.45);
}
.qa-award-top10-panel.hidden{display:none!important}
.qa-award-top10-title{font-size:28px;font-weight:1000;margin-bottom:12px}
.qa-award-top10-list{display:flex;flex-direction:column;gap:8px}
.qa-award-top10-row{
  display:grid;
  grid-template-columns:64px 1fr 120px;
  gap:12px;
  align-items:center;
  background:#8a50c7;
  border-radius:12px;
  padding:12px 16px;
  font-size:24px;
  font-weight:900;
}
.qa-award-top10-row span{text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.qa-award-top10-row strong{text-align:right}
.qa-award-empty,.qa-award-empty-small{color:#fff;font-size:34px;font-weight:1000;text-align:center;padding:40px}
.qa-award-empty-small{font-size:22px;padding:12px}
@keyframes qaAwardReveal{
  0%{opacity:0;transform:translateY(90px) scale(.96)}
  70%{opacity:1;transform:translateY(-10px) scale(1.02)}
  100%{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes qaAwardRevealFirst{
  0%{opacity:0;transform:translateY(90px) scale(1.02)}
  70%{opacity:1;transform:translateY(-14px) scale(1.10)}
  100%{opacity:1;transform:translateY(0) scale(1.06)}
}
@media(max-width:900px){
  .qa-award-podium{width:96vw;gap:6px}
  .qa-award-card{min-width:0;width:32%;padding:16px 10px}
  .qa-award-card.third{height:280px}
  .qa-award-card.second{height:350px}
  .qa-award-card.first{height:430px}
  .qa-award-coin{width:86px;height:86px;font-size:48px}
  .qa-award-card.first .qa-award-coin{width:104px;height:104px;font-size:58px}
}

/* v6.5.1 button + award hardfix */
.qa-stage-error{
  color:#fff;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.28);
  border-radius:24px;
  padding:28px;
  font-size:28px;
  font-weight:900;
  max-width:900px;
  margin:10vh auto;
  text-align:center;
}
#qaStageScoreboard{
  width:100%!important;
  min-height:100vh!important;
  align-items:center!important;
  justify-content:center!important;
  background:linear-gradient(135deg,#1439b8,#245bd8 52%,#1a2c9e)!important;
  overflow:hidden!important;
}
.qa-kahoot-board{
  width:min(1280px,92vw);
  height:min(840px,92vh);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:46px;
}
.qa-kahoot-title{
  background:#fff;
  color:#2c2c2c;
  border-radius:8px;
  padding:22px 66px;
  font-size:clamp(48px,5vw,82px);
  font-weight:1000;
  box-shadow:0 10px 0 rgba(0,0,0,.14);
}
.qa-kahoot-list{
  width:min(1050px,88vw);
  display:flex;
  flex-direction:column;
  gap:14px;
}
.qa-kahoot-row{
  display:grid;
  grid-template-columns:86px 1fr 70px 180px;
  align-items:center;
  min-height:74px;
  border-radius:9px;
  background:#082a74;
  color:#fff;
  overflow:hidden;
  box-shadow:0 7px 0 rgba(0,0,0,.16);
}
.qa-kahoot-row.top-one{
  background:#fff;
  color:#2b2b2b;
  transform:scale(1.035);
  box-shadow:0 0 0 5px rgba(255,255,255,.35),0 18px 44px rgba(0,0,0,.26);
}
.qa-kahoot-avatar{
  width:86px;
  height:74px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:42px;
  background:rgba(255,255,255,.14);
}
.qa-kahoot-name{
  font-size:clamp(32px,3vw,48px);
  font-weight:900;
  padding-left:22px;
  text-align:left;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.qa-kahoot-rank{font-size:34px;text-align:center}
.qa-kahoot-score{
  font-size:clamp(32px,3vw,48px);
  font-weight:1000;
  text-align:right;
  padding-right:28px;
}
.qa-kahoot-empty{
  color:#fff;
  font-size:42px;
  font-weight:900;
  text-align:center;
}
#qaStageAward{
  width:100%!important;
  min-height:100vh!important;
  align-items:center!important;
  justify-content:center!important;
  background:#3e168b!important;
  overflow:hidden!important;
  position:relative;
}
#qaStageAward::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, #44219a, #3b1184 56%, #2b086b);
  pointer-events:none;
}
.qa-award-page{
  position:relative;
  width:min(1280px,94vw);
  height:min(860px,94vh);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  padding-top:38px;
  color:#fff;
}
.qa-award-title{
  background:#fff;
  color:#2c2c2c;
  border-radius:8px;
  padding:18px 54px;
  font-size:clamp(34px,4vw,62px);
  font-weight:1000;
  box-shadow:0 8px 0 rgba(0,0,0,.18);
}
.qa-award-podium{
  flex:1;
  width:min(900px,90vw);
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:0;
  margin-top:54px;
}
.qa-award-card{
  width:30%;
  min-width:220px;
  background:#884cc4;
  border-radius:12px 12px 0 0;
  box-shadow:0 22px 60px rgba(0,0,0,.30);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  padding:26px 18px;
  opacity:0;
  transform:translateY(80px) scale(.96);
  animation:qaAwardReveal .8s cubic-bezier(.2,.9,.2,1) forwards;
}
.qa-award-card.third{height:330px;order:3}
.qa-award-card.second{height:420px;order:1}
.qa-award-card.first{
  height:510px;
  order:2;
  background:#9458d1;
  box-shadow:0 0 0 8px rgba(255,218,79,.22),0 0 80px rgba(255,218,79,.55),0 26px 80px rgba(0,0,0,.36);
  animation-name:qaAwardRevealFirst;
}
.qa-award-name{
  font-size:clamp(30px,3vw,50px);
  line-height:1.1;
  font-weight:1000;
  text-align:center;
  margin-bottom:18px;
  word-break:break-word;
}
.qa-award-coin{
  width:120px;
  height:120px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:64px;
  background:rgba(255,255,255,.18);
  box-shadow:inset 0 -8px 0 rgba(0,0,0,.16);
  margin-bottom:16px;
}
.qa-award-card.first .qa-award-coin{
  width:150px;
  height:150px;
  font-size:82px;
  background:#ffca28;
}
.qa-award-score{font-size:clamp(30px,3vw,52px);font-weight:1000}
.qa-award-rank{font-size:clamp(22px,2vw,32px);font-weight:900;opacity:.9}
.qa-award-top10-btn{
  position:absolute;
  bottom:28px;
  left:50%;
  transform:translateX(-50%);
  border:0;
  border-radius:14px;
  background:#200056;
  color:#fff;
  padding:18px 34px;
  font-size:26px;
  font-weight:1000;
  cursor:pointer;
  box-shadow:0 10px 30px rgba(0,0,0,.34);
}
.qa-award-top10-panel{
  position:absolute;
  left:50%;
  bottom:96px;
  transform:translateX(-50%);
  width:min(620px,88vw);
  border-radius:18px;
  background:#21005c;
  padding:18px;
  box-shadow:0 20px 70px rgba(0,0,0,.45);
}
.qa-award-top10-panel.hidden{display:none!important}
.qa-award-top10-title{font-size:28px;font-weight:1000;margin-bottom:12px}
.qa-award-top10-list{display:flex;flex-direction:column;gap:8px}
.qa-award-top10-row{
  display:grid;
  grid-template-columns:64px 1fr 120px;
  gap:12px;
  align-items:center;
  background:#8a50c7;
  border-radius:12px;
  padding:12px 16px;
  font-size:24px;
  font-weight:900;
}
.qa-award-top10-row span{text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.qa-award-top10-row strong{text-align:right}
.qa-award-empty,.qa-award-empty-small{color:#fff;font-size:34px;font-weight:1000;text-align:center;padding:40px}
.qa-award-empty-small{font-size:22px;padding:12px}
@keyframes qaAwardReveal{
  0%{opacity:0;transform:translateY(90px) scale(.96)}
  70%{opacity:1;transform:translateY(-10px) scale(1.02)}
  100%{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes qaAwardRevealFirst{
  0%{opacity:0;transform:translateY(90px) scale(1.02)}
  70%{opacity:1;transform:translateY(-14px) scale(1.10)}
  100%{opacity:1;transform:translateY(0) scale(1.06)}
}

/* === BE SHOW Bingo V1 === */
.bingo-game-area{display:block;margin-top:20px}.bingo-admin-layout{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(480px,1.4fr);gap:20px;margin:20px 0}.bingo-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:end}.bingo-check{display:flex;align-items:center;gap:9px;border:1px solid var(--border);padding:12px 14px;border-radius:12px;margin-bottom:12px}.bingo-sep{border:0;border-top:1px solid var(--border);margin:24px 0}.bingo-join-box{display:grid;grid-template-columns:170px 1fr;gap:18px;align-items:center}.bingo-join-box #bingoQr{background:#fff;border:1px solid var(--border);padding:9px;width:170px;height:170px}.bingo-link{font-size:12px;color:var(--mid);word-break:break-all;background:#f8f5f3;border-radius:10px;padding:10px;margin:8px 0}.bingo-control-card{text-align:center}.bingo-control-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;text-align:left}.bingo-count{font-weight:800;color:var(--rose-deep)}.bingo-current{width:150px;height:150px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:14px auto 18px;background:var(--rose-deep);color:#fff;font:800 72px Georgia,serif;box-shadow:0 14px 36px rgba(101,55,69,.22)}.bingo-control-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.bingo-number-board{display:grid;grid-template-columns:repeat(15,1fr);gap:5px;margin-top:20px}.bingo-admin-ball{aspect-ratio:1;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f3efed;color:#8e8180;font-size:11px;border:1px solid #eadfda}.bingo-admin-ball.drawn{background:#a66d7b;color:#fff;border-color:#a66d7b}.bingo-admin-ball.current{background:#2c1a22;color:#fff;transform:scale(1.14);font-weight:800}.bingo-winner-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 4px;border-bottom:1px solid var(--border)}.bingo-winner-row strong{display:block;color:var(--rose-deep)}.bingo-winner-row span{font-size:12px;color:var(--mid)}.bingo-winner-row.claimed{opacity:.62}.bingo-empty{text-align:center;color:var(--mid);padding:24px}.game-card.active-game#gameBingoBtn .game-icon{filter:none}@media(max-width:980px){.bingo-admin-layout{grid-template-columns:1fr}.bingo-number-board{grid-template-columns:repeat(10,1fr)}}@media(max-width:640px){.bingo-settings-grid,.bingo-join-box{grid-template-columns:1fr}.bingo-number-board{grid-template-columns:repeat(8,1fr)}.bingo-join-box #bingoQr{margin:auto}.bingo-current{width:120px;height:120px;font-size:56px}}

/* BE SHOW Bingo V7.1 */
.bingo-prize-editor{margin:18px 0;padding:16px;border:1px solid var(--border);border-radius:14px;background:#fbf8f6}.bingo-prize-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.bingo-prize-head h3{margin:0}.bingo-prize-row{display:grid;grid-template-columns:1.4fr .8fr .8fr auto;gap:8px;margin-top:9px;align-items:center}.bingo-prize-row input,.bingo-prize-row select{width:100%;padding:10px;border:1px solid var(--border);border-radius:9px;background:#fff}.bingo-active-prize{margin:5px 0 0;color:var(--rose-deep);font-weight:700}.bingo-current.draw-pop{animation:bingoAdminPop .55s cubic-bezier(.2,.8,.2,1)}@keyframes bingoAdminPop{0%{transform:scale(.72) rotate(-8deg);opacity:.2}60%{transform:scale(1.12) rotate(2deg)}100%{transform:scale(1)}}.bingo-winner-row.current-prize{background:#fffaf0;border-radius:10px;padding-left:10px;padding-right:10px}.bingo-award-tag{display:inline-flex;padding:3px 8px;border-radius:999px;background:#f1e2b9;color:#7b5a1d;margin-left:5px;font-size:11px}@media(max-width:640px){.bingo-prize-row{grid-template-columns:1fr 1fr}.bingo-prize-row .prize-name{grid-column:1/-1}}

/* Bingo V7.2 */
.bingo-recent-wrap{margin:12px 0}.bingo-recent-balls{display:flex;gap:8px;align-items:center;min-height:42px}.recent-ball{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#eee;font-weight:800}.recent-ball.latest{transform:scale(1.12);box-shadow:0 0 0 3px rgba(169,105,120,.25)}.bingo-column-head{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:12px 0 6px;font-weight:900;text-align:center;letter-spacing:.15em}.bingo-column-board{display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:10px!important}.bingo-col{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.bingo-col .bingo-admin-ball{aspect-ratio:1}.bingo-roll{animation:bingoRoll .55s ease-out}@keyframes bingoRoll{0%{transform:rotate(-18deg) scale(.55);filter:blur(2px)}70%{transform:rotate(4deg) scale(1.18)}100%{transform:none}}
\n/* ===== BE SHOW Bingo V7.3 Host Console ===== */\n.bingo-host-console{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fffaf7 100%)}\n.bingo-host-head{align-items:center}.bingo-host-head-actions{display:flex;align-items:center;gap:12px}.bingo-draw-zone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:330px;padding:16px 10px 20px}.bingo-draw-label{font-size:12px;letter-spacing:.28em;font-weight:900;color:var(--mid);margin-bottom:4px}.bingo-current-wrap{display:flex;align-items:center;justify-content:center;gap:18px}.bingo-letter{font:900 54px/1 Georgia,serif;color:var(--rose-deep);min-width:46px;text-align:center}.bingo-host-console .bingo-current{width:190px;height:190px;margin:10px 0;font-size:86px;position:relative;z-index:2}.bingo-countdown{position:absolute;inset:28px 0 auto;display:flex;justify-content:center;align-items:center;pointer-events:none;font:900 170px/1 Georgia,serif;color:rgba(62,35,44,.10);z-index:1;min-height:180px}.bingo-countdown.active{animation:bingoCountdownPulse .7s ease both}@keyframes bingoCountdownPulse{0%{transform:scale(.6);opacity:0}35%{transform:scale(1.15);opacity:1}100%{transform:scale(1);opacity:.35}}.bingo-mega-draw{border:0;border-radius:999px;padding:15px 34px;background:#2c1a22;color:#fff;font-weight:900;font-size:20px;box-shadow:0 10px 28px rgba(44,26,34,.22);cursor:pointer;min-width:230px;display:flex;align-items:center;justify-content:center;gap:12px}.bingo-mega-draw small{font-size:10px;letter-spacing:.08em;opacity:.65;border:1px solid rgba(255,255,255,.34);padding:3px 6px;border-radius:5px}.bingo-mega-draw:disabled{opacity:.4;cursor:not-allowed}.bingo-mega-draw.is-drawing{animation:bingoMegaPulse .6s ease-in-out infinite alternate}@keyframes bingoMegaPulse{to{transform:scale(1.035);box-shadow:0 14px 42px rgba(166,109,123,.34)}}.bingo-recent-panel{max-width:560px;margin:6px auto 14px}.bingo-section-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.bingo-section-title span{font-size:11px;color:var(--mid)}.bingo-host-console .bingo-recent-balls{justify-content:center;min-height:54px}.bingo-host-console .recent-ball{width:48px;height:48px;flex-direction:column;line-height:1}.recent-ball .ball-letter{font-size:9px;opacity:.65;margin-bottom:2px}.bingo-host-actions{margin:8px 0 8px}.bingo-host-actions kbd,.bingo-shortcuts kbd{font:700 10px/1 system-ui;background:#f2ece9;border:1px solid #dfd3cf;border-bottom-width:2px;border-radius:5px;padding:3px 5px;color:#5a4d49}.bingo-shortcuts{font-size:11px;color:var(--mid);margin:8px auto 12px;text-align:center}.bingo-host-winner-dock{margin-top:14px;border:1px solid #eadfda;border-radius:12px;padding:10px 12px;display:flex;justify-content:space-between;align-items:center;background:#fff}.bingo-host-winner-dock strong{display:block;font-size:13px}.bingo-host-winner-dock span{font-size:11px;color:var(--mid)}\n.bingo-host-console.host-fullscreen{position:fixed!important;inset:0!important;z-index:9999!important;border-radius:0!important;margin:0!important;padding:24px 36px!important;overflow:auto!important;background:#fffaf7!important}.bingo-host-console.host-fullscreen .bingo-draw-zone{min-height:42vh}.bingo-host-console.host-fullscreen .bingo-current{width:250px;height:250px;font-size:112px}.bingo-host-console.host-fullscreen .bingo-letter{font-size:76px}.bingo-host-console.host-fullscreen .bingo-column-board{max-width:1100px;margin-left:auto;margin-right:auto}.bingo-host-console.host-fullscreen .bingo-admin-ball{font-size:14px}.bingo-host-console.host-fullscreen .bingo-host-head-actions #bingoHostFullscreenBtn{position:sticky;top:0}.bingo-host-console .bingo-admin-ball.current{box-shadow:0 0 0 4px rgba(44,26,34,.15)}\n@media(max-width:700px){.bingo-current-wrap{gap:8px}.bingo-letter{font-size:42px}.bingo-host-console .bingo-current{width:145px;height:145px;font-size:68px}.bingo-countdown{font-size:120px}.bingo-mega-draw{min-width:200px}.bingo-host-head-actions{align-items:flex-end;flex-direction:column}.bingo-shortcuts{display:none}}\n