/* Tiny Makers renderer styles (shared by the child app and the child's page) */
.tm-stage{position:relative;width:100%;border:3px solid #15161c;background:#dff3ff;overflow:hidden;user-select:none}
.tm-scene{display:block;width:100%;height:auto}
.tm-char{position:absolute;transform:translate(-50%,-50%);aspect-ratio:1/1;border:0;background:transparent;padding:0;cursor:pointer;border-radius:50%}
.tm-char:not(.has-img)::before{content:"";position:absolute;inset:8%;border-radius:50%;border:4px solid #fff;box-shadow:0 0 0 3px #15161c;animation:tm-pulse 1.6s ease-in-out infinite;opacity:.9}
.tm-char img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 4px 6px rgba(0,0,0,.25))}
.tm-char:active{transform:translate(-50%,-50%) scale(.94)}
.tm-char-name{position:absolute;left:50%;top:100%;transform:translateX(-50%);white-space:nowrap;background:#15161c;color:#fff;font:700 13px Archivo,system-ui,sans-serif;padding:2px 8px}
@keyframes tm-pulse{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(1.12);opacity:.5}}
.tm-bubble{position:absolute;left:50%;top:4%;transform:translate(-50%,-8px);max-width:86%;background:#fff;border:3px solid #15161c;padding:10px 16px;font:700 clamp(15px,2.4vw,22px)/1.25 Archivo,system-ui,sans-serif;color:#15161c;opacity:0;transition:.25s;box-shadow:5px 5px 0 #15161c}
.tm-bubble.show{opacity:1;transform:translate(-50%,0)}
.tm-quiz{position:absolute;left:50%;bottom:4%;transform:translateX(-50%);width:min(92%,560px);background:#ffc531;border:3px solid #15161c;padding:16px;box-shadow:6px 6px 0 #15161c}
.tm-quiz-q{font:800 clamp(16px,2.6vw,24px)/1.2 Archivo,system-ui,sans-serif;margin:0 28px 12px 0}
.tm-quiz-choices{display:flex;gap:10px;flex-wrap:wrap}
.tm-choice{flex:1 1 120px;min-height:64px;font:800 clamp(18px,3vw,28px) Archivo,system-ui,sans-serif;border:3px solid #15161c;background:#fff;cursor:pointer}
.tm-choice.ok{background:#3cc48c;color:#fff}.tm-choice.no{background:#ee4b2b;color:#fff}
.tm-quiz-close{position:absolute;right:8px;top:6px;border:0;background:none;font:800 28px Archivo,sans-serif;cursor:pointer}
.tm-story{border:3px solid #15161c;background:#fff}
.tm-page-img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-bottom:3px solid #15161c}
.tm-page-text{font:600 clamp(18px,2.6vw,26px)/1.4 Archivo,system-ui,sans-serif;margin:0;padding:18px 20px;min-height:3.2em}
.tm-story-nav{display:flex;align-items:center;gap:12px;padding:0 20px 18px}
.tm-nav,.tm-read{min-width:64px;min-height:56px;border:3px solid #15161c;background:#ffc531;font:800 28px Archivo,sans-serif;cursor:pointer}
.tm-nav:disabled{opacity:.35;cursor:default}
.tm-read{background:#fff}
.tm-count{flex:1;text-align:center;font:700 16px Archivo,sans-serif}
.tm-empty{padding:40px;text-align:center;font:700 20px Archivo,sans-serif}
