/* Anonymous question wall (question-wall.php). Loaded after pdf-tools.css and attendance.css so
   the hero, option cards, fields, dashboard chrome (.at-*) and mini buttons are shared. Adds: the
   question list used on both the student phone and the host dashboard, the projector stage with
   the live "top questions" board, moderation controls and the phone-first student card. */
.qw-hero:before{content:"ASK"}
.qw-student [hidden]{display:none!important}

/* ---------- question list (shared) ---------- */
.qw-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.qw-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;transition:border-color .2s,box-shadow .2s,background .2s}
.qw-item.is-pinned{border-color:#f0c25a;background:#fffbf0;box-shadow:0 0 0 3px rgba(240,194,90,.18)}
.qw-item.is-answered{background:#f4faf6;border-color:#cfe9d9}
.qw-item.is-answered .qw-body{color:#4e5e72}
.qw-item.is-pending{border-style:dashed}
.qw-item.is-hidden{opacity:.55}
.qw-item.is-mine{border-left:4px solid var(--magenta)}
.qw-item.is-new{animation:qw-pop .5s var(--ease)}
@keyframes qw-pop{from{transform:translateY(8px);opacity:0;background:#fff3f8}to{transform:none;opacity:1}}
.qw-item-main{display:flex;flex-direction:column;gap:8px;min-width:0}
.qw-body{margin:0;font-size:1rem;line-height:1.55;color:var(--navy);word-break:break-word;overflow-wrap:anywhere}
.qw-item-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.74rem;color:#687482}
.qw-time{font-variant-numeric:tabular-nums}
.qw-badge{display:inline-flex;align-items:center;gap:4px;font-size:.68rem;font-weight:700;padding:2px 8px;border-radius:999px;background:#eef2f6;color:#4e5e72;white-space:nowrap}
.qw-badge .icon{width:12px;height:12px}
.qw-badge.is-pinned{background:#fff1cc;color:#8a5a00}
.qw-badge.is-answered{background:#e6f7ee;color:#137a45}
.qw-badge.is-pending{background:#fff3dc;color:#b56a00}
.qw-badge.is-hidden{background:#fde8e8;color:#b32626}
.qw-badge.is-mine{background:#fde9f2;color:var(--magenta)}
.qw-vote{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-width:48px;padding:6px 6px 5px;border-radius:8px;border:1px solid var(--line);background:#f6f8fb;color:var(--navy);cursor:pointer;font:800 .95rem Manrope,sans-serif;line-height:1;transition:.15s var(--ease)}
.qw-vote .icon{width:18px;height:18px;stroke-width:2.4}
.qw-vote b{font-variant-numeric:tabular-nums}
.qw-vote:hover:not(:disabled){border-color:var(--magenta);color:var(--magenta)}
.qw-vote.is-on{background:var(--magenta);border-color:var(--magenta);color:#fff;box-shadow:0 1px 2px rgba(7,20,42,.07),0 6px 14px rgba(200,30,111,.3)}
.qw-vote.is-bump{transform:scale(1.12)}
.qw-vote:disabled{cursor:not-allowed;opacity:.6}
.qw-vote.is-static{cursor:default}
.qw-reply{display:flex;gap:8px;align-items:flex-start;background:#eef6ff;border-left:3px solid var(--blue);border-radius:0 8px 8px 0;padding:8px 12px;font-size:.88rem;line-height:1.5;color:#1f3a5c}
.qw-reply .icon{width:16px;height:16px;flex:none;margin-top:3px;color:var(--blue)}
.qw-reply b{display:block;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:2px}
.qw-withdraw{margin-left:auto}
.qw-empty{padding:30px 16px}

/* tabs */
.qw-tabs{display:flex;gap:4px;background:#eef2f6;border-radius:999px;padding:4px;flex-wrap:wrap}
.qw-tabs button{border:0;background:transparent;border-radius:999px;padding:7px 14px;font-size:.82rem;font-weight:700;color:#4e5e72;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:.15s}
.qw-tabs button.is-active{background:#fff;color:var(--navy);box-shadow:0 2px 8px rgba(11,37,69,.12)}
.qw-tabs button em{font-style:normal;font-size:.68rem;background:var(--magenta);color:#fff;border-radius:999px;padding:1px 7px;line-height:1.4}
.qw-tabs button em:empty{display:none}

/* topic banner */
.qw-prompt{display:flex;gap:8px;align-items:flex-start;margin:10px 0 0;font-size:.86rem;color:#8a5a00;background:#fff6dd;border:1px solid #f4d9a3;border-radius:8px;padding:9px 12px;line-height:1.5}
.qw-prompt .icon{width:16px;height:16px;flex:none;margin-top:2px}
.qw-prompt b{font-weight:800}
.qw-prompt i{font-style:normal}

/* ---------- student ---------- */
.qw-student{min-height:70vh;background:linear-gradient(160deg,#0b2545 0%,#173d6b 55%,var(--brand-pink-deep) 130%);padding:28px 0 60px}
.qw-student-wrap{max-width:640px}
.qw-student-card{background:#fff;border-radius:20px;padding:26px 24px 22px;display:flex;flex-direction:column;gap:18px;box-shadow:0 1px 2px rgba(7,20,42,.07),0 30px 70px rgba(4,15,32,.35)}
.qw-ask{display:flex;flex-direction:column;gap:12px}
.qw-ask textarea{border:1px solid var(--line);border-radius:14px;padding:12px 14px;font:inherit;font-size:1.02rem;line-height:1.5;resize:vertical;min-height:90px;width:100%}
.qw-ask textarea:focus{outline:none;border-color:var(--magenta);box-shadow:0 0 0 3px rgba(200,30,111,.15)}
.qw-counter{align-self:flex-end;font:600 .72rem Manrope,sans-serif;color:#9aa6b5}
.qw-feed-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px}
.qw-student .at-live{color:#4e5e72;text-transform:none;letter-spacing:0;font-size:.8rem}
.qw-student .qw-list{max-height:none}

/* ---------- host dashboard ---------- */
.qw-dash-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.qw-stage{display:grid;grid-template-columns:200px minmax(0,1fr);gap:22px;align-items:start}
.qw-stage-side{display:flex;flex-direction:column;gap:10px}
.qw-qr-box{padding:6px;border-radius:14px}
.qw-stage-side .at-big-code b{font-size:1.7rem;letter-spacing:.14em}
.qw-stage-counts{display:flex;gap:14px;font-size:.82rem;color:#4e5e72}
.qw-stage-counts b{font:800 1.3rem/1 Manrope,sans-serif;color:var(--navy);letter-spacing:-.03em}
.qw-stage-main{display:flex;flex-direction:column;gap:12px;min-width:0}
.qw-prompt-big{margin:0}
.qw-top-head{display:flex;justify-content:space-between;align-items:center;gap:10px;font:800 .7rem Manrope,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#687482}
.qw-top{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;counter-reset:top}
.qw-top-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;background:#f6f8fb;border:1px solid var(--line);border-radius:14px;padding:10px 14px;animation:qw-slide .45s var(--ease) both;animation-delay:calc(var(--i) * 40ms)}
.qw-top-item.is-new{animation-name:qw-pop}
@keyframes qw-slide{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.qw-top-item.is-pinned{background:#fff6dd;border-color:#f0c25a;box-shadow:0 0 0 3px rgba(240,194,90,.2)}
.qw-top-votes{display:inline-flex;align-items:center;gap:4px;font:800 1rem Manrope,sans-serif;color:var(--magenta);min-width:44px}
.qw-top-votes .icon{width:16px;height:16px;stroke-width:2.6}
.qw-top-body{font-size:1rem;line-height:1.45;color:var(--navy);word-break:break-word;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.qw-top-empty{margin:0;padding:26px 14px;text-align:center;color:#687482;font-size:.88rem;border:1px dashed var(--line);border-radius:14px}
.qw-prompt-form .pdft-field{gap:6px}
.qw-prompt-row{display:flex;gap:8px}
.qw-prompt-row input{flex:1;border:1px solid var(--line);border-radius:8px;padding:9px 12px;font-size:.88rem;min-width:0}
.qw-prompt-row input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(47,111,176,.15)}
.qw-list-host{max-height:640px;overflow:auto;padding:2px}
.qw-list-host .qw-item{padding:12px 14px}
.qw-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}
.qw-act{padding:6px 11px;font-size:.76rem;gap:6px}
.qw-act .icon{width:14px;height:14px}
.qw-act.is-on{background:#fff1cc;border-color:#f0c25a!important;color:#8a5a00}
.qw-act.is-answer{color:#137a45}.qw-act.is-answer:hover{border-color:#137a45!important}
.qw-act.is-approve{background:#137a45;border-color:#137a45!important;color:#fff}
.qw-act.is-hide:hover{color:#b32626;border-color:#b32626!important}
.qw-act.is-delete{width:30px;height:30px;border-radius:4px;opacity:.5}
.qw-act.is-delete:hover{opacity:1;color:#b32626;border-color:#b32626}
.qw-act:disabled{opacity:.5}
.qw-reply-form{display:flex;flex-direction:column;gap:8px;background:#f6f8fb;border:1px solid var(--line);border-radius:8px;padding:10px}
.qw-reply-form textarea{border:1px solid var(--line);border-radius:8px;padding:8px 10px;font:inherit;font-size:.88rem;resize:vertical;background:#fff;width:100%}
.qw-reply-form textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(47,111,176,.15)}
.qw-reply-actions{display:flex;gap:6px;flex-wrap:wrap}
.qw-panel-row{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.qw-resume-actions{display:flex;gap:6px;flex-wrap:wrap}
.at-stat.is-open b{color:var(--blue)}

/* projector mode: QR on the left, big live board on the right */
.qw-qr-card:fullscreen,.qw-qr-card.is-fake-full{position:fixed;inset:0;z-index:9999;border-radius:0;border:0;padding:3vmin 4vmin;background:#fff;overflow:hidden}
.qw-qr-card:fullscreen .qw-stage,.qw-qr-card.is-fake-full .qw-stage{grid-template-columns:minmax(0,28vw) minmax(0,1fr);gap:4vmin;flex:1;min-height:0;align-items:start}
.qw-qr-card:fullscreen .at-qr-head h1,.qw-qr-card.is-fake-full .at-qr-head h1{font-size:3vmin}
.qw-qr-card:fullscreen .at-qr-meta,.qw-qr-card.is-fake-full .at-qr-meta{font-size:1.9vmin}
.qw-qr-card:fullscreen .qw-stage-side .at-big-code b,.qw-qr-card.is-fake-full .qw-stage-side .at-big-code b{font-size:6vmin}
.qw-qr-card:fullscreen .at-big-code small,.qw-qr-card.is-fake-full .at-big-code small{font-size:1.7vmin}
.qw-qr-card:fullscreen .qw-stage-counts,.qw-qr-card.is-fake-full .qw-stage-counts{font-size:2vmin}
.qw-qr-card:fullscreen .qw-stage-counts b,.qw-qr-card.is-fake-full .qw-stage-counts b{font-size:4vmin}
.qw-qr-card:fullscreen .at-countdown,.qw-qr-card:fullscreen .at-qr-url,.qw-qr-card.is-fake-full .at-countdown,.qw-qr-card.is-fake-full .at-qr-url{font-size:2vmin}
.qw-qr-card:fullscreen .qw-prompt-big,.qw-qr-card.is-fake-full .qw-prompt-big{font-size:2.6vmin;padding:1.4vmin 2vmin}
.qw-qr-card:fullscreen .qw-prompt-big .icon,.qw-qr-card.is-fake-full .qw-prompt-big .icon{width:2.6vmin;height:2.6vmin}
.qw-qr-card:fullscreen .qw-top-head,.qw-qr-card.is-fake-full .qw-top-head{font-size:1.6vmin}
.qw-qr-card:fullscreen .qw-top,.qw-qr-card.is-fake-full .qw-top{gap:1.4vmin}
.qw-qr-card:fullscreen .qw-top-item,.qw-qr-card.is-fake-full .qw-top-item{padding:1.8vmin 2.4vmin;border-radius:2vmin;gap:2.4vmin}
.qw-qr-card:fullscreen .qw-top-body,.qw-qr-card.is-fake-full .qw-top-body{font-size:3.1vmin;line-height:1.4;-webkit-line-clamp:2}
.qw-qr-card:fullscreen .qw-top-votes,.qw-qr-card.is-fake-full .qw-top-votes{font-size:3.4vmin;min-width:9vmin}
.qw-qr-card:fullscreen .qw-top-votes .icon,.qw-qr-card.is-fake-full .qw-top-votes .icon{width:3vmin;height:3vmin}
.qw-qr-card:fullscreen .qw-top-item .qw-badge,.qw-qr-card:fullscreen .qw-top-item .qw-time,.qw-qr-card.is-fake-full .qw-top-item .qw-badge,.qw-qr-card.is-fake-full .qw-top-item .qw-time{font-size:1.8vmin}
.qw-qr-card:fullscreen .qw-top-empty,.qw-qr-card.is-fake-full .qw-top-empty{font-size:2.6vmin;padding:6vmin 2vmin}
.qw-qr-card:fullscreen .at-qr-actions,.qw-qr-card:fullscreen .qw-prompt-form,.qw-qr-card.is-fake-full .at-qr-actions,.qw-qr-card.is-fake-full .qw-prompt-form{display:none}

/* ---------- responsive ---------- */
@media (max-width:1080px){.qw-dash-grid{grid-template-columns:1fr}}
@media (max-width:720px){
  .qw-stage{grid-template-columns:1fr}
  .qw-stage-side{flex-direction:row;flex-wrap:wrap;align-items:center}
  .qw-qr-box{width:120px}
  .qw-student{padding:16px 0 40px}
  .qw-student-card{padding:22px 16px 18px;border-radius:14px}
  .qw-item{padding:10px 12px;gap:10px}
  .qw-body{font-size:.95rem}
  .qw-prompt-row{flex-direction:column}
  .qw-list-host{max-height:none}
}
@media print{.qw-qr-card{box-shadow:none}}
