*{margin:0;padding:0;box-sizing:border-box;transition:all .3s ease}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#f0f0f0;color:#333;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{width:100vw;height:100vh;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.background{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;filter:blur(2px);opacity:.8;z-index:1;max-height:70vh;overflow:hidden}button{outline:none;-webkit-tap-highlight-color:transparent}.nav-btn:focus{outline:2px solid #1e88e5;outline-offset:2px}.option:focus{outline:2px solid #3498db;outline-offset:2px}h1,h2,h3,h4,h5,h6{margin:0 0 12px;color:#2c3e50}p{margin:8px 0}.hidden{display:none!important}.fullscreen{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;background:#fff}.character{position:absolute;bottom:17%;width:200px;max-width:220px;height:auto;transition:transform .4s cubic-bezier(.25,.1,.25,1),opacity .3s ease;z-index:5;max-height:45vh;object-fit:contain;object-position:center;min-width:160px}.character.tysh{left:8%}.character.tysh[src*="wow.png"],.character.tysh[src*="patient.png"],.character.tysh[src*="smile.png"],.character.tysh[src*="orig.png"]{transform:scale(1.9)}.spirit{right:8%}.character.active{transform:translateY(-4px) scale(1.02);opacity:1}.speechballoon{position:absolute;bottom:47%;padding:14px 18px;max-width:65%;border-radius:16px;line-height:1.5;font-size:16px;color:#2c3e50;background:#ffffffeb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(200,215,230,.4);box-shadow:0 6px 20px #0000001f;z-index:6;animation:speechBubbleEnter .5s ease-out;margin-bottom:32px;transition:all .3s cubic-bezier(.25,.1,.25,1)}.speechballoon.tysh{left:12%;border-top-left-radius:8px;border-bottom-left-radius:8px}.speechballoon.spirit{right:12%;border-top-right-radius:8px;border-bottom-right-radius:8px}@keyframes speechBubbleEnter{0%{opacity:0;transform:translateY(20px) scale(.95);filter:blur(4px)}60%{opacity:.8;transform:translateY(-5px) scale(1.02);filter:blur(1px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.speechballoon:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,#ffffffb3,#f5f8fbe6);border-radius:inherit;z-index:-1;opacity:0;animation:textGlow .6s ease-in-out .1s forwards}@keyframes textGlow{0%{opacity:0;background:radial-gradient(circle at center,#ffffff4d,#fff0 70%)}50%{opacity:.6}to{opacity:.2;background:linear-gradient(to bottom,#ffffffb3,#f5f8fbe6)}}.character:before{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:80%;height:4px;background:#0003;border-radius:50%;opacity:.6;filter:blur(2px);z-index:-1}.quiz-overlay{position:absolute;top:5%;left:50%;transform:translate(-50%);z-index:50;width:75%;max-width:450px;max-height:55vh;overflow-y:auto;padding:12px;border-radius:10px;background:transparent;box-shadow:0 4px 12px #0000001a}.quiz{width:100%;padding:16px 20px;border-radius:16px;background:#dcfad2eb;box-shadow:0 8px 24px #00000026;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column;gap:14px;max-height:100%;overflow-y:auto;font-family:inherit;color:#2c3e50}.question{font-size:15px;font-weight:600;margin:0 0 8px;text-align:center;line-height:1.35;color:#1a472e}.options{display:flex;flex-direction:column;gap:8px}.option{padding:10px 14px;border:1px solid #2e7d32;border-radius:6px;background:#fff;font-size:13px;cursor:pointer;transition:all .2s ease;text-align:left;color:#388e3c}.option:hover{background:#e8f5e9;border-color:#1b5e20;color:#1b5e20}.option.selected{border-color:#c62828;background:#ffebee;color:#c62828}.option.correct{border-color:#0a6430;background:#dcf0db;color:#0a6430}.feedback{margin-top:6px;font-size:13px;text-align:center;color:#2e7d32;font-weight:500}@media(max-width:480px){.quiz-overlay{width:90%;top:5%;padding:10px}.question{font-size:14px;margin-bottom:6px}.option{padding:8px 12px;font-size:12px}.feedback{font-size:12px;margin-top:4px}}.navigation{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;gap:16px;z-index:10;padding:12px 20px;background:#f5fff0f0;border-radius:28px;box-shadow:0 4px 14px #0000001a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.nav-btn{background:linear-gradient(145deg,#4caf50,#2e7d32);color:#fff;border:none;border-radius:50%;width:42px;height:42px;font-size:18px;font-weight:600;cursor:pointer;transition:all .25s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #2e7d324d}.nav-btn:hover{transform:scale(1.1);background:linear-gradient(145deg,#388e3c,#1b5e20);box-shadow:0 4px 8px #1e461e66}.nav-btn:disabled{background:#b0bec5;cursor:not-allowed;opacity:.7;box-shadow:none}.progress{display:flex;align-items:center;gap:8px}.dot{width:9px;height:9px;border-radius:50%;background:#9e9e9e;transition:all .25s ease;box-shadow:0 1px 3px #00000026}.dot.active{width:13px;height:13px;background:#2e7d32;box-shadow:0 0 0 4px #2e7d3240;transform:scale(1.25)}@media(max-width:768px){.navigation{gap:14px;padding:10px 16px;border-radius:24px}.nav-btn{width:38px;height:38px;font-size:17px}.progress{gap:7px}.dot{width:8px;height:8px}.dot.active{width:12px;height:12px}}@media(max-width:480px){.navigation{bottom:16px;gap:12px;padding:8px 14px;border-radius:20px}.nav-btn{width:34px;height:34px;font-size:15px}.progress{gap:6px}.dot{width:7px;height:7px}.dot.active{width:11px;height:11px}}.nav-btn:focus{outline:2px solid #4caf50;outline-offset:2px;box-shadow:0 0 0 4px #4caf5066}@media(max-width:480px){.character{width:32%;max-width:120px}.speechballoon{font-size:13px;padding:10px 14px;max-width:65%}.quiz{width:95%;padding:12px 16px}.question{font-size:14px;margin-bottom:12px}.option{padding:9px 13px;font-size:13px}.feedback{font-size:12px;padding:7px 11px}.navigation{bottom:16px;gap:14px;padding:6px 14px;border-radius:20px}.nav-btn{width:36px;height:36px;font-size:16px}.progress{gap:6px}.dot{width:7px;height:7px}.dot.active{width:10px;height:10px}}
