
:root{--primary:#2878d0;--bg:#eef7ff;--card:#fff;--text:#203247;--muted:#667085;--line:#d7e5f4;--ok:#1f9d55;--bad:#dc4c4c;--warning:#fff6dd;--surface2:#fbfdff;--surface3:#eaf4ff;--page-grad-a:#e8f4ff;--page-grad-b:#f9fcff;
  --global-bg:#ffffff;--global-text:#1f2937;--global-muted:#667085;--global-border:#e5e7eb;--brand:#1f4f8f}
html[data-theme="dark"]{
  color-scheme:dark;
  --primary:#5b9df0;--bg:#0f172a;--card:#111827;--text:#f1f5f9;--muted:#aab4c3;--line:#334155;--ok:#34d399;--bad:#f87171;--warning:#3a2b08;--surface2:#0f1c31;--surface3:#132338;--page-grad-a:#0b1220;--page-grad-b:#0f172a;
  --global-bg:#111827;--global-text:#f8fafc;--global-muted:#cbd5e1;--global-border:#334155;--brand:#8ab4f8
}
*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;background:linear-gradient(180deg,var(--page-grad-a),var(--page-grad-b));color:var(--text);min-height:100vh}
.global-bar{position:sticky;top:0;z-index:200;height:38px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 12px;background:var(--global-bg);border-bottom:1px solid var(--global-border)}
.global-left,.global-right{height:100%;display:flex;align-items:center;min-width:0}.global-left{gap:7px}.global-right{gap:2px}
.brand{display:flex;align-items:center;gap:6px;color:var(--brand);font-size:13px;font-weight:800;text-decoration:none;white-space:nowrap}
.brand-favicon{width:20px;height:20px;display:block;object-fit:contain;flex:0 0 auto}
.global-separator{color:#9ca3af;font-size:13px;user-select:none}
.global-module-name{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;color:var(--global-muted)}
.global-action{height:26px;display:flex;align-items:center;justify-content:center;padding:0 7px;border:0;border-radius:5px;background:transparent;color:var(--global-muted);font:600 12px inherit;cursor:pointer;text-decoration:none}
.global-action:hover{background:var(--surface3);color:var(--global-text)}
.global-profile{color:var(--global-text);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.global-icon{width:28px;padding:0;font-size:15px}
.global-hidden{display:none!important}
.content-form-fields{display:grid;gap:12px}
.content-field{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:700;color:var(--muted);text-align:left}
.content-field input,.content-field textarea{font-weight:500;font-size:15px;margin:0;text-align:left}
.content-field textarea{min-height:70px}
.content-field-checkbox{flex-direction:row;align-items:center;gap:8px}
.content-item-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;margin-bottom:8px;background:var(--surface2)}
.content-item-actions{display:flex;gap:6px;flex-shrink:0}
.modal-backdrop{position:fixed;inset:0;z-index:500;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;padding:16px}
.modal-backdrop.hidden{display:none!important}
.modal-card{position:relative;background:var(--card);border-radius:22px;max-width:520px;width:100%;max-height:90vh;overflow-y:auto;padding:26px;box-shadow:0 20px 60px #00000040}
.modal-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border:0;border-radius:10px;background:var(--surface3);color:var(--text);font-size:16px;cursor:pointer;line-height:1}
.modal-close:hover{background:var(--line)}
html.fullscreen-active.fullscreen-hide-bar .global-bar{display:none}
@media(max-width:720px){
  .global-bar{padding:0 8px}.brand{font-size:12.5px}.brand-favicon{width:19px;height:19px}
  .global-module-name{max-width:110px;font-size:12px}.brand-text{display:none}.global-profile{max-width:90px;font-size:11.5px}
  .global-action{height:25px;padding:0 5px;font-size:11.5px}.global-icon{width:25px;padding:0}
}
button,input,textarea,select{font:inherit}.container{max-width:1260px;margin:auto;padding:18px}.hero,.panel,.game-shell{background:var(--card);border:1px solid var(--line);border-radius:26px;box-shadow:0 8px 28px #00000012}
.hero{text-align:center;padding:26px}h1{margin:0;color:var(--primary);font-size:clamp(38px,7vw,66px);display:flex;align-items:center;justify-content:center;gap:14px}.brand-hero-icon{height:1em;width:auto;display:block}.subtitle{color:var(--muted);font-size:18px;margin-top:8px}.badge-version{display:inline-block;margin-top:12px;background:#edf6ff;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-weight:800}
.category{margin-top:28px}.category-title{text-align:center;color:var(--primary);font-size:28px}.game-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:16px}
.game-card{background:var(--card);border:2px solid var(--line);border-radius:22px;min-height:180px;padding:20px;text-align:center;cursor:pointer;box-shadow:0 5px 15px #00000010;transition:.15s}.game-card:hover{transform:translateY(-3px);border-color:var(--primary)}
.game-icon{font-size:56px}.game-card h3{margin:8px 0;font-size:21px}.game-card p{color:var(--muted);line-height:1.4;margin:0;font-size:15px}
.panel{max-width:860px;margin:20px auto;padding:22px}.panel-wide{max-width:1080px}.hidden{display:none!important}.panel h2,.game-header{text-align:center;color:var(--primary)}
.config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.config-box{border:2px solid var(--line);border-radius:18px;padding:16px;background:var(--surface2)}.config-box h3{margin:0 0 12px;font-size:17px}
.choice-row{display:flex;gap:8px;flex-wrap:wrap}.choice{border:2px solid var(--line);background:var(--card);border-radius:12px;padding:9px 13px;cursor:pointer;font-weight:800}.choice.active{background:var(--primary);border-color:var(--primary);color:#fff}
.category-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.tab{border:0;border-radius:10px;padding:9px 12px;background:var(--surface3);cursor:pointer;font-weight:800}.tab.active{background:var(--primary);color:#fff}
.checkbox-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:8px}.checkbox-item{border:1px solid var(--line);border-radius:10px;padding:8px;background:var(--card)}
.actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:16px}.btn{border:0;border-radius:14px;padding:12px 18px;background:var(--primary);color:#fff;font-weight:900;cursor:pointer}.btn.secondary{background:#667085}.btn.light{background:var(--surface3);color:var(--text)}.btn.btn-icon{padding:10px 14px;font-size:18px}
.game-shell{max-width:900px;margin:20px auto;padding:20px;transition:max-width .2s ease}.game-shell.wide-shell{max-width:1200px}.topbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.topbar-title{margin:0;color:var(--primary);font-size:20px;font-weight:800;flex:1;text-align:center;min-width:140px}.topbar-tools{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.stats{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.stat{flex:1;min-width:120px;background:#f7fafd;border:1px solid var(--line);border-radius:16px;padding:10px 14px;text-align:center}.stat-label{display:block;font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.stat-value{display:block;font-size:22px;font-weight:900;color:var(--text);margin-top:2px}.stat-primary{background:linear-gradient(135deg,#eaf4ff,#dcecff);border-color:var(--primary)}.stat-primary .stat-label{color:var(--primary)}.stat-primary .stat-value{font-size:30px;color:var(--primary)}
.question-box{text-align:center;background:linear-gradient(180deg,#fbfdff,#f3f8ff);border:1px solid var(--line);border-radius:22px;padding:28px 20px;box-shadow:0 4px 16px #00000008}.emoji{font-size:clamp(70px,15vw,120px)}.question{font-size:clamp(28px,6vw,52px);font-weight:900;margin-top:8px}
.options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.option{border:3px solid var(--line);background:var(--card);border-radius:18px;min-height:88px;padding:14px;font-size:clamp(21px,4vw,38px);font-weight:900;cursor:pointer;overflow-wrap:anywhere}.option:hover{border-color:var(--primary)}.option.correct{background:#e9faef;border-color:var(--ok)}.option.wrong{background:#ffeded;border-color:var(--bad)}.option.eliminated{opacity:.3;text-decoration:line-through;cursor:not-allowed}.option:disabled{cursor:not-allowed;opacity:.55}
.message{text-align:center;min-height:40px;font-weight:900;font-size:24px}.message.ok{color:var(--ok)}.message.bad{color:var(--bad)}
#options:empty{margin:0}
#message:empty{min-height:0}
.ws-instructions{text-align:center;color:var(--muted);font-weight:700;font-size:15px;margin:0 0 14px;line-height:1.4}
.answer-area,.bank{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;min-height:72px;border:3px dashed var(--line);border-radius:17px;padding:12px;margin:14px 0}.syllable{border:2px solid var(--primary);border-radius:14px;background:#edf6ff;padding:12px 17px;font-size:27px;font-weight:900;cursor:pointer}.syllable.used{opacity:.35}.syllable.correct{background:#e9faef;border-color:var(--ok)}.syllable.wrong{background:#ffeded;border-color:var(--bad)}.syllable:disabled{cursor:not-allowed;opacity:.55}.syllable.selected{background:#fff2a8;border-color:#d4a72c}.syllable.miss{background:#fee2e2}
.text-input{width:min(100%,520px);display:block;margin:14px auto;border:3px solid var(--line);border-radius:16px;padding:14px;font-size:24px;text-align:center;font-weight:800;background:var(--card);color:var(--text)}.story-input{width:100%;min-height:130px;border:3px solid var(--line);border-radius:16px;padding:14px;font-size:20px;background:var(--card);color:var(--text)}
.hint{display:none;margin:8px auto;padding:9px 12px;border-radius:12px;background:#edf6ff;color:var(--primary);font-weight:900;text-align:center;max-width:420px}.hint.show{display:block}
.compact-options .option{font-size:18px;min-height:65px;padding:10px;text-align:left}
footer{text-align:center;color:var(--muted);padding:24px}
.student-bar{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;margin:14px 0;font-weight:800;color:var(--muted)}
.student-bar a{color:var(--primary);text-decoration:none;cursor:pointer}
.student-bar a:hover{text-decoration:underline}
.ranking-table{width:100%;border-collapse:collapse}
.ranking-table th,.ranking-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}
.ranking-table th{color:var(--muted);font-size:13px;text-transform:uppercase}
.ranking-table tr:first-child td{font-weight:900}
.game-toggle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.game-toggle{display:flex;align-items:center;gap:10px;border:2px solid var(--line);border-radius:14px;padding:10px 12px;cursor:pointer;background:var(--card);text-align:left}
.game-toggle .gt-icon{font-size:24px}
.game-toggle .gt-title{font-weight:800;flex:1}
.game-toggle .gt-state{font-size:12px;font-weight:900;padding:4px 8px;border-radius:999px}
.game-toggle.on{border-color:var(--ok)}
.game-toggle.on .gt-state{background:#e9faef;color:var(--ok)}
.game-toggle.off{opacity:.6}
.game-toggle.off .gt-state{background:#ffeded;color:var(--bad)}
@media(max-width:650px){.options{grid-template-columns:1fr}.game-shell,.panel{padding:14px}.game-card{min-height:160px}.topbar{justify-content:center}.compact-options .option{font-size:16px}}

/* v0.5.1 */
#homeView,#configView,#gameView{width:100%}
#configView.hidden,#gameView.hidden,#homeView.hidden{display:none!important}
.game-shell{min-height:calc(100vh - 40px);display:flex;flex-direction:column}
.question-box{min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.options{align-items:stretch}
.option{display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.25}
.compact-options .option{font-size:clamp(20px,2.1vw,28px);min-height:92px;padding:12px}
.story-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.story-number{font-size:18px;font-weight:900;color:#b45309;min-height:22px}
.story-label{font-size:16px;font-weight:900;min-height:22px}
.hint-blue{color:#2563eb}.hint-green{color:#16a34a}.hint-purple{color:#7c3aed}.hint-orange{color:#ea580c}
.view-only{display:block}
@media(max-width:760px){
  .compact-options .option{font-size:20px}
  .question-box{min-height:180px}
}

/* CRUZADINHAS v0.6.1 */
.crossword-wrap{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px;margin-top:18px;align-items:start}
.crossword-grid-wrap{min-width:0;overflow:hidden}
.crossword-grid{display:grid;gap:2px;justify-content:center;overflow:hidden;padding:10px;background:#dbe7f3;border-radius:18px}
.crossword-cell{width:var(--cell-size,42px);height:var(--cell-size,42px);position:relative;background:var(--card);border:1px solid #9fb7cf}
.crossword-cell.block{background:#26384b;border-color:#26384b}
.crossword-cell input{width:100%;height:100%;border:0;text-align:center;font-size:var(--cell-font,24px);font-weight:900;text-transform:uppercase;background:transparent;outline:0}
.crossword-cell input:focus{background:#fff2a8}
.crossword-cell.correct{background:#dcfce7}.crossword-cell.wrong{background:#fee2e2}
.crossword-number{position:absolute;left:2px;top:0;font-size:10px;font-weight:900;color:#475569;z-index:2}
.crossword-clues{background:#f8fbff;border:2px solid var(--line);border-radius:18px;padding:14px}
.crossword-clues h3{margin:0 0 10px;color:var(--primary)}
.crossword-clue{display:flex;align-items:center;gap:10px;padding:8px;border-bottom:1px solid var(--line);font-weight:800}
.crossword-clue:last-child{border-bottom:0}.crossword-clue .emoji-small{font-size:30px}.crossword-clue.done{color:var(--ok)}
.crossword-summary{text-align:center;font-weight:900;margin-top:8px}
@media(max-width:850px){.crossword-wrap{grid-template-columns:1fr}.crossword-clues{max-height:260px;overflow:auto}}
.wordsearch-cell{font-size:var(--cell-font,16px);font-weight:900;cursor:pointer;color:var(--text);text-transform:uppercase;padding:0}
.wordsearch-cell.selected{background:#fff2a8}
.wordsearch-cell.miss{background:#fee2e2}
.wordsearch-cell.hint-flash{animation:wsHintFlash 1.2s ease}
@keyframes wsHintFlash{0%,100%{background:var(--card)}50%{background:#fff2a8}}
.sentence-list{display:flex;flex-direction:column;gap:8px;margin:14px 0}
.sentence-chip{display:block;width:100%;text-align:left;border:2px solid var(--primary);border-radius:14px;background:#edf6ff;padding:12px 16px;font-size:18px;font-weight:800;cursor:pointer}
.sentence-chip.used{opacity:.35;cursor:not-allowed}
.sentence-chip.placed{background:#e9faef;border-color:var(--ok);cursor:default}
.robot-cell{display:flex;align-items:center;justify-content:center;font-size:var(--cell-font,24px)}
.robot-cell.robot-obstacle{background:#4b5563}

/* v0.6.2 - Memória */
.memory-grid{gap:12px}
.memory-card{position:relative;min-height:110px;border:3px solid var(--line);border-radius:18px;padding:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.15s;font-weight:900}
.memory-closed{background:var(--primary);border-color:var(--primary);color:#fff}
.memory-open{background:#fff8dd;border-color:#e5a91a;color:var(--text)}
.memory-found{background:#e7f8ed;border-color:var(--ok);color:var(--text)}
.memory-question{font-size:54px;line-height:1}
.memory-emoji{font-size:48px}
.memory-word{font-size:clamp(18px,3vw,28px);overflow-wrap:anywhere}
.memory-check{position:absolute;top:6px;right:9px;color:var(--ok);font-size:22px}
@media(max-width:650px){.memory-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.memory-card{min-height:88px;padding:8px}.memory-question{font-size:42px}.memory-emoji{font-size:38px}.memory-word{font-size:16px}}

/* Painel do professor com abas - visual mais profissional */
.teacher-tabs{display:flex;gap:2px;flex-wrap:wrap;border-bottom:2px solid var(--line);margin-bottom:20px}
.teacher-tab{border:0;background:transparent;padding:13px 20px;font-weight:800;font-size:14px;letter-spacing:.01em;color:var(--muted);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;border-radius:10px 10px 0 0;transition:.15s}
.teacher-tab:hover{color:var(--primary);background:#f5f9fe}
.teacher-tab.active{color:var(--primary);border-bottom-color:var(--primary);background:#f5f9fe}
.teacher-tab-panel{display:none;animation:teacherFadeIn .18s ease}
.teacher-tab-panel.active{display:block}
@keyframes teacherFadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:650px){.teacher-tab{flex:1;min-width:0;padding:11px 8px;font-size:12px;text-align:center}}

/* Abas de categoria na tela inicial dos alunos - visual ludico */
.home-tabs{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:22px 0 6px}
.home-tab{border:2px solid var(--line);background:var(--card);border-radius:16px;padding:10px 18px;font-weight:900;font-size:14px;color:var(--muted);cursor:pointer;display:flex;align-items:center;gap:7px;box-shadow:0 3px 10px #00000008;transition:.15s}
.home-tab:hover{border-color:var(--primary);transform:translateY(-2px)}
.home-tab.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 5px 14px #4f8cff40}
.home-tab-icon{font-size:19px}
@media(max-width:650px){.home-tabs{gap:7px}.home-tab{padding:9px 13px;font-size:12.5px}.home-tab-icon{font-size:16px}}

/* ===== INTERPRETE A FRASE (cartão no estilo "QUEM? FAZ O QUÊ? ONDE?") ===== */
.interp-card{--it-frame:#a9c4e6;--it-slot:#c4dbf5;--it-ink:#1e2a3a;max-width:620px;margin:6px auto 0;padding:26px 24px;border:2px solid var(--it-ink);border-radius:6px;
  background:repeating-linear-gradient(135deg,var(--it-frame) 0 18px,#ffffffb3 18px 22px,var(--it-frame) 22px 40px)}
.interp-theme-pink{--it-frame:#e3a8d6;--it-slot:#f2cdea}
.interp-theme-green{--it-frame:#a7d9b3;--it-slot:#cdeed6}
.interp-theme-yellow{--it-frame:#f0d27e;--it-slot:#f8e6b1}
.interp-inner{background:var(--card);border:2px solid var(--it-ink);border-radius:28px;padding:22px 22px 26px;text-align:center}
.interp-scene{font-size:clamp(52px,11vw,84px);line-height:1.15;letter-spacing:6px;margin:4px 0 10px}
.interp-sentence{margin:0 0 18px;font-size:clamp(22px,4.2vw,34px);font-weight:800;line-height:1.35;color:var(--text)}
.interp-q{margin-top:16px}
.interp-q-label{display:inline-flex;align-items:center;gap:8px;font-size:clamp(19px,3.4vw,26px);font-weight:800;letter-spacing:.5px;color:var(--text);margin-bottom:8px}
.interp-dot{width:14px;height:14px;border-radius:50%;display:inline-block;flex:0 0 auto}
.interp-slot{display:flex;align-items:center;justify-content:center;width:100%;min-height:58px;padding:8px 18px;border:2px solid var(--it-ink);border-radius:999px;
  background:var(--it-slot);color:var(--it-ink);font-family:inherit;font-weight:800;font-size:clamp(18px,3.4vw,26px);text-align:center;text-transform:inherit;box-sizing:border-box;transition:background .15s,border-color .15s}
input.interp-slot{outline:none}
input.interp-slot:focus{box-shadow:0 0 0 4px #2878d040}
input.interp-slot::placeholder{color:#1e2a3a80;font-weight:700}
.interp-slot.ok{background:#d9f7e3;border-color:#1f9d55;color:#0f5b30}
.interp-slot.bad{background:#ffe1e1;border-color:#dc4c4c;color:#8c1f1f;animation:interpShake .3s}
.interp-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px}
.interp-chip{border:2px solid var(--line);background:var(--surface2);color:var(--text);border-radius:14px;padding:9px 14px;font-weight:800;font-size:clamp(15px,2.8vw,19px);cursor:pointer}
.interp-chip:hover{border-color:var(--primary)}
.interp-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}
.interp-chip.eliminated{opacity:.3;text-decoration:line-through;cursor:not-allowed}
.interp-chip:disabled{cursor:not-allowed}
.interp-mark{padding:1px 6px;border-radius:8px;color:#1e2a3a}
.interp-dot.q-who,.interp-mark.q-who{background:#8ec0ff}
.interp-dot.q-what,.interp-mark.q-what{background:#8fe0a8}
.interp-dot.q-where,.interp-mark.q-where{background:#ffc27a}
.interp-dot.q-when,.interp-mark.q-when{background:#c9a8ff}
.interp-dot.q-with,.interp-mark.q-with{background:#ff9fcf}
.interp-dot.q-how,.interp-mark.q-how{background:#7fded8}
@keyframes interpShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
html[data-theme="dark"] .interp-card{--it-frame:#35557e;--it-slot:#1f3350;--it-ink:#9fb3cc;background:repeating-linear-gradient(135deg,var(--it-frame) 0 18px,#ffffff26 18px 22px,var(--it-frame) 22px 40px)}
html[data-theme="dark"] .interp-theme-pink{--it-frame:#6e3a63;--it-slot:#3d2238}
html[data-theme="dark"] .interp-theme-green{--it-frame:#2f5e3d;--it-slot:#1c3524}
html[data-theme="dark"] .interp-theme-yellow{--it-frame:#6b5a24;--it-slot:#3a3116}
html[data-theme="dark"] .interp-slot{color:var(--text)}
html[data-theme="dark"] input.interp-slot::placeholder{color:#cbd5e199}
html[data-theme="dark"] .interp-slot.ok{background:#123822;border-color:#34d399;color:#a7f3c1}
html[data-theme="dark"] .interp-slot.bad{background:#401b1b;border-color:#f87171;color:#fecaca}
@media(max-width:650px){.interp-card{padding:14px 12px}.interp-inner{padding:16px 12px 20px;border-radius:22px}.interp-slot{min-height:50px}}

/* ===== Tema escuro: componentes que tinham fundo claro fixo ===== */
html[data-theme="dark"] .stat{background:var(--surface2)}
html[data-theme="dark"] .stat-primary{background:linear-gradient(135deg,#132338,#16304f)}
html[data-theme="dark"] .question-box{background:linear-gradient(180deg,#111c2e,#0f1a2b);box-shadow:none}
html[data-theme="dark"] .badge-version,html[data-theme="dark"] .syllable,html[data-theme="dark"] .hint,html[data-theme="dark"] .sentence-chip{background:var(--surface3)}
html[data-theme="dark"] .option.correct,html[data-theme="dark"] .syllable.correct,html[data-theme="dark"] .crossword-cell.correct,html[data-theme="dark"] .sentence-chip.placed,html[data-theme="dark"] .memory-found,html[data-theme="dark"] .game-toggle.on .gt-state{background:#123822}
html[data-theme="dark"] .option.wrong,html[data-theme="dark"] .syllable.wrong,html[data-theme="dark"] .syllable.miss,html[data-theme="dark"] .crossword-cell.wrong,html[data-theme="dark"] .wordsearch-cell.miss,html[data-theme="dark"] .game-toggle.off .gt-state{background:#401b1b}
html[data-theme="dark"] .syllable.selected,html[data-theme="dark"] .crossword-cell input:focus,html[data-theme="dark"] .wordsearch-cell.selected{background:#4a3f12}
html[data-theme="dark"] .memory-open{background:#3a3116}
html[data-theme="dark"] .crossword-grid{background:#1b2a3f}
html[data-theme="dark"] .crossword-clues{background:var(--surface2)}
html[data-theme="dark"] .teacher-tab:hover,html[data-theme="dark"] .teacher-tab.active{background:var(--surface3)}

/* ===== TEXTO COM FIGURAS ===== */
.rebus-inner{text-align:left}
.rebus-title{margin:0 0 10px;text-align:center;font-size:clamp(18px,3.2vw,24px);letter-spacing:.5px;color:var(--text)}
.rebus-text{margin:0;font-size:clamp(20px,3.8vw,30px);font-weight:800;line-height:2.1;color:var(--text);word-spacing:3px}
.rebus-fig{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;margin:0 4px;line-height:1.1}
.rebus-emoji{font-size:clamp(34px,6.5vw,52px)}
.rebus-word{min-width:64px;padding:1px 8px;border-bottom:3px dashed var(--it-ink);font-size:clamp(13px,2.4vw,17px);font-weight:900;text-align:center;color:var(--primary);white-space:nowrap}
.rebus-word.filled{border-bottom-style:solid}
.rebus-word.ok{color:#1f9d55;border-bottom-color:#1f9d55}
.rebus-word.bad{color:#dc4c4c;border-bottom-color:#dc4c4c}
.rebus-solved{background:#8fe0a8;color:#12331e;border-radius:8px;padding:0 6px}
.rebus-panel{max-width:620px;margin:14px auto 0;display:grid;gap:10px}
.rebus-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:2px solid var(--line);border-radius:18px;background:var(--surface2)}
.rebus-row.ok{border-color:#1f9d55}
.rebus-row.bad{border-color:#dc4c4c}
.rebus-row-emoji{font-size:40px;flex:0 0 auto;width:52px;text-align:center}
.rebus-row-control{flex:1;min-width:0}
.rebus-row .interp-chips{justify-content:flex-start;margin-top:0}
.rebus-row .rebus-input{min-height:48px;--it-ink:#1e2a3a;--it-slot:var(--card);color:var(--text);border-color:var(--line)}
html[data-theme="dark"] .rebus-row .rebus-input{--it-ink:#9fb3cc}
html[data-theme="dark"] .rebus-solved{background:#1f5d36;color:#d9f7e3}
html[data-theme="dark"] .rebus-word.ok{color:#34d399;border-bottom-color:#34d399}
html[data-theme="dark"] .rebus-word.bad{color:#f87171;border-bottom-color:#f87171}
@media(max-width:650px){.rebus-row{padding:8px}.rebus-row-emoji{font-size:32px;width:40px}.rebus-text{line-height:2}}

/* ===== LEIA E RESPONDA ===== */
.ra-long{font-size:clamp(19px,3.2vw,26px);text-align:left}
.ra-question{margin:14px 0 0;font-size:clamp(19px,3.4vw,26px);font-weight:900;color:var(--primary)}
.ra-think{margin:10px auto 0;max-width:460px;padding:8px 12px;border-radius:12px;background:var(--surface3);color:var(--muted);font-size:14px;font-weight:800}
.ra-options{max-width:620px;margin-left:auto;margin-right:auto}
.ra-options .option{min-height:64px;font-size:clamp(17px,3vw,22px)}

/* v0.49.0 — escritas dos alunos no painel do professor */
.writings-filter{flex:1;min-width:200px;padding:10px 12px;border:2px solid var(--line);border-radius:12px;font:inherit;background:var(--card,#fff);color:inherit}
.writings-list{display:grid;gap:10px;margin-top:8px}
.writing-card{border:2px solid var(--line);border-radius:16px;padding:12px 14px;background:var(--card,#fff)}
.writing-head{display:flex;align-items:center;gap:12px}
.writing-emoji{font-size:28px;line-height:1;min-width:40px}
.writing-meta{flex:1;font-size:14px}
.writing-meta small{color:var(--muted)}
.writing-text{margin:10px 0 0;font-size:18px;line-height:1.5;text-transform:none;white-space:pre-wrap;word-break:break-word}
.btn.small{padding:6px 10px;font-size:13px}

/* v0.50.0 — PROGRAME O ROBÔ com 🔁 REPETIR, CONSERTE O ROBÔ com REPETIR e REPITA ATÉ… */
.robot-repeat-row{align-items:center;flex-wrap:wrap}
.robot-repeat-tip{font-weight:800;color:var(--muted);font-size:15px}
.robot-repeat-chip{border-style:dashed}
.robot-repeat-chip.robot-repeat-open{background:#fff6dd;border-color:#d4a72c}
.sentence-chip.robot-step-active{outline:3px solid #d4a72c;outline-offset:1px}
.debug-repeat-group{display:flex;flex-wrap:wrap;align-items:center;gap:6px;border:2px dashed var(--primary);border-radius:14px;padding:6px 8px}
.debug-repeat-bracket{font-size:28px;font-weight:900;color:var(--muted)}
.syllable.debug-repeat-times{font-size:22px}
.ru-objective{text-align:center;font-weight:900;font-size:clamp(16px,3vw,20px);color:var(--primary);margin:6px 0}
.ru-scene{display:flex;flex-direction:column;align-items:center;gap:6px;margin:10px 0}
.ru-caption{font-weight:800;color:var(--muted);font-size:15px}
.ru-cup{display:flex;flex-direction:column;border:4px solid #7aa7d6;border-top:0;border-radius:0 0 18px 18px;width:96px;overflow:visible}
.ru-cup-cell{height:24px;position:relative;border-bottom:1px dashed var(--line)}
.ru-cup-cell.ru-water{background:#7cc4ff}
.ru-cup-cell.ru-line{border-top:4px solid var(--bad)}
.ru-line-label{position:absolute;left:104px;top:-14px;white-space:nowrap;font-size:13px;font-weight:900;color:var(--bad)}
.ru-row{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}
.ru-cell{width:44px;height:44px;border:2px solid #9fb7cf;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:26px;background:var(--card)}
.ru-cell.ru-wall{background:#4b5563;border-color:#4b5563}
.ru-stairs{display:flex;align-items:flex-end;gap:3px}
.ru-step{width:38px;background:#d6c2a0;border-radius:6px 6px 0 0;display:flex;justify-content:center;align-items:flex-start;font-size:24px;position:relative}
.ru-step span{position:relative;top:-30px}
.ru-step.ru-floor{background:#9ca3af}
.ru-price,.ru-piggy{font-size:20px;font-weight:900}
.ru-coins{font-size:24px;letter-spacing:2px;word-break:break-all}
.ru-line-nums{display:flex;flex-wrap:wrap;justify-content:center;gap:2px}
.ru-num{display:flex;flex-direction:column;align-items:center;min-width:30px;font-weight:800;font-size:14px;border-bottom:3px solid var(--text)}
.ru-num.ru-target{color:var(--bad)}
.ru-frog{height:30px;font-size:24px}
.ru-program{max-width:560px;margin:10px auto;border:3px solid var(--primary);border-radius:16px;padding:10px 14px;background:#edf6ff;font-weight:900;font-size:clamp(16px,3vw,20px);display:grid;gap:8px}
.ru-slot{display:inline-block;border:2px solid var(--line);border-radius:10px;padding:3px 8px;background:var(--card);margin-left:4px}
.ru-counter{text-align:center;font-weight:900;font-size:18px;min-height:26px;margin:4px 0}
.ru-counter.ru-ok{color:var(--ok)}.ru-counter.ru-bad{color:var(--bad)}
html[data-theme="dark"] .ru-program{background:var(--surface3)}
html[data-theme="dark"] .robot-repeat-chip.robot-repeat-open{background:#4a3f12}
@media(max-width:520px){.ru-cell{width:34px;height:34px;font-size:20px}.ru-num{min-width:24px;font-size:12px}.ru-step{width:28px}}
.debug-repeat-group .syllable{padding:8px 11px;font-size:22px}
/* v0.50.0 — com a aba MATERIAL, no celular as abas do painel quebram em linhas (antes se sobrepunham) */
@media(max-width:650px){.teacher-tab{flex:1 1 30%;min-width:96px}}
@media(max-width:520px){.material-card .writing-head{flex-wrap:wrap}.material-card .writing-meta{flex:1 1 100%}}
/* v0.51.0 — aba JOGOS do professor: grupos por categoria, LIGAR/DESLIGAR + ⚙️ por jogo; modal de configuração do jogo */
.game-toggle-cat{margin:18px 0 8px;font-size:15px;color:var(--primary)}
.game-toggle-cat span{color:var(--muted);font-weight:700;font-size:13px}
.game-toggle{padding:0;gap:0;cursor:default;overflow:hidden}
.game-toggle .gt-main{display:flex;align-items:center;gap:10px;flex:1;min-width:0;border:0;background:transparent;padding:10px 8px 10px 12px;cursor:pointer;text-align:left;color:var(--text);font:inherit}
.game-toggle .gt-title{display:flex;flex-direction:column;min-width:0}
.game-toggle .gt-custom{font-size:10.5px;font-weight:900;color:var(--primary);letter-spacing:.02em;margin-top:2px}
.game-toggle .gt-config{flex:0 0 46px;align-self:stretch;border:0;border-left:2px solid var(--line);background:var(--surface2);font-size:19px;cursor:pointer}
.game-toggle .gt-config:hover{background:var(--surface3)}
.game-toggle.off .gt-config{opacity:1}
.modal-card-wide{max-width:640px}
.gcfg-title{margin:0 40px 2px 0;font-size:22px;color:var(--primary)}
.gcfg-sub{margin:0 0 14px;color:var(--muted);font-size:13px;font-weight:700}
.gcfg-row{margin-top:14px}
.game-toggle .gt-title{flex:1;overflow-wrap:normal;word-break:normal;hyphens:none;line-height:1.2}
.game-toggle .gt-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}
.game-toggle .gt-state{font-size:11px;padding:3px 8px}
.game-toggle .gt-custom{font-size:10.5px;font-weight:900;color:var(--primary);background:var(--surface3);border-radius:999px;padding:3px 8px;margin:0}
.game-toggle-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
