:root{
  --blue:#06458b;--blue2:#0c5eb5;--blue3:#eaf4ff;--ink:#10233f;--muted:#66758c;
  --line:#d8e3f0;--card:#fff;--bg:#f5f9fd;--ok:#17834f;--bad:#b83232;--gold:#f3b321;
  --radius:20px;--shadow:0 12px 36px rgba(26,67,112,.10);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#f7fbff,#edf5fc);color:var(--ink)}
button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}.hidden{display:none!important}
.shell{max-width:1440px;margin:auto;min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px clamp(16px,3vw,40px);background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.brandline{display:flex;align-items:center;gap:14px}.brandline img{width:150px;height:auto}.title{font-size:clamp(20px,2.4vw,34px);font-weight:900;color:var(--blue);line-height:1}.tag{font-size:12px;color:var(--muted);margin-top:5px}.ede{width:54px;border-radius:12px}.main{padding:clamp(16px,3vw,36px)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}.heroPanel{overflow:hidden}.heroHead{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;padding:26px}.heroHead h1{font-size:clamp(27px,4vw,52px);margin:6px 0 8px}.heroBody{padding:24px}.subtle{color:var(--muted)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.stack{display:grid;gap:14px}
label{display:grid;gap:7px;font-size:14px;font-weight:700}.field{width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;padding:13px 14px;min-height:48px;color:var(--ink);outline:none}.field:focus{border-color:var(--blue2);box-shadow:0 0 0 3px rgba(12,94,181,.12)}textarea.field{resize:vertical;min-height:90px}
.btn{border:0;border-radius:14px;padding:13px 18px;min-height:48px;font-weight:850;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btnPrimary{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff}.btnGhost{background:#fff;border:1px solid var(--line);color:var(--ink)}.btnDanger{background:#fff1f1;border:1px solid #f1c2c2;color:var(--bad)}.actions{display:flex;flex-wrap:wrap;gap:10px}
.accessCards{display:grid;gap:14px}.infoCard{padding:20px}.step{display:flex;gap:12px;align-items:flex-start}.stepNum{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font-weight:900;flex:0 0 auto}.notice{padding:14px 16px;border-radius:14px;background:var(--blue3);color:#164978;font-size:14px}
.pageHead{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.pageHead h1{margin:0;color:var(--blue);font-size:clamp(26px,3.3vw,42px)}.teacherLayout{display:grid;grid-template-columns:250px 1fr;gap:20px}.sidebar{padding:16px;height:max-content;position:sticky;top:100px}.navBtn{width:100%;justify-content:flex-start;margin-bottom:8px}.navBtn.active{background:var(--blue3);color:var(--blue)}.editor{display:grid;gap:18px}.section{padding:20px}.section h2{margin:0 0 14px;color:var(--blue)}.questionCard{padding:20px}.questionTop{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.optionRow{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center}.letter{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--blue3);color:var(--blue);font-weight:900}.correctMark{accent-color:var(--ok);width:20px;height:20px}.thumb{width:220px;max-height:220px;object-fit:contain;border-radius:14px;border:1px solid var(--line);background:#f2f5f8}.helper{font-size:12px;color:var(--muted)}
.hostHeader{display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;align-items:center}.pill{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px;font-weight:800}.progress{height:8px;background:#e6edf5;border-radius:999px;overflow:hidden}.progress span{height:100%;display:block;background:var(--blue2)}.hostGrid{display:grid;grid-template-columns:1fr 320px;gap:20px}.questionStage{padding:22px}.questionGrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px;align-items:center}.questionVisual{background:linear-gradient(145deg,#eaf5ff,#f5fbff);border-radius:22px;min-height:300px;display:grid;place-items:center;overflow:hidden;padding:10px}.questionVisual img{width:100%;height:auto;max-height:520px;object-fit:contain;border-radius:14px}.placeholderArt{text-align:center;padding:28px}.placeholderArt .emoji{font-size:92px}.questionText{font-size:clamp(26px,3vw,46px);line-height:1.08;color:var(--blue);margin:12px 0 22px}.answers{display:grid;gap:12px}.answer{display:grid;grid-template-columns:46px 1fr;gap:12px;align-items:center;border:2px solid var(--line);border-radius:16px;padding:12px 14px;font-weight:800;background:#fff}.answer.correct{border-color:#67b78d;background:#eefaf3}.answer.wrong{border-color:#e0a2a2;background:#fff4f4}.aA{background:#dcecff;color:#0758ae}.aB{background:#ddf5e8;color:#127344}.aC{background:#fff1ca;color:#9f6b00}.aD{background:#eee5ff;color:#6840a8}.feedback{margin-top:18px;border-left:6px solid var(--ok);background:#f3fbf6;border-radius:14px;padding:18px}.ranking{padding:18px}.rankRow{display:grid;grid-template-columns:38px 1fr auto;gap:8px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.rankRow:last-child{border-bottom:0}.rankNum{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font-weight:900}
.joinScreen{max-width:560px;margin:20px auto}.mobileCard{padding:22px}.mobileTitle{font-size:30px;color:var(--blue);font-weight:900}.waiting{text-align:center;padding:42px 24px}.waiting .emoji{font-size:70px}.studentQuestion{padding:16px}.studentMedia{margin-top:14px;background:#f1f6fb;border:1px solid var(--line);border-radius:16px;padding:8px;display:flex;justify-content:center}.studentMedia img{width:100%;height:auto;max-height:420px;object-fit:contain;border-radius:12px}.studentQuestion h1{font-size:26px;color:var(--blue);line-height:1.1}.studentAnswers{display:grid;gap:10px}.studentAnswer{border:2px solid var(--line);border-radius:16px;padding:14px;text-align:left;background:#fff;font-weight:800}.studentAnswer.selected{border-color:var(--blue2);background:#edf6ff}.studentAnswer:disabled{cursor:default}.scoreBadge{display:inline-flex;background:var(--blue3);color:var(--blue);border-radius:999px;padding:8px 12px;font-weight:900}
.podiumWrap{padding:24px}.celebrate{text-align:center}.celebrate .trophy{font-size:70px}.podium{display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:14px;align-items:end;margin-top:28px}.podiumItem{text-align:center;border:1px solid var(--line);border-radius:20px;padding:18px;background:#fff}.podiumItem.first{background:#fff8df;border-color:#f2d783;transform:translateY(-14px)}.medal{font-size:46px}.bigScore{font-size:26px;font-weight:950;color:var(--blue)}.finalGrid{display:grid;grid-template-columns:1fr 360px;gap:20px}
.toast{position:fixed;right:18px;bottom:18px;background:#10233f;color:#fff;padding:13px 16px;border-radius:14px;box-shadow:var(--shadow);opacity:0;transform:translateY(12px);transition:.2s;pointer-events:none;z-index:50;max-width:360px}.toast.show{opacity:1;transform:none}.modeBadge{font-size:12px;border-radius:999px;padding:7px 10px;background:#fff5d8;color:#7d5a00;border:1px solid #f1d988;font-weight:800}
@media(max-width:980px){.hero,.hostGrid,.finalGrid{grid-template-columns:1fr}.teacherLayout{grid-template-columns:1fr}.sidebar{position:static;display:flex;overflow:auto;gap:8px}.navBtn{min-width:max-content;margin:0}.questionGrid{grid-template-columns:1fr}.questionVisual{min-height:240px}.hostHeader{grid-template-columns:1fr 1fr}.brandline img{width:116px}.ede{display:none}}
@media(max-width:640px){.main{padding:12px}.topbar{padding:12px}.brandline{gap:8px}.brandline img{width:92px}.title{font-size:20px}.tag{font-size:10px}.heroHead,.heroBody,.section,.questionCard{padding:16px}.grid2{grid-template-columns:1fr}.pageHead{align-items:flex-start;flex-direction:column}.hostHeader{grid-template-columns:1fr 1fr}.pill{padding:9px 10px;font-size:13px}.questionStage{padding:12px}.questionText{font-size:28px}.questionVisual{min-height:210px}.podium{grid-template-columns:1fr}.podiumItem.first{transform:none;order:-1}.optionRow{grid-template-columns:38px 1fr auto}.letter{width:38px;height:38px}.actions>.btn{width:100%}}

.grid3{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:14px}.moduleField{grid-column:1/-1}.sectionHead{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.sectionHead h2{margin-bottom:5px}.focusBadge{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;padding:7px 10px;background:#eaf4ff;color:var(--blue);font-size:12px;font-weight:900}.quizTrail{display:inline-flex;margin-top:14px;border-radius:999px;padding:7px 10px;background:var(--blue3);color:var(--blue);font-size:12px;font-weight:850}
@media(max-width:1100px){.grid3{grid-template-columns:1fr 1fr}.moduleField{grid-column:1/-1}}
@media(max-width:640px){.grid3{grid-template-columns:1fr}.moduleField{grid-column:auto}.sectionHead{flex-direction:column}.focusBadge{align-self:flex-start}}

/* Alpha 0.3 — controle do professor + realtime */
.onlineBadge{background:#e9f8ef;color:#126b3e;border-color:#b9e1ca}.controlGrid{display:grid;grid-template-columns:1fr 320px;gap:20px}.controlPanel{padding:22px}.controlTop{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.controlTop h2{color:var(--blue);font-size:clamp(24px,3vw,40px);margin:10px 0}.controlTimer{min-width:120px;text-align:center;border:1px solid var(--line);border-radius:18px;padding:14px;background:var(--blue3)}.controlTimer strong{display:block;color:var(--blue);font-size:30px}.controlTimer span{font-size:12px;color:var(--muted)}.controlStats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.controlStats>div{border:1px solid var(--line);border-radius:16px;padding:14px;text-align:center;background:#fff}.controlStats strong{display:block;color:var(--blue);font-size:30px}.controlStats span{font-size:12px;color:var(--muted)}.hostAnswerCount{margin-top:18px;padding:12px 14px;border-radius:14px;background:var(--blue3);color:var(--blue);font-weight:850;text-align:center}
@media(max-width:980px){.controlGrid{grid-template-columns:1fr}.controlTop{flex-direction:column}.controlTimer{width:100%}.controlStats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.controlStats{grid-template-columns:1fr}.controlTop h2{font-size:26px}}


/* Alpha 0.4.1 — biblioteca, QR Code, relatórios e mídia sem corte */
.questionToolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.questionToolbar>div:first-child{min-width:240px}.questionToolbar strong{color:var(--blue)}
.metricGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.metricCard{padding:22px}.metricCard strong{display:block;color:var(--blue);font-size:38px}.metricCard span{color:var(--muted);font-size:13px}.listStack{display:grid;gap:10px}.listRow{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.listRow:last-child{border-bottom:0}.listActions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.smallBtn{min-height:38px;padding:9px 12px;font-size:13px}.statusTag{display:inline-flex;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:850;border:1px solid var(--line)}.status-lobby{background:#eef6ff;color:#0758ae}.status-question{background:#fff7da;color:#7d5a00}.status-reveal{background:#f0ebff;color:#6542a3}.status-finished{background:#eaf8ef;color:#126b3e}.resultCard{border:1px solid var(--line);border-radius:16px;padding:0 14px 14px}.miniMetrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.miniMetrics>div{background:var(--blue3);border-radius:12px;padding:10px;text-align:center}.miniMetrics strong{display:block;color:var(--blue);font-size:18px}.miniMetrics span{font-size:11px;color:var(--muted)}
.shareStrip{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;max-width:720px;margin:18px auto 0;text-align:left;padding:14px;border:1px solid var(--line);border-radius:18px;background:#f9fcff}.qrCard{display:grid;justify-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px}.qrCard canvas{width:190px!important;height:190px!important;max-width:100%}.qrCard.compact canvas{width:132px!important;height:132px!important}.warningText{color:#8b5c00;margin:6px 0 10px}.tvLobby{padding:36px;display:grid;grid-template-columns:1fr auto;gap:34px;align-items:center;text-align:center}.tvLobbyText .emoji{font-size:70px}
@media(max-width:820px){.metricGrid{grid-template-columns:1fr}.listRow{align-items:flex-start;flex-direction:column}.listActions{justify-content:flex-start}.miniMetrics{grid-template-columns:1fr 1fr}.shareStrip,.tvLobby{grid-template-columns:1fr}.qrCard{justify-self:center}.questionToolbar{align-items:flex-start;flex-direction:column}.questionToolbar .actions{width:100%}}
.imageEditorActions{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.imageEditorActions .btn{min-height:40px}.imageFileName{font-weight:700;color:var(--blue);margin-bottom:4px;overflow-wrap:anywhere}.preview{display:block;margin-top:10px;max-width:min(100%,360px);width:auto;height:auto;max-height:280px;object-fit:contain}

/* A0.4.2 — feedback individual após o professor revelar a resposta */
.studentVerdict{margin-top:16px;border-radius:18px;padding:16px;display:flex;align-items:center;gap:14px;border:2px solid transparent}
.studentVerdict strong{display:block;font-size:22px;line-height:1.05;margin-bottom:5px}
.studentVerdict span{display:block;font-size:14px;line-height:1.35}
.verdictEmoji{font-size:38px;line-height:1}
.studentVerdictOk{background:#ecfbf3;border-color:#72c69b;color:#0b6b3b}
.studentVerdictWrong{background:#fff2f2;border-color:#e8a4a4;color:#a52222}
.studentVerdictTime{background:#fff9e8;border-color:#e9c66b;color:#7d5b00}
.studentAnswer.correct{border-color:#58b784;background:#eaf9f1;color:#126c42}
.studentAnswer.wrong{border-color:#df8888;background:#fff0f0;color:#9c2525}
.waitingMini{display:grid;place-items:center;text-align:center;min-height:180px}
.waitingMini strong{font-size:52px;color:var(--blue)}
.waitingMini span{font-weight:800;color:var(--blue)}
