code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary-purple:#8b5cf6;--primary-blue:#3b82f6;--primary-green:#10b981;--primary-yellow:#f59e0b;--primary-pink:#ec4899;--light-purple:#ede9fe;--light-blue:#dbeafe;--warm-white:#fefefe;--soft-gray:#f3f4f6;--text-dark:#374151;--text-light:#6b7280;--success:#059669;--error:#dc2626;--warning:#d97706}*{box-sizing:border-box}body{background:linear-gradient(135deg,#ede9fe,#dbeafe);background:linear-gradient(135deg,var(--light-purple) 0,var(--light-blue) 100%);color:#374151;color:var(--text-dark);font-family:Comic Sans MS,Trebuchet MS,Arial,sans-serif;margin:0}.App,body{height:100vh;overflow:hidden}.App{display:flex;flex-direction:column}.app-header{align-items:center;background:linear-gradient(90deg,#8b5cf6,#3b82f6);background:linear-gradient(90deg,var(--primary-purple) 0,var(--primary-blue) 100%);box-shadow:0 4px 6px #0000001a;color:#fff;display:flex;justify-content:space-between;padding:1rem 2rem}.app-title{font-size:2rem;font-weight:700;margin:0;text-shadow:2px 2px 4px #0000004d}.user-info{align-items:center;display:flex;font-size:1.1rem;gap:1rem}.logout-btn{background:#ec4899;background:var(--primary-pink);border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:700;padding:.5rem 1rem;transition:all .3s ease}.logout-btn:hover{background:#be185d;box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.app-main{flex:1 1;margin:0 auto;max-width:1200px;min-height:0;overflow-y:auto;padding:2rem;width:100%}.app-loading{align-items:center;color:#8b5cf6;color:var(--primary-purple);display:flex;flex-direction:column;font-size:1.2rem;justify-content:center;min-height:80vh}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #ede9fe;border-top:4px solid #8b5cf6;border:4px solid var(--light-purple);border-radius:50%;border-top-color:var(--primary-purple);height:60px;margin-bottom:1rem;width:60px}.login-container{background:#fefefe;background:var(--warm-white);border-radius:20px;box-shadow:0 10px 25px #0000001a;min-height:70vh;padding:2rem}.book-selection{overflow:hidden}.book-selection,.reading-container{background:#fefefe;background:var(--warm-white);border-radius:20px;box-shadow:0 10px 25px #0000001a;display:flex;flex-direction:column;height:100%;min-height:0;padding:2rem}.login-container{display:flex;flex-direction:column;justify-content:center}.book-selection,.login-container{align-items:center;gap:2rem;text-align:center}@media (max-width:768px){.app-header{flex-direction:column;gap:1rem;padding:1rem;text-align:center}.app-title{font-size:1.5rem}.app-main{padding:1rem}.book-selection,.login-container,.reading-container{padding:1.5rem}}.btn-primary{background:linear-gradient(45deg,#8b5cf6,#3b82f6);background:linear-gradient(45deg,var(--primary-purple),var(--primary-blue));border:none;border-radius:25px;box-shadow:0 4px 15px #8b5cf64d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;padding:1rem 2rem;transition:all .3s ease}.btn-primary:hover{box-shadow:0 8px 25px #8b5cf666;transform:translateY(-3px)}.btn-secondary{background:#f3f4f6;background:var(--soft-gray);border:2px solid #8b5cf6;border:2px solid var(--primary-purple);border-radius:20px;color:#374151;color:var(--text-dark);cursor:pointer;font-size:1rem;font-weight:700;padding:.8rem 1.5rem;transition:all .3s ease}.btn-secondary:hover{background:#8b5cf6;background:var(--primary-purple);box-shadow:0 4px 15px #8b5cf64d;color:#fff;transform:translateY(-2px)}.form-group{margin-bottom:1.5rem}.form-label{color:#374151;color:var(--text-dark);display:block;font-size:1.1rem;font-weight:700;margin-bottom:.5rem}.form-input{background:#fefefe;background:var(--warm-white);border:2px solid #f3f4f6;border:2px solid var(--soft-gray);border-radius:15px;font-size:1rem;padding:1rem;transition:all .3s ease;width:100%}.form-input:focus{border-color:#8b5cf6;border-color:var(--primary-purple);box-shadow:0 0 0 3px #8b5cf61a;outline:none}.error-message{background:#fee2e2;border-left:4px solid #dc2626;border-left:4px solid var(--error);color:#dc2626;color:var(--error)}.error-message,.success-message{border-radius:10px;font-weight:700;margin:1rem 0;padding:1rem}.success-message{background:#d1fae5;border-left:4px solid #059669;border-left:4px solid var(--success);color:#059669;color:var(--success)}.card{background:#fefefe;background:var(--warm-white);border-radius:15px;box-shadow:0 4px 15px #0000001a;padding:1.5rem;transition:all .3s ease}.card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-5px)}.progress-bar{background:#f3f4f6;background:var(--soft-gray);border-radius:5px;height:10px;margin:1rem 0}.progress-fill{background:linear-gradient(90deg,#10b981,#3b82f6);background:linear-gradient(90deg,var(--primary-green),var(--primary-blue));border-radius:5px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.login-form{max-width:400px;width:100%}.login-form h2{color:var(--primary-purple);margin-bottom:.5rem;text-align:center}.login-hint{background:var(--light-purple);border-radius:10px;color:var(--text-light);margin-bottom:2rem;padding:1rem;text-align:center}.login-button{align-items:center;display:flex;gap:.5rem;justify-content:center;width:100%}.loading-spinner-small{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:20px;width:20px}.book-selector{display:flex;flex-direction:column;height:100%;min-height:0}.book-selector h2{color:var(--primary-purple);flex-shrink:0;margin-bottom:2rem;text-align:center}.books-grid{grid-gap:2rem;display:grid;flex:1 1;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));overflow-y:auto;padding-right:.5rem}.book-card{cursor:pointer;padding:2rem;text-align:center}.book-card h3{color:var(--primary-blue);margin-bottom:1rem}.book-progress{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin:1rem 0;padding:.5rem}.progress-info{align-items:center;color:#495057;display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:.5rem}.progress-percentage{color:var(--primary-blue);font-weight:700}.progress-bar{background-color:#e9ecef;border-radius:4px;height:8px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,var(--primary-blue),var(--primary-purple));border-radius:4px;height:100%;transition:width .3s ease}.book-card button{margin-top:1rem}.book-reader{display:flex;flex-direction:column;height:100%;overflow:hidden;width:100%}.reader-header{border-bottom:2px solid var(--soft-gray);box-sizing:border-box;flex:0 0 72px;justify-content:space-between;padding:0 2rem}.header-actions,.reader-header{align-items:center;display:flex}.header-actions{gap:1rem}.header-actions .chat-toggle,.reset-btn{font-size:.9rem;padding:.5rem 1rem;white-space:nowrap}.btn-warning{background-color:#ff9800;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .3s ease}.btn-warning:hover:not(:disabled){background-color:#f57c00;transform:translateY(-2px)}.btn-warning:disabled{background-color:#ccc;cursor:not-allowed;transform:none}.btn-danger{background-color:#f44336;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .3s ease}.btn-danger:hover:not(:disabled){background-color:#d32f2f;transform:translateY(-2px)}.btn-danger:disabled{background-color:#ccc;cursor:not-allowed;transform:none}.reader-content{flex:1 1;gap:1.5rem;padding:1.5rem 2rem}.reader-content,.reading-panel{display:flex;min-height:0;overflow:hidden}.reading-panel{background:var(--warm-white);border-radius:15px;box-shadow:0 4px 15px #0000001a;flex:1 1;flex-direction:column;padding:1.5rem}.page-content{word-wrap:break-word;flex:1 1;font-size:1.2rem;-webkit-hyphens:auto;hyphens:auto;line-height:1.7;min-height:0;overflow-x:hidden;overflow-y:auto;padding-right:.5rem;text-align:justify}.navigation-buttons{align-items:center;border-top:1px solid var(--soft-gray);display:flex;justify-content:space-between;margin-top:2rem;padding-top:1rem}.chat-container{display:flex;flex-direction:column;flex-shrink:0;max-height:100%;transition:width .3s ease,opacity .3s ease;width:360px}.reader-content:not(.chat-open) .chat-container{opacity:0;overflow:hidden;width:0}.reader-content:not(.chat-open) .reading-panel{margin-right:0}.chat-header{margin-bottom:1rem}.chat-header h3{color:var(--primary-purple);margin:0 0 .5rem}.chat-panel{background:var(--light-purple);border-radius:15px;display:flex;flex-direction:column;height:100%;max-height:100%;min-height:0;overflow:hidden;padding:1.5rem}.chat-mode-selector{display:flex;gap:.5rem;margin-bottom:1rem}.mode-btn{background:var(--soft-gray);border:none;border-radius:10px;cursor:pointer;flex:1 1;padding:.5rem;transition:all .3s ease}.mode-btn.active{background:var(--primary-purple);color:#fff}.chat-messages{display:flex;flex:1 1;flex-direction:column;gap:1rem;margin-bottom:1rem;max-height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;padding:.5rem;scroll-behavior:smooth}.chat-conversation{background:#fff;border-radius:10px;box-shadow:0 2px 5px #0000001a;margin-bottom:1rem;padding:1rem}.question{background:#f0f8ff;border-left:3px solid #2196f3;margin-bottom:.5rem}.answer,.question{border-radius:5px;padding:.5rem}.answer{background:#f9f9f9;border-left:3px solid #4caf50}.chat-loading{padding:1rem;text-align:center}.chat-hint,.chat-loading{color:#666;font-style:italic}.chat-hint{font-size:.9rem;margin:0}.chat-input{display:flex;gap:.5rem}.chat-input input{flex:1 1}.send-btn{padding:1rem}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0000004d;max-width:400px;padding:2rem;width:90%}.modal h3{color:var(--primary-purple);margin:0 0 1rem}.modal p{color:#666;margin:.5rem 0}.modal ul{color:#666;margin:1rem 0;padding-left:1.5rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}@media (max-width:768px){.book-reader{padding:.5rem}.reader-header{margin-bottom:1rem}.reader-header h2{font-size:1.2rem}.reader-content{flex:1 1;position:relative}.reader-content .reading-panel{display:flex}.reader-content.chat-open .reading-panel{display:none}.chat-container{display:none;height:100%;left:0;position:absolute;top:0;width:100%}.reader-content.chat-open .chat-container{display:flex}.chat-panel{height:100%;width:100%}.navigation-buttons{margin-top:1rem;padding-top:1rem}.navigation-buttons button{border-radius:50%;font-size:1.5rem;min-width:50px;padding:.75rem}.navigation-buttons button span{display:none}.navigation-buttons button[data-testid=prev-button]:after{content:"‹"}.navigation-buttons button[data-testid=next-button]:after{content:"›"}.page-info{flex:1 1;font-size:.9rem;text-align:center}.header-actions{align-items:flex-end;flex-direction:column;gap:.5rem}.reset-btn{padding:.4rem .8rem}.page-indicator,.reset-btn{font-size:.8rem}}.merlin-mascot{align-items:center;display:flex;flex-direction:column;gap:1rem;margin:2rem 0}.merlin-character{align-items:center;display:flex;justify-content:center;position:relative}.merlin-wizard{animation:float 3s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2));font-size:4rem}.thinking-animation{position:absolute;right:-1rem;top:-1rem}.thought-bubble{animation:pulse 1.5s ease-in-out infinite;font-size:2rem}.speech-bubble{background:var(--warm-white);border:3px solid var(--primary-purple);border-radius:20px;box-shadow:0 4px 15px #8b5cf633;max-width:400px;padding:1.5rem;position:relative;text-align:center}.speech-bubble p{color:var(--text-dark);font-size:1.1rem;font-weight:700;line-height:1.5;margin:0}.speech-arrow{border-left:12px solid #0000;border-right:12px solid #0000;border-top:12px solid var(--primary-purple);bottom:-12px;left:50%;transform:translateX(-50%)}.speech-arrow,.speech-arrow:after{height:0;position:absolute;width:0}.speech-arrow:after{border-left:9px solid #0000;border-right:9px solid #0000;border-top:9px solid var(--warm-white);bottom:3px;content:"";left:-9px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}@media (max-width:768px){.merlin-wizard{font-size:3rem}.speech-bubble{max-width:300px;padding:1rem}.speech-bubble p{font-size:1rem}}
/*# sourceMappingURL=main.5b5086b2.css.map*/