:root{font-family:system-ui,Segoe UI,Arial,sans-serif;color:#f8f6ff;background:#101027}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 9% 2%,#4d205f88,transparent 42%),radial-gradient(ellipse at 92% 100%,#19517288,transparent 45%),#101027}#app{max-width:1320px;margin:auto;padding:22px 20px 50px}h1,h2,h3{line-height:1.17}h1{font-size:clamp(26px,5vw,48px);margin:8px 0;text-shadow:3px 3px #da168a,-2px -2px #0bb6cd}h2{font-size:clamp(20px,3vw,29px)}p{line-height:1.5}.head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:23px}.tag,.chip{border:1px solid #8260a3;border-radius:999px;padding:7px 13px;background:#352950;font-size:12px}.panel{padding:22px;border:1px solid #6f568e;background:#201b42f4;border-radius:20px;box-shadow:0 14px 38px #0003}.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.wide{width:100%}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:12px}.center{text-align:center}.mute{color:#c4b8e0}.mini{font-size:12px}.accent{color:#47f4e9;letter-spacing:.12em;font-size:12px;font-weight:900}.big{font-size:clamp(52px,9vw,104px);font-weight:950;color:#ffde55;letter-spacing:.07em;margin:0}.hero{font-size:70px}.qr{width:180px;height:180px;background:white;border-radius:9px;padding:8px}input,textarea,select{width:100%;background:#100f26;border:1px solid #8570aa;border-radius:9px;color:white;padding:12px;font:inherit;min-width:0}textarea{min-height:84px}label{display:block;font-size:13px;font-weight:750;margin-bottom:5px}button{border:0;background:#ffd34c;color:#181230;border-radius:10px;font:inherit;font-weight:850;cursor:pointer;padding:13px 18px}button:disabled{opacity:.45;cursor:default}button.alt{background:#3b315f;color:white;border:1px solid #806caa}button.danger{background:#752b55;color:white}button:hover:not(:disabled){filter:brightness(1.08)}.options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.answer{background:#332b59;border:1px solid #69548f;border-radius:11px;padding:15px;font-size:clamp(16px,1.8vw,22px)}.answer.sel{border:2px solid #48ffdc;background:#165c69}.answer.good{border:2px solid #6df5b5}.question{font-weight:900;font-size:clamp(25px,3.5vw,49px)}.list{display:flex;flex-direction:column;gap:9px}.item{padding:12px;background:#332b59;border:1px solid #60517f;border-radius:10px}.msg{padding:14px;background:#592b43;border-radius:11px;margin-bottom:16px;color:#ffe2e9}.image-box{min-height:240px;background:repeating-linear-gradient(#161636 0px,#161636 3px,#1e1c41 3px,#1e1c41 6px);display:flex;align-items:center;justify-content:center;border:2px solid #9855b4;border-radius:16px;overflow:hidden;margin:14px 0}.image-box img{width:100%;height:min(42vh,390px);object-fit:contain;image-rendering:pixelated;animation:pop .6s ease-out}.unknown{font-size:70px;font-weight:900;color:#fbd863}.rank{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border-radius:10px;background:#342d55}.tab{padding:8px 12px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.formgrid .full{grid-column:1/-1}.tv #app{max-width:none;min-height:100vh;padding:3vh 4vw}.tv .question{font-size:clamp(32px,4.5vw,76px)}.tv .answer{font-size:clamp(23px,2.8vw,44px);padding:24px}.tv .image-box{min-height:45vh}.tv .big{font-size:clamp(95px,14vw,210px)}.tv .panel{min-height:82vh}.notice{color:#ffe36a}.small-label{font-size:12px;color:#a6f5f0}@keyframes pop{from{opacity:0;transform:scale(.92);filter:blur(12px)}to{opacity:1;transform:scale(1);filter:none}}@media(max-width:680px){.two,.options,.formgrid{grid-template-columns:1fr}.panel{padding:17px}.tv .options{grid-template-columns:1fr 1fr}}

/* Studio: libreria emoji e upload immagini */
.emoji-input-row,.upload-controls{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.emoji-input-row input,.upload-controls input{flex:1 1 160px}.emoji-input-row button,.upload-controls button{white-space:nowrap;padding:12px 14px}.emoji-input-row #emoji-preview{font-size:32px;min-width:42px;text-align:center}.emoji-library{background:#171332;border:1px solid #76619c;border-radius:12px;padding:12px;margin-top:8px}.emoji-library[hidden],.image-preview[hidden]{display:none!important}.emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:7px;margin-top:10px}.emoji-choice{background:#332b59;color:white;font-size:26px;padding:7px 3px;min-height:48px}.image-preview{max-width:320px;max-height:225px;background:#111127;border:1px dashed #8265ab;border-radius:12px;padding:8px;margin-top:12px}.image-preview img{display:block;max-width:100%;max-height:200px;object-fit:contain;margin:auto}.upload-controls+ .mini{margin-top:6px}

.ai-review{max-height:380px;overflow:auto;display:grid;gap:8px;margin:14px 0}.ai-review ol{margin:8px 0;padding-left:25px}.ai-review li{margin:3px 0}.ai-correct{color:#8df2b6;font-weight:800}#ai-json{min-height:180px;font:12px/1.5 ui-monospace,monospace}#ai-result{overflow-wrap:anywhere}


/* Accessibilità: pulsanti di risposta su schermi piccoli e desktop.
   La regola generica button {color:#181230} prima sovrascriveva il testo
   delle risposte, producendo testo quasi nero su sfondo viola. */
button.answer,
.answer {
  color: #fffefa;
  background: #40365f;
  border: 2px solid #8d79b0;
}
button.answer:not(:disabled):hover,
button.answer:focus-visible {
  background: #514475;
  border-color: #bcb0ee;
}
button.answer.sel {
  color: #ffffff;
  background: #12647a;
  border-color: #5bfff0;
  box-shadow: 0 0 0 2px rgba(91,255,240,.22);
}
button.answer:disabled {
  color: #f4efff;
  opacity: .9;
}
button#send:disabled,
button#submit:disabled {
  color: #272039;
  background: #d9bd6a;
  opacity: .7;
}
@media (max-width:680px) {
  button.answer {min-height: 68px; font-weight: 800; font-size: clamp(17px,4.8vw,22px); line-height: 1.35;}
}
