.visual{max-width:1100px;margin:auto;padding:24px;font-family:system-ui,sans-serif}.visual label{display:block;margin:10px 0}.visual input,.visual select,.visual textarea{padding:10px;max-width:100%}.visual-target{text-align:center;font-size:5rem}.visual-image{width:140px;height:140px;object-fit:contain}.visual-image.large{width:240px;height:240px}.visual-neutral{display:inline-block;font-size:80px;color:#7b8597}.visual-options{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.visual-options figure{margin:0;padding:12px;border:2px solid #dce5f4;border-radius:16px;text-align:center}.visual-options figure span{display:block}.visual-options strong{font-size:3rem}.visual-controls{display:flex;gap:10px;flex-wrap:wrap}.visual button{min-height:48px;margin:5px}.visual-support{text-align:center;background:#fff1ce;padding:12px;font-size:2rem}.visual-projection{background:#fff;color:#15314c}.visual-projection>p{font-size:2rem;text-align:center}@media(max-width:650px){.visual-options{grid-template-columns:repeat(2,1fr)}.visual-image{width:110px;height:110px}}
/* Dedicated student window and teacher activity panel: no viewport overflow. */
.visual-screen{margin:0;overflow:hidden;background:#fff}.visual-screen *{box-sizing:border-box}.visual-projection{max-width:none;margin:0;width:100%;height:100dvh;padding:clamp(12px,2vh,24px);display:grid;grid-template-rows:auto minmax(0,1fr) minmax(0,1fr) auto;gap:clamp(8px,1.5vh,18px);overflow:hidden}.visual-projection>p{margin:0;font-size:clamp(22px,3vh,36px)}.visual-projection>h1,.visual-projection>h2{grid-row:1/-1;align-self:center;text-align:center;font-size:clamp(36px,7vw,100px)}.visual-projection .visual-target{min-height:0;display:flex;align-items:center;justify-content:center;font-size:clamp(64px,15vh,180px)}.visual-projection .visual-target .visual-image{width:auto;height:100%;max-width:100%;max-height:100%}.visual-projection .visual-options{min-height:0;gap:clamp(8px,1.5vw,24px)}.visual-projection .visual-options figure{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);align-items:center;padding:clamp(8px,1.5vh,18px);overflow:hidden}.visual-projection .visual-options figure>span{font-size:clamp(18px,2.5vh,30px)}.visual-projection .visual-options .visual-image{width:100%;height:100%;max-height:100%;min-height:0}.visual-projection .visual-options strong{font-size:clamp(36px,9vh,112px)}.visual-projection .visual-support{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin:0;max-height:22vh;padding:8px;font-size:clamp(20px,3vh,36px);overflow:hidden}.visual-projection .visual-support .visual-image{height:clamp(48px,15vh,150px);width:auto;max-width:180px}.visual-session{box-sizing:border-box;display:flex;flex-direction:column;gap:8px;min-height:0;padding:12px;overflow:hidden}.visual-session .visual-board{flex:1;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) minmax(0,1fr) auto;gap:6px;overflow:hidden}.visual-board>p{margin:0}.visual-board>h2{grid-row:1/-1;align-self:center;text-align:center}.visual-board .visual-target{min-height:0;display:flex;align-items:center;justify-content:center;font-size:clamp(40px,7vh,90px)}.visual-board .visual-target img{width:auto;height:100%;max-height:100%;max-width:100%}.visual-board .visual-options{min-height:0}.visual-board .visual-options figure{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);align-items:center;padding:4px;overflow:hidden}.visual-board .visual-options img{height:100%;width:100%;min-height:0;max-height:100%}.visual-board .visual-options strong{font-size:clamp(24px,5vh,55px)}.visual-board .visual-support{margin:0;display:flex;align-items:center;justify-content:center;gap:8px;font-size:20px;max-height:90px;padding:4px;overflow:hidden}.visual-board .visual-support img{width:70px;height:70px}.visual-session .visual-answer{margin:0;font-size:16px}.visual-session .visual-controls{gap:4px;flex-shrink:0}.visual-session button{margin:2px;min-height:38px;padding:7px 10px;font-size:14px}.visual-session details{flex-shrink:0}.visual-screen-picker button{display:block;padding:12px;margin:8px}

.visual-variant-list{display:flex;flex-wrap:wrap;gap:1rem}.visual-variant-list figure{margin:0;text-align:center}.visual-variant-list img{width:120px;height:120px;object-fit:contain}
