.navbar{background:linear-gradient(135deg,#2b9997,#1a7573);box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:100;position:relative}.navbar-container{max-width:1400px;margin:0 auto;padding:clamp(.75rem,2vw,1rem) clamp(1rem,3vw,2rem);display:flex;justify-content:space-between;align-items:center;gap:clamp(1rem,3vw,2rem)}.navbar-brand{flex-shrink:0}.brand-link{font-size:clamp(1.2rem,3vw,1.5rem);font-weight:700;color:#ffefb5;text-decoration:none;transition:all .3s ease;display:flex;align-items:center;gap:clamp(.5rem,2vw,.8rem)}.brand-link:hover{color:#fff}.brand-logo{width:clamp(32px,6vw,40px);height:clamp(32px,6vw,40px)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.brand-text{font-weight:700;letter-spacing:.5px}.navbar-links{display:flex;gap:clamp(.75rem,2vw,1.5rem);align-items:center;flex:1;flex-wrap:wrap;justify-content:center}.nav-link{color:#ffefb5;text-decoration:none;font-weight:500;font-size:clamp(.85rem,2vw,1rem);padding:clamp(.4rem,1vw,.5rem) clamp(.75rem,2vw,1rem);border-radius:8px;transition:all .3s ease;white-space:nowrap}.nav-link:hover{background:#ffffff1a;color:#fff}.navbar-actions{display:flex;gap:clamp(.5rem,2vw,1rem);align-items:center;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.user-greeting{color:#ffefb5;font-weight:600;font-size:clamp(.85rem,2vw,1rem);padding:clamp(.4rem,1vw,.5rem) clamp(.75rem,2vw,1rem);background:#ffffff1a;border-radius:20px;text-decoration:none;transition:all .3s ease;cursor:pointer;display:flex;align-items:center;gap:clamp(.4rem,1.5vw,.6rem);white-space:nowrap}.user-greeting:hover{background:#fff3;color:#fff;transform:translateY(-2px)}.user-icon{width:clamp(24px,5vw,28px);height:clamp(24px,5vw,28px);border-radius:50%;background:linear-gradient(135deg,#ffcd00,#ffb700);color:#2b5858;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:clamp(.75rem,2vw,.9rem);flex-shrink:0}.user-name{font-weight:600}.btn-signup{background:linear-gradient(135deg,#ffcd00,#ffb700);color:#2b5858;padding:clamp(.5rem,1.5vw,.6rem) clamp(1rem,3vw,1.5rem);border-radius:20px;font-weight:600;font-size:clamp(.85rem,2vw,1rem);text-decoration:none;transition:all .3s ease;box-shadow:0 2px 8px #ffcd004d;white-space:nowrap}.btn-signup:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ffcd0066}.btn-logout{background:#fff3;color:#fff;padding:clamp(.5rem,1.5vw,.6rem) clamp(1rem,3vw,1.5rem);border-radius:20px;border:2px solid rgba(255,255,255,.3);font-weight:600;font-size:clamp(.85rem,2vw,1rem);cursor:pointer;transition:all .3s ease;white-space:nowrap}.btn-logout:hover{background-color:#d32f2f}.student-view-banner{background-color:#ff9800;color:#fff;text-align:center;padding:clamp(.5rem,1.5vw,.6rem) clamp(.75rem,2vw,1rem);width:100%;font-size:clamp(.8rem,2vw,.9rem);font-weight:600;display:flex;justify-content:center;align-items:center;gap:clamp(.5rem,2vw,1rem);border-bottom:2px solid rgba(0,0,0,.1);flex-wrap:wrap}.btn-exit-view{background:#0003;border:none;color:#fff;padding:.2rem .5rem;border-radius:4px;cursor:pointer;font-size:.8rem}.btn-exit-view:hover{background:#0006}@media (max-width: 768px){.navbar-container{flex-direction:column;padding:.75rem 1rem;gap:.75rem}.navbar-links{flex-direction:row;gap:.5rem;width:100%;justify-content:center;flex-wrap:wrap}.navbar-actions{flex-direction:row;width:100%;justify-content:center;flex-wrap:wrap}.nav-link{padding:.4rem .75rem;font-size:.85rem}.btn-signup,.btn-logout{padding:.5rem 1rem;font-size:.85rem}.user-greeting{padding:.4rem .75rem;font-size:.85rem}}@media (max-width: 480px){.navbar-links,.navbar-actions{flex-direction:column;gap:.5rem}.nav-link,.btn-signup,.btn-logout,.user-greeting{width:100%;text-align:center;justify-content:center}}.login-page{min-height:100vh;background:linear-gradient(135deg,#fff0b3,#ffe680,#ffcd00);display:flex;justify-content:center;align-items:center;padding:clamp(1rem,3vw,2rem);position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 1px,transparent 1px);background-size:50px 50px;animation:moveBackground 20s linear infinite}@keyframes moveBackground{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.login-box{background:#fff;padding:clamp(2rem,5vw,3rem) clamp(1.5rem,4vw,2.5rem);border-radius:24px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:420px;position:relative;z-index:1;animation:slideUp .5s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:clamp(1.5rem,3vw,2rem)}.login-icon{font-size:clamp(2.5rem,6vw,3.5rem);margin-bottom:clamp(.75rem,2vw,1rem);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.login-box h2{color:#2b5858;margin:0 0 .5rem;font-size:clamp(1.5rem,4vw,2rem);font-weight:700}.login-subtitle{color:#666;font-size:clamp(.85rem,2vw,.95rem);margin:0}.error-message{background:#ffebee;border:2px solid #f44336;color:#c62828;padding:clamp(.75rem,2vw,1rem);border-radius:12px;margin-bottom:clamp(1rem,3vw,1.5rem);font-weight:600;font-size:clamp(.85rem,2vw,.95rem);animation:shake .5s}.input-group{margin-bottom:clamp(1rem,3vw,1.5rem);text-align:left}.input-group label{display:block;color:#2b5858;font-weight:600;margin-bottom:clamp(.4rem,1vw,.5rem);font-size:clamp(.85rem,2vw,.95rem)}.login-input{width:100%;padding:clamp(.75rem,2vw,.9rem) clamp(.85rem,2vw,1rem);border:2px solid #e0e0e0;border-radius:12px;font-size:clamp(.9rem,2vw,1rem);transition:all .3s ease;font-family:inherit}.login-input:focus{outline:none;border-color:#2b9997;box-shadow:0 0 0 3px #2b99971a}.password-input-wrapper .login-input{padding-right:3rem}.toggle-password{position:absolute;right:.8rem;background:none;border:none;cursor:pointer;font-size:clamp(1.1rem,3vw,1.3rem);padding:clamp(.4rem,1vw,.5rem);transition:transform .2s ease;z-index:2}.login-button{width:100%;padding:clamp(.85rem,2vw,1rem);background:linear-gradient(135deg,#2b9997,#1a7573);border:none;border-radius:12px;color:#fff;font-weight:700;font-size:clamp(.95rem,2.5vw,1.1rem);cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #2b99974d;margin-top:clamp(.4rem,1vw,.5rem)}.login-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #2b999766}.login-button:active{transform:translateY(0)}.login-footer{margin-top:clamp(1.5rem,3vw,2rem);text-align:center;padding-top:clamp(1rem,3vw,1.5rem);border-top:2px solid #f0f0f0}.login-footer p{color:#666;margin:0;font-size:clamp(.85rem,2vw,.95rem)}.login-footer a{color:#2b9997;font-weight:600;text-decoration:none;transition:color .3s ease}.login-footer a:hover{color:#1a7573;text-decoration:underline}@media (max-width: 480px){.login-page{padding:1rem .5rem}.login-box{padding:1.5rem 1.25rem;max-width:100%}.login-box h2{font-size:1.5rem}.login-icon{font-size:2.5rem}.input-group{margin-bottom:1rem}}.terms-acceptance{margin:1.5rem 0;padding:1rem;background:#f8f9fa;border-radius:8px;border:1px solid #e2e8f0}.terms-checkbox-container{display:flex;align-items:flex-start;cursor:pointer;position:relative;padding-left:35px;-webkit-user-select:none;user-select:none;line-height:1.6}.terms-checkbox-container input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark{position:absolute;top:2px;left:0;height:22px;width:22px;background-color:#fff;border:2px solid #cbd5e0;border-radius:4px;transition:all .3s ease}.terms-checkbox-container:hover input~.checkmark{border-color:#667eea;background-color:#f7fafc}.terms-checkbox-container input:checked~.checkmark{background-color:#667eea;border-color:#667eea}.checkmark:after{content:"";position:absolute;display:none}.terms-checkbox-container input:checked~.checkmark:after{display:block}.terms-checkbox-container .checkmark:after{left:6px;top:2px;width:6px;height:11px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.terms-text{color:#2d3748;font-size:.95rem;line-height:1.6}.terms-link{color:#667eea;text-decoration:none;font-weight:600;transition:all .2s ease;border-bottom:1px solid transparent}.terms-link:hover{color:#5568d3;border-bottom-color:#5568d3}.terms-hint{margin-top:.75rem;margin-bottom:0;font-size:.85rem;color:#718096;display:flex;align-items:center;gap:.5rem;padding-left:35px}.terms-acceptance.shake{animation:shake .5s}.terms-acceptance.error{border-color:#fc8181;background:#fff5f5}.terms-acceptance.error .terms-hint{color:#c53030;font-weight:600}@media (max-width: 768px){.terms-text{font-size:.9rem}.terms-hint{font-size:.8rem}}@media (max-width: 480px){.terms-acceptance{padding:.75rem}.terms-checkbox-container{padding-left:30px}.checkmark{height:20px;width:20px}.terms-checkbox-container .checkmark:after{left:5px;top:2px;width:5px;height:10px}.terms-text{font-size:.85rem}.terms-hint{padding-left:30px;font-size:.75rem}}.signup-page{min-height:100vh;background:linear-gradient(135deg,#fff0b3,#ffe680,#ffcd00);display:flex;justify-content:center;align-items:center;padding:clamp(1rem,3vw,2rem);position:relative;overflow:hidden}.signup-page:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 1px,transparent 1px);background-size:50px 50px;animation:moveBackground 20s linear infinite}.signup-box{background:#fff;padding:clamp(1.5rem,4vw,2.5rem) clamp(1.5rem,3vw,2rem);border-radius:24px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:480px;position:relative;z-index:1;animation:slideUp .5s ease;max-height:90vh;overflow-y:auto}.signup-header{text-align:center;margin-bottom:clamp(1rem,3vw,1.5rem)}.signup-icon{font-size:clamp(2.5rem,5vw,3rem);margin-bottom:clamp(.6rem,2vw,.8rem);animation:pulse 2s ease-in-out infinite}.signup-box h2{color:#2b5858;margin:0 0 .3rem;font-size:clamp(1.4rem,4vw,1.8rem);font-weight:700}.signup-subtitle{color:#666;font-size:clamp(.8rem,2vw,.9rem);margin:0}.error-message{background:#ffebee;border:2px solid #f44336;color:#c62828;padding:clamp(.75rem,2vw,.9rem);border-radius:12px;margin-bottom:clamp(1rem,2vw,1.2rem);font-weight:600;animation:shake .5s;font-size:clamp(.8rem,2vw,.9rem)}.success-message{background:#e8f5e9;border:2px solid #4caf50;color:#2e7d32;padding:clamp(.75rem,2vw,.9rem);border-radius:12px;margin-bottom:clamp(1rem,2vw,1.2rem);font-weight:600;animation:slideDown .5s;font-size:clamp(.8rem,2vw,.9rem)}.input-group{margin-bottom:clamp(1rem,2vw,1.2rem);text-align:left}.input-group label{display:block;color:#2b5858;font-weight:600;margin-bottom:clamp(.3rem,1vw,.4rem);font-size:clamp(.8rem,2vw,.9rem)}.signup-input{width:100%;padding:clamp(.7rem,2vw,.8rem) clamp(.8rem,2vw,.9rem);border:2px solid #e0e0e0;border-radius:12px;font-size:clamp(.85rem,2vw,.95rem);transition:all .3s ease;font-family:inherit}.signup-input:focus{outline:none;border-color:#ff6b35;box-shadow:0 0 0 3px #ff6b351a}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper .signup-input{padding-right:3rem}.toggle-password{position:absolute;right:.8rem;background:none;border:none;cursor:pointer;font-size:clamp(1rem,3vw,1.2rem);padding:clamp(.3rem,1vw,.4rem);transition:transform .2s ease;z-index:2}.toggle-password:hover{transform:scale(1.2)}.password-requirements{margin-top:clamp(.6rem,2vw,.8rem);padding:clamp(.6rem,2vw,.8rem);background:#f8f9fa;border-radius:10px;border:2px solid #e0e0e0}.requirements-title{font-size:clamp(.75rem,2vw,.85rem);font-weight:600;color:#2b5858;margin:0 0 clamp(.4rem,1vw,.5rem)}.requirements-list{display:flex;flex-direction:column;gap:.4rem}.requirement{font-size:clamp(.75rem,2vw,.85rem);color:#999;transition:all .3s ease;padding:clamp(.2rem,1vw,.3rem) 0}.requirement.met{color:#4caf50;font-weight:600;animation:checkmark .3s ease}@keyframes checkmark{0%{transform:scale(.8)}50%{transform:scale(1.1)}to{transform:scale(1)}}.password-mismatch{color:#f44336;font-size:clamp(.75rem,2vw,.85rem);margin:clamp(.4rem,1vw,.5rem) 0 0;font-weight:600}.password-match{color:#4caf50;font-size:clamp(.75rem,2vw,.85rem);margin:clamp(.4rem,1vw,.5rem) 0 0;font-weight:600;animation:checkmark .3s ease}.signup-button{width:100%;padding:clamp(.75rem,2vw,.9rem);background:linear-gradient(135deg,#ff6b35,#ff4500);border:none;border-radius:12px;color:#fff;font-weight:700;font-size:clamp(.9rem,2vw,1rem);cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #ff6b354d;margin-top:clamp(.4rem,1vw,.5rem)}.signup-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #ff6b3566}.signup-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.signup-footer{margin-top:clamp(1rem,3vw,1.5rem);text-align:center;padding-top:clamp(1rem,2vw,1.2rem);border-top:2px solid #f0f0f0}.signup-footer p{color:#666;margin:0;font-size:clamp(.8rem,2vw,.9rem)}.signup-footer a{color:#ff6b35;font-weight:600;text-decoration:none;transition:color .3s ease}.signup-footer a:hover{color:#ff4500;text-decoration:underline}@media (max-width: 480px){.signup-page{padding:1rem .5rem}.signup-box{padding:1.5rem 1.25rem;max-width:100%}.signup-box h2{font-size:1.4rem}.signup-icon{font-size:2.5rem}.input-group{margin-bottom:.9rem}.requirements-list{gap:.3rem}}.topic-status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:16px;font-size:.85rem;font-weight:600;color:#fff;cursor:help;transition:transform .2s,box-shadow .2s}.topic-status-badge:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.status-icon{font-size:1rem;line-height:1}.status-label{line-height:1;white-space:nowrap}@media (max-width: 768px){.topic-status-badge{font-size:.75rem;padding:3px 10px;gap:4px}.status-icon{font-size:.9rem}}body,html{height:100%;margin:0}.topics-container{padding:clamp(1rem,3vw,2rem);min-height:100vh;background:linear-gradient(135deg,#fff0b3,#ffe680);text-align:center}.topics-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;max-width:1200px;margin:0 auto 1.5rem;padding:0 clamp(1rem,3vw,2rem)}.topics-header h2{font-size:clamp(1.5rem,4vw,2.5rem);color:#2b5858;margin:0;font-weight:700}.carousel-container{display:flex;align-items:center;justify-content:center;gap:clamp(1rem,2vw,2rem);max-width:1400px;margin:0 auto;padding:clamp(1rem,3vw,2rem)}@media (max-width: 768px){.carousel-container{padding:1rem .5rem;gap:.5rem}}.topics-grid{display:flex;gap:clamp(1rem,2vw,2rem);justify-content:center;flex-wrap:nowrap;min-height:350px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#2b9997 #e0e0e0}.topics-grid::-webkit-scrollbar{height:8px}.topics-grid::-webkit-scrollbar-track{background:#e0e0e0;border-radius:10px}.topics-grid::-webkit-scrollbar-thumb{background:#2b9997;border-radius:10px}@media (max-width: 768px){.topics-grid{flex-wrap:nowrap;gap:1rem;min-height:auto;padding:0 .5rem;justify-content:flex-start}}.topic-card{width:clamp(260px,30vw,280px);min-height:320px;padding:clamp(1.5rem,3vw,2rem);border-radius:24px;position:relative;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 16px #0000001a;display:flex;flex-direction:column;flex-shrink:0;scroll-snap-align:center;background:linear-gradient(135deg,var(--card-color) 0%,var(--card-color) 100%);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}@media (max-width: 1024px){.topic-card{width:260px;min-height:300px}}@media (max-width: 768px){.topic-card{width:85vw;max-width:350px;min-height:280px;padding:1.5rem}}@media (max-width: 480px){.topic-card{width:90vw;max-width:320px;min-height:260px;padding:1.25rem}}.topic-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 16px 32px #00000040;filter:brightness(1.05)}.topic-badge-container{position:absolute;top:1rem;left:1rem;z-index:10}.topic-actions{position:absolute;top:1rem;right:1rem;display:flex;gap:.5rem;z-index:10}.topic-content{flex:1;display:flex;flex-direction:column;justify-content:space-between}.topic-title{font-weight:700;font-size:clamp(1.2rem,3vw,1.5rem);margin:0 0 1rem;line-height:1.3;word-break:break-word;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}@media (max-width: 480px){.topic-title{font-size:1.2rem;margin-bottom:.75rem}}.topic-description{font-size:clamp(.85rem,2vw,.95rem);line-height:1.6;margin:0 0 1rem;flex:1;color:#fffffff2;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.topic-meta{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.topic-meta-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#ffffffe6}.meta-icon{font-size:1rem;opacity:.9}.meta-text{opacity:.9}.topic-collaborators{padding-top:.5rem;border-top:1px solid rgba(255,255,255,.2)}.topic-footer{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;font-weight:600;margin-top:auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,.3);color:#fff}.view-more{opacity:.95}.topic-card:hover .arrow{transform:translate(4px)}.topic-icon{width:32px;height:32px;cursor:pointer;transition:all .2s ease;background:#fffffff2;border-radius:50%;padding:6px;box-shadow:0 2px 8px #0003}.topic-icon:hover{transform:scale(1.15);background:#fff;box-shadow:0 4px 12px #0000004d}.nav-arrow{font-size:clamp(1.5rem,4vw,2.5rem);width:clamp(45px,8vw,60px);height:clamp(45px,8vw,60px);border-radius:50%;background:#fff;border:3px solid #2b9997;color:#2b9997;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;font-weight:700;box-shadow:0 4px 8px #0000001a;flex-shrink:0}.nav-arrow:hover:not(:disabled){background:#2b9997;color:#fff;transform:scale(1.1)}.nav-arrow:disabled{opacity:.3;cursor:not-allowed}.btn-add{background:linear-gradient(135deg,#2b9997,#1a7573);color:#fff;padding:clamp(.6rem,2vw,.8rem) clamp(1.5rem,4vw,2rem);border-radius:24px;border:none;cursor:pointer;font-weight:600;font-size:clamp(.9rem,2vw,1rem);transition:all .3s ease;box-shadow:0 4px 12px #2b99974d;white-space:nowrap}.btn-add:hover{transform:translateY(-2px);box-shadow:0 6px 16px #2b999766}.modal-content h3{margin:0 0 1.5rem;font-size:clamp(1.3rem,4vw,1.8rem);color:#2b5858}.modal-input,.modal-textarea{width:100%;padding:.8rem;margin-bottom:1rem;border:2px solid #e0e0e0;border-radius:12px;font-size:1rem;font-family:inherit;transition:border-color .3s ease}@media (max-width: 1024px){.topics-grid{gap:1rem}.topic-card{width:240px;min-height:300px}}@media (max-width: 768px){.carousel-container{flex-direction:column;gap:1rem}.topics-grid{flex-direction:column;align-items:center}.nav-arrow{width:50px;height:50px;font-size:2rem}}.search-bar-container{position:relative;max-width:600px;margin:0 auto 2rem;padding:0 1rem}.search-input{width:100%;padding:clamp(.75rem,2vw,1rem) clamp(2.5rem,5vw,3rem) clamp(.75rem,2vw,1rem) clamp(1rem,3vw,1.5rem);border:2px solid #e0e0e0;border-radius:50px;font-size:clamp(.9rem,2vw,1rem);transition:all .3s ease;box-shadow:0 2px 8px #0000000d}.search-input:focus{outline:none;border-color:#2b9997;box-shadow:0 4px 12px #2b999733}.clear-search{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:#f0f0f0;border:none;border-radius:50%;width:28px;height:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;font-size:1.2rem;color:#666}.clear-search:hover{background:#e0e0e0;color:#333}.no-results{text-align:center;padding:3rem;color:#666;font-size:1.1rem}.topic-meta{display:flex;gap:1rem;margin:.8rem 0;font-size:.85rem;opacity:.8;flex-wrap:wrap}.topic-author,.topic-date{display:flex;align-items:center;gap:.4rem}.author-icon,.date-icon,.collab-icon{font-size:1rem}.topic-collaborators{display:flex;align-items:center;gap:.4rem;font-size:.85rem;opacity:.8;margin:.5rem 0;padding:.4rem .8rem;background:#ffffff4d;border-radius:12px;width:fit-content}.topic-footer{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;font-weight:600;opacity:.9;margin-top:auto;padding-top:1rem;border-top:1px solid rgba(0,0,0,.1)}.view-more{flex:1}.arrow{font-size:1.2rem;transition:transform .3s ease}.topic-card:hover .arrow{transform:translate(5px)}.modal-content{max-height:85vh;overflow-y:auto;padding:2rem}@media (max-width: 768px){.search-bar-container{margin:0 1rem 1.5rem}.topic-meta{flex-direction:column;gap:.5rem}.modal-content{max-height:90vh;padding:1.5rem}}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.modal-content::-webkit-scrollbar-thumb{background:#2b9997;border-radius:10px}.modal-content::-webkit-scrollbar-thumb:hover{background:#1a7573}.block-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.block-modal-content{background:#fff;border-radius:20px;width:90%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.block-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:2px solid #f0f0f0;position:sticky;top:0;background:#fff;z-index:10;border-radius:20px 20px 0 0}.block-modal-header h3{margin:0;color:#2b5858;font-size:1.5rem}.block-modal-close{background:#f0f0f0;border:none;width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:1.5rem;color:#666;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:0}.block-modal-close:hover{background:#e0e0e0;color:#333;transform:rotate(90deg)}.block-modal-body{padding:2rem}.form-group{margin-bottom:1.5rem}.form-label{display:block;font-weight:600;color:#2b5858;margin-bottom:.5rem;font-size:.95rem}.block-type-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.8rem}.type-btn{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1rem .5rem;border:2px solid #e0e0e0;border-radius:12px;background:#fff;cursor:pointer;transition:all .3s ease;font-size:.85rem;font-weight:600;color:#666}.type-btn:hover{border-color:#2b9997;background:#f0fffe;transform:translateY(-2px)}.type-btn.active{border-color:#2b9997;background:linear-gradient(135deg,#2b9997,#1a7573);color:#fff;box-shadow:0 4px 12px #2b99974d}.type-icon{font-size:1.5rem}.block-content-textarea{width:100%;padding:1rem;border:2px solid #e0e0e0;border-radius:12px;font-size:1rem;font-family:inherit;resize:vertical;transition:all .3s ease;line-height:1.6}.block-content-textarea:focus{outline:none;border-color:#2b9997;box-shadow:0 0 0 4px #2b99971a}.style-options{background:#f8f9fa;padding:1.5rem;border-radius:12px;margin-top:1.5rem}.style-section-title{margin:0 0 1rem;color:#2b5858;font-size:1.1rem}.color-presets{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.color-preset{width:40px;height:40px;border-radius:8px;border:2px solid #e0e0e0;cursor:pointer;transition:all .2s ease;position:relative}.color-preset:hover{transform:scale(1.1);border-color:#2b9997}.color-preset.active{border-color:#2b9997;border-width:3px;box-shadow:0 0 0 3px #2b999733}.color-preset.active:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-weight:700;font-size:1.2rem;text-shadow:0 0 3px rgba(0,0,0,.5)}.color-picker{width:40px;height:40px;border-radius:8px;border:2px solid #e0e0e0;cursor:pointer;padding:0}.color-picker::-webkit-color-swatch-wrapper{padding:0}.color-picker::-webkit-color-swatch{border:none;border-radius:6px}.form-select{width:100%;padding:.8rem;border:2px solid #e0e0e0;border-radius:12px;font-size:1rem;font-family:inherit;background:#fff;cursor:pointer;transition:all .3s ease}.form-select:focus{outline:none;border-color:#2b9997;box-shadow:0 0 0 4px #2b99971a}.format-buttons,.align-buttons{display:flex;gap:.5rem}.format-btn,.align-btn{width:44px;height:44px;border:2px solid #e0e0e0;border-radius:8px;background:#fff;cursor:pointer;transition:all .2s ease;font-size:1.1rem;display:flex;align-items:center;justify-content:center;color:#666;font-weight:600}.format-btn:hover,.align-btn:hover{border-color:#2b9997;background:#f0fffe;transform:translateY(-2px)}.format-btn.active,.align-btn.active{border-color:#2b9997;background:#2b9997;color:#fff;box-shadow:0 2px 8px #2b99974d}.preview-section{margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid #e0e0e0}.preview-content{border:2px dashed #ccc;min-height:80px;word-wrap:break-word;white-space:pre-wrap}.block-modal-footer{display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem 2rem;border-top:2px solid #f0f0f0;position:sticky;bottom:0;background:#fff;border-radius:0 0 20px 20px}.btn-modal-cancel,.btn-modal-save{padding:.8rem 1.5rem;border-radius:12px;border:none;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem}.btn-modal-cancel{background:#e0e0e0;color:#333}.btn-modal-cancel:hover{background:#d0d0d0;transform:translateY(-2px)}.btn-modal-save{background:linear-gradient(135deg,#2b9997,#1a7573);color:#fff;box-shadow:0 4px 12px #2b99974d}.btn-modal-save:hover{transform:translateY(-2px);box-shadow:0 6px 16px #2b999766}@media (max-width: 768px){.block-modal-content{width:95%;max-height:95vh}.block-modal-header,.block-modal-body,.block-modal-footer{padding:1rem 1.5rem}.block-type-selector{grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}.type-btn{padding:.8rem .3rem;font-size:.75rem}.type-icon{font-size:1.2rem}.color-preset,.color-picker{width:36px;height:36px}.format-btn,.align-btn{width:40px;height:40px}}.code-options,.live-code-options{background:#f0f7ff;padding:1.5rem;border-radius:12px;margin-bottom:1.5rem;border:2px solid #d0e7ff}.code-textarea{font-family:Courier New,Consolas,monospace!important;background:#1e1e1e!important;color:#d4d4d4!important}.theme-buttons{display:flex;gap:.8rem}.theme-btn{flex:1;padding:.8rem 1rem;border:2px solid #e0e0e0;border-radius:12px;background:#fff;cursor:pointer;transition:all .2s ease;font-size:.95rem;font-weight:600;color:#666;font-family:inherit}.theme-btn:hover{border-color:#2b9997;background:#f0fffe;transform:translateY(-2px)}.theme-btn.active{border-color:#2b9997;background:#2b9997;color:#fff;box-shadow:0 2px 8px #2b99974d}.block-modal-content::-webkit-scrollbar{width:8px}.block-modal-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:0 20px 20px 0}.block-modal-content::-webkit-scrollbar-thumb{background:#2b9997;border-radius:4px}.block-modal-content::-webkit-scrollbar-thumb:hover{background:#1a7573}.checkbox-label{display:flex;align-items:center;gap:.8rem;cursor:pointer;padding:1rem;background:#f8f9fa;border-radius:8px;border:2px solid #e0e0e0;transition:all .2s ease}.checkbox-label:hover{border-color:#2b9997;background:#f0f9f9}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#2b9997}.checkbox-label span{font-weight:600;color:#333;font-size:.95rem}.form-hint{margin-top:.5rem;font-size:.85rem;color:#666;font-style:italic}.content-editor{background:#f8f9fa;border-radius:16px;padding:1.5rem;margin:2rem 0}.content-editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.content-editor-header h3{margin:0;color:#2b5858;font-size:1.5rem}.add-block-btn-unified{background:linear-gradient(135deg,#2b9997,#1a7573);color:#fff;border:none;padding:.8rem 1.5rem;border-radius:12px;cursor:pointer;font-weight:600;font-size:1rem;transition:all .3s ease;white-space:nowrap;box-shadow:0 4px 12px #2b99974d}.add-block-btn-unified:hover{transform:translateY(-2px);box-shadow:0 6px 16px #2b999766}.no-blocks-message{text-align:center;padding:3rem 2rem;color:#999;background:#fff;border-radius:12px;border:2px dashed #ddd}.no-blocks-message p{margin:0;font-size:1.1rem}.blocks-list{display:flex;flex-direction:column;gap:1rem}.content-block{background:#fff;border-radius:12px;padding:1.2rem;box-shadow:0 2px 8px #00000014;transition:all .3s ease;border-left:4px solid #2b9997}.content-block:hover{box-shadow:0 4px 12px #0000001f}.content-block-heading{border-left-color:#ff6b35}.content-block-text{border-left-color:#2b9997}.content-block-list{border-left-color:#4caf50}.content-block-code{border-left-color:#9c27b0}.content-block-quote{border-left-color:#ffc107}.block-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem}.block-type-label{font-weight:600;color:#2b5858;font-size:.9rem}.block-actions{display:flex;gap:.3rem}.block-action-btn{background:#e0e0e0;border:none;padding:.3rem .6rem;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s ease;font-size:.9rem}.block-action-btn:hover:not(:disabled){background:#d0d0d0;transform:scale(1.1)}.block-action-btn:disabled{opacity:.3;cursor:not-allowed}.block-action-btn.edit-btn{background:#e3f2fd;color:#1976d2}.block-action-btn.edit-btn:hover{background:#bbdefb}.block-action-btn.delete-btn{background:#ffebee;color:#d32f2f}.block-action-btn.delete-btn:hover{background:#ffcdd2}.block-preview{padding:1rem;background:#fafafa;border-radius:8px;min-height:60px;word-wrap:break-word;border:1px solid #e0e0e0}.block-preview:empty:before{content:"Vista previa del contenido...";color:#999;font-style:italic}@media (max-width: 768px){.content-editor-header{flex-direction:column;align-items:flex-start}.add-block-buttons{width:100%;justify-content:flex-start}.add-block-btn{flex:1;min-width:0}}.collaborator-manager{background:#fff;padding:1.5rem;border-radius:16px;box-shadow:0 4px 12px #0000001a;margin:2rem 0}.collaborator-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.collaborator-header h4{margin:0;color:#2b5858;font-size:1.2rem}.btn-add-collab{background:linear-gradient(135deg,#2b9997,#1a7573);color:#fff;padding:.6rem 1.2rem;border-radius:12px;border:none;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #2b99974d}.btn-add-collab:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2b999766}.collaborator-list{display:flex;flex-direction:column;gap:.8rem}.collaborator-item{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;background:#f8f9fa;border-radius:12px;transition:all .3s ease}.collaborator-item:hover{background:#e9ecef;transform:translate(4px)}.collab-name{font-weight:600;color:#2b5858}.btn-remove-collab{background:#f44336;color:#fff;border:none;border-radius:50%;width:28px;height:28px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.btn-remove-collab:hover{background:#d32f2f;transform:scale(1.1)}.no-collaborators{text-align:center;color:#666;padding:2rem;font-style:italic}.modal-content-collab{background:#fff;padding:2rem;border-radius:24px;width:90%;max-width:500px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-content-collab h3{margin:0 0 1.5rem;color:#2b5858;font-size:1.8rem}.search-collab{width:100%;padding:.8rem 1rem;border:2px solid #e0e0e0;border-radius:12px;font-size:1rem;margin-bottom:1.5rem;transition:border-color .3s ease}.search-collab:focus{outline:none;border-color:#2b9997}.users-list{max-height:300px;overflow-y:auto;margin-bottom:1.5rem}.user-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid #e0e0e0;transition:background .3s ease}.user-item:hover{background:#f8f9fa}.btn-add-user{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;padding:.5rem 1rem;border-radius:8px;border:none;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-add-user:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.btn-close-modal{width:100%;background:#e0e0e0;color:#333;padding:.8rem;border-radius:12px;border:none;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-close-modal:hover{background:#d0d0d0}.loading-text,.no-users{text-align:center;color:#666;padding:2rem}.modal-content-collab::-webkit-scrollbar,.users-list::-webkit-scrollbar{width:8px}.modal-content-collab::-webkit-scrollbar-track,.users-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.modal-content-collab::-webkit-scrollbar-thumb,.users-list::-webkit-scrollbar-thumb{background:#2b9997;border-radius:10px}.modal-content-collab::-webkit-scrollbar-thumb:hover,.users-list::-webkit-scrollbar-thumb:hover{background:#1a7573}@media (max-width: 768px){.collaborator-manager{padding:1rem}.modal-content-collab{padding:1.5rem;max-height:90vh}}.code-block-container{border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #00000026;transition:all .3s ease;margin:1rem 0}.code-block-container:hover{box-shadow:0 6px 16px #0003;transform:translateY(-2px)}.code-block-container.dark-theme{background:#1e1e1e}.code-block-container.light-theme{background:#f5f5f5}.code-block-header{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.dark-theme .code-block-header{background:#252526;border-bottom-color:#ffffff1a}.light-theme .code-block-header{background:#e8e8e8;border-bottom-color:#0000001a}.code-language-badge{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.85rem}.dark-theme .code-language-badge{color:#d4d4d4}.light-theme .code-language-badge{color:#333}.code-icon{font-size:1.2rem}.language-name{text-transform:uppercase;letter-spacing:.5px}.copy-button{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border:none;border-radius:8px;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s ease;font-family:inherit}.dark-theme .copy-button{background:#3c3c3c;color:#d4d4d4}.light-theme .copy-button{background:#fff;color:#333;border:1px solid #ddd}.copy-button:hover{transform:translateY(-2px)}.dark-theme .copy-button:hover{background:#4c4c4c}.light-theme .copy-button:hover{background:#f0f0f0}.copy-button.copied{background:#4caf50!important;color:#fff!important;border-color:#4caf50!important}.copy-icon{font-size:1rem}.code-block-content{overflow-x:auto}.code-block-content::-webkit-scrollbar{height:8px}.dark-theme .code-block-content::-webkit-scrollbar-track{background:#1e1e1e}.light-theme .code-block-content::-webkit-scrollbar-track{background:#f5f5f5}.dark-theme .code-block-content::-webkit-scrollbar-thumb{background:#4c4c4c;border-radius:4px}.light-theme .code-block-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.dark-theme .code-block-content::-webkit-scrollbar-thumb:hover{background:#5c5c5c}.light-theme .code-block-content::-webkit-scrollbar-thumb:hover{background:#bbb}@media (max-width: 768px){.code-block-header{padding:.6rem 1rem}.copy-button{padding:.4rem .8rem;font-size:.8rem}.language-name{display:none}.code-icon{font-size:1rem}}.live-code-block{border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000001a;background:#fff;margin:1rem 0}.live-code-header{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:2px solid rgba(255,255,255,.2)}.live-code-tabs{display:flex;gap:.5rem}.tab-button{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border:none;border-radius:8px;background:#fff3;color:#fff;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;font-family:inherit}.tab-button:hover{background:#ffffff4d;transform:translateY(-2px)}.tab-button.active{background:#fff;color:#667eea;box-shadow:0 2px 8px #0003}.tab-icon{font-size:1.1rem}.reset-button{padding:.5rem 1rem;border:2px solid white;border-radius:8px;background:transparent;color:#fff;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;font-family:inherit}.reset-button:hover{background:#fff;color:#667eea;transform:translateY(-2px)}.live-code-header-simple{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:2px solid rgba(255,255,255,.2)}.live-code-badge{display:flex;align-items:center;gap:.5rem;color:#fff;font-weight:700;font-size:1rem}.student-view-buttons{display:flex;gap:.5rem}.view-btn{padding:.5rem 1rem;border:2px solid white;border-radius:8px;background:transparent;color:#fff;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;font-family:inherit}.view-btn:hover{background:#fff3;transform:translateY(-2px)}.view-btn.active{background:#fff;color:#667eea;box-shadow:0 2px 8px #0003}.live-code-content{min-height:500px;background:#1e1e1e;position:relative}.code-editor{width:100%;height:400px;padding:1.5rem;border:none;background:#1e1e1e;color:#d4d4d4;font-family:Courier New,Consolas,monospace;font-size:.95rem;line-height:1.6;resize:none;outline:none}.code-editor::placeholder{color:#6e7681}.html-editor{background:#1e1e1e}.css-editor{background:#1a1a2e}.student-view{display:flex;flex-direction:column;gap:1rem}.code-section-full{background:#f8f9fa;border-radius:8px;overflow:hidden;border:1px solid #e2e8f0}.code-section{background:#f8f9fa}.code-section-header{display:flex;align-items:center;gap:.5rem;padding:.8rem 1rem;background:#e8e8e8;border-bottom:1px solid #d0d0d0;font-weight:600;color:#333;font-size:.9rem;justify-content:space-between}.copy-button-student{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:#2b9997;color:#fff;border:none;border-radius:6px;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s ease;font-family:inherit}.copy-button-student:hover{background:#1a7573;transform:translateY(-2px);box-shadow:0 4px 8px #2b99974d}.copy-button-student.copied{background:#4caf50}.copy-button-student .copy-icon{font-size:1rem}.section-icon{font-size:1.1rem}.code-display{padding:1rem;margin:0;background:#1e1e1e;color:#d4d4d4;font-family:Courier New,Consolas,monospace;font-size:.9rem;line-height:1.6;overflow-x:auto;min-height:200px;white-space:pre-wrap;word-wrap:break-word}.preview-section{background:#f8f9fa}.preview-section-header{display:flex;align-items:center;gap:.5rem;padding:.8rem 1rem;background:#e8e8e8;border-top:1px solid #d0d0d0;font-weight:600;color:#333;font-size:.9rem}.preview-container{background:#fff;min-height:500px;height:100%;position:relative;padding:1rem;box-sizing:border-box}.preview-iframe{width:100%;height:500px;min-height:500px;border:none;background:#fff}.code-editor::-webkit-scrollbar,.code-display::-webkit-scrollbar{width:8px;height:8px}.code-editor::-webkit-scrollbar-track,.code-display::-webkit-scrollbar-track{background:#2d2d2d}.code-editor::-webkit-scrollbar-thumb,.code-display::-webkit-scrollbar-thumb{background:#4c4c4c;border-radius:4px}.code-editor::-webkit-scrollbar-thumb:hover,.code-display::-webkit-scrollbar-thumb:hover{background:#5c5c5c}@media (max-width: 768px){.live-code-header{flex-direction:column;gap:.8rem;align-items:stretch}.live-code-tabs{justify-content:space-between}.tab-button{flex:1;justify-content:center;padding:.6rem .5rem;font-size:.85rem}.reset-button{width:100%}.split-view{grid-template-columns:1fr}.code-editor{height:300px}.preview-iframe{min-height:250px}}.topic-detail-container{min-height:100vh;background:linear-gradient(135deg,#fff0b3,#ffe680);padding:clamp(1rem,3vw,2rem)}.loading-container,.error-container{min-height:100vh;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#2b5858}.error-container{color:#d32f2f}.topic-detail-card{background:#fff;border-radius:24px;padding:clamp(1.5rem,4vw,2.5rem);box-shadow:0 8px 24px #0000001a;margin-bottom:clamp(1.5rem,3vw,2rem);max-width:1200px;margin-left:auto;margin-right:auto}.topic-header-section{display:flex;justify-content:space-between;align-items:flex-start;gap:clamp(1.5rem,3vw,2rem);margin-bottom:clamp(1.5rem,3vw,2rem);flex-wrap:wrap}.topic-header-info{flex:1}.title-status-row{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.topic-detail-title{font-size:clamp(1.75rem,4vw,2.5rem);color:#2b5858;margin:0;font-weight:700;word-break:break-word}.topic-detail-description{font-size:clamp(1rem,2.5vw,1.1rem);color:#555;line-height:1.8;margin:0 0 .5rem}.topic-author-detail{font-size:.95rem;color:#666;margin:.5rem 0}.topic-collaborators-detail{font-size:.95rem;color:#666;margin:.5rem 0;padding:.5rem 0;border-top:1px solid #e0e0e0}.topic-collaborators-detail strong{color:#2b9997;font-weight:600}.alert-info{background:#e3f2fd;border-left:4px solid #2196f3;padding:1rem;border-radius:8px;margin-top:1rem;color:#1565c0;font-size:.95rem}.topic-header-buttons{display:flex;flex-direction:column;gap:clamp(.6rem,2vw,.8rem);align-items:stretch;min-width:min(200px,100%)}.btn-submit-approval{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;padding:.7rem 1.2rem;border-radius:12px;border:none;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.95rem;box-shadow:0 4px 12px #ff98004d}.btn-submit-approval:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ff980066}.btn-request-edit{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff;padding:.7rem 1.2rem;border-radius:12px;border:none;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.95rem;box-shadow:0 4px 12px #2196f34d}.btn-request-edit:hover{transform:translateY(-2px);box-shadow:0 6px 16px #2196f366}.btn-approve-admin{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;padding:.7rem 1.2rem;border-radius:12px;border:none;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.95rem;box-shadow:0 4px 12px #4caf504d}.btn-approve-admin:hover{transform:translateY(-2px);box-shadow:0 6px 16px #4caf5066}.btn-reject-admin{background:linear-gradient(135deg,#f44336,#d32f2f);color:#fff;padding:.7rem 1.2rem;border-radius:12px;border:none;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.95rem;box-shadow:0 4px 12px #f443364d}.btn-reject-admin:hover{transform:translateY(-2px);box-shadow:0 6px 16px #f4433666}.btn-preview-topic{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.8rem 1.5rem;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem;box-shadow:0 4px 12px #667eea4d}.btn-preview-topic:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.btn-edit-topic{background:linear-gradient(135deg,#2b9997,#1a7573);color:#fff;padding:.8rem 1.5rem;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem;box-shadow:0 4px 12px #2b99974d}.btn-edit-topic:hover{transform:translateY(-2px);box-shadow:0 6px 16px #2b999766}.quizzes-section{max-width:1200px;margin:0 auto}.quizzes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:clamp(1.5rem,3vw,2rem);flex-wrap:wrap;gap:1rem}.quizzes-header h2{font-size:clamp(1.5rem,4vw,2rem);color:#2b5858;margin:0;font-weight:700}.btn-add-quiz{background:linear-gradient(135deg,#ff6b35,#ff4500);color:#fff;padding:.8rem 1.5rem;border-radius:12px;border:none;cursor:pointer;font-weight:600;transition:all .3s ease;box-shadow:0 4px 12px #ff6b354d}.no-quizzes{background:#fff;text-align:center;padding:2rem;color:#666}.no-quizzes p{font-size:1.3rem;color:#666;margin:.5rem 0}.no-quizzes .hint{font-size:1rem;color:#999}.quiz-item{background:#fff;border-radius:20px;padding:2rem;box-shadow:0 4px 16px #00000014;transition:all .3s ease;position:relative}.quiz-item:hover{box-shadow:0 6px 20px #0000001f}.quiz-number{display:inline-block;background:linear-gradient(135deg,#2b9997,#1a7573);color:#fff;padding:.4rem 1rem;border-radius:20px;font-weight:600;font-size:.9rem;margin-bottom:1rem}.quiz-question{font-size:clamp(1.1rem,3vw,1.3rem);font-weight:600;color:#2b5858;margin-bottom:clamp(1rem,3vw,1.5rem);line-height:1.5;word-break:break-word}.quiz-options{display:flex;flex-direction:column;gap:.8rem;margin-bottom:1rem}.quiz-option{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:#f8f9fa;border-radius:12px;border:2px solid transparent;transition:all .3s ease}.quiz-option.correct-option{background:#e8f5e9;border-color:#4caf50}.quiz-option.correct-option .option-letter{background:#4caf50}.btn-delete-quiz{background:#f44;color:#fff;padding:.6rem 1.2rem;border-radius:10px;border:none;cursor:pointer;font-weight:600;transition:all .3s ease;margin-top:1rem}.btn-start-quiz{background:linear-gradient(135deg,#ffcd00,#ffb700);color:#2b5858;padding:1rem 2.5rem;border-radius:16px;border:none;cursor:pointer;font-weight:700;font-size:1.2rem;transition:all .3s ease;margin-top:2rem;display:block;margin-left:auto;margin-right:auto;box-shadow:0 6px 20px #ffcd0066}.btn-start-quiz:hover{transform:translateY(-4px);box-shadow:0 8px 24px #ffcd0080}.modal-input,.modal-textarea{width:100%;padding:.8rem;margin-bottom:1rem;border:2px solid #e0e0e0;border-radius:12px;font-size:1rem;font-family:inherit;transition:border-color .3s ease;box-sizing:border-box}.modal-input:focus,.modal-textarea:focus{outline:none;border-color:#2b9997}.modal-textarea{resize:vertical;min-height:100px}.modal-buttons{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}@media (max-width: 768px){.topic-detail-container{padding:1rem .5rem}.topic-detail-card{padding:1.5rem}.topic-header-section{flex-direction:column}.topic-header-buttons{width:100%;min-width:100%}.topic-detail-title{font-size:1.75rem}.quizzes-header{flex-direction:column;gap:1rem;align-items:flex-start}.quiz-question{font-size:1.1rem}.quiz-sets-grid{grid-template-columns:1fr}.quiz-set-actions{flex-direction:column}.btn-take-quiz,.btn-view-quiz,.btn-edit-quiz-set{width:100%}}@media (max-width: 480px){.topic-detail-card{padding:1.25rem}.topic-detail-title{font-size:1.5rem}.quiz-set-card{padding:1rem}.modal-content{padding:1.5rem}}.quiz-sets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:clamp(1rem,3vw,1.5rem);margin-top:clamp(1rem,3vw,1.5rem)}.quiz-set-card{background:#fff;padding:clamp(1.25rem,3vw,1.5rem);border-radius:16px;box-shadow:0 4px 12px #00000014;transition:all .3s ease;border:2px solid transparent}.quiz-set-card:hover{border-color:#2b9997;transform:translateY(-4px);box-shadow:0 8px 20px #2b999726}.quiz-set-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:.8rem}.quiz-set-card-header h3{font-size:clamp(1.1rem,2.5vw,1.2rem);color:#2b5858;margin:0;flex:1;line-height:1.4;word-break:break-word}.quiz-set-card-description{color:#666;margin:0 0 1.2rem;line-height:1.5;font-size:.95rem}.quiz-set-actions{display:flex;gap:.8rem}.btn-take-quiz,.btn-view-quiz,.btn-edit-quiz-set{flex:1;padding:.8rem 1.2rem;border-radius:12px;border:none;cursor:pointer;font-weight:600;transition:all .3s ease;font-size:.95rem}.btn-take-quiz{background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff;box-shadow:0 4px 12px #4caf504d}.btn-take-quiz:hover{transform:translateY(-2px);box-shadow:0 6px 16px #4caf5066}.btn-view-quiz{background:linear-gradient(135deg,#2b9997,#1a7573);color:#fff;box-shadow:0 4px 12px #2b99974d}.btn-view-quiz:hover{transform:translateY(-2px);box-shadow:0 6px 16px #2b999766}.btn-edit-quiz-set{background:linear-gradient(135deg,#ff6b35,#ff4500);color:#fff;box-shadow:0 4px 12px #ff6b354d}.btn-edit-quiz-set:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ff6b3566}.topic-content-display{margin-top:2rem;padding-top:2rem;border-top:2px solid #f0f0f0}.content-section-title{color:#2b5858;font-size:1.5rem;margin-bottom:1.5rem}.content-blocks-display{display:flex;flex-direction:column;gap:1.5rem}.content-block-display{background:#fff;padding:0;border-radius:12px;overflow:hidden;transition:all .3s ease}.content-block-display:hover{box-shadow:0 4px 12px #00000014}.content-heading{margin:0;font-weight:700;line-height:1.4}.content-text{line-height:1.8;margin:0;white-space:pre-wrap}.content-list{margin:0;padding-left:2rem;line-height:1.8}.content-list li{margin-bottom:.5rem}.content-code{background:#2b2b2b;color:#f8f8f2;padding:1rem;border-radius:8px;overflow-x:auto;margin:0;font-family:Courier New,monospace;font-size:.9rem;line-height:1.6}.content-code code{font-family:inherit}.content-quote{border-left:4px solid #ffc107;padding-left:1rem;margin:0;font-style:italic;line-height:1.7}.color-picker-section{margin:1.5rem 0;padding:1.5rem;background:#f8f9fa;border-radius:12px;border:2px solid #e0e0e0}.color-picker-label{display:block;font-weight:700;font-size:1.1rem;color:#2b5858;margin-bottom:1rem}.color-picker-full{display:flex;flex-direction:column;gap:1rem}.color-presets-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.presets-label{font-weight:600;color:#555;font-size:.9rem;margin-right:.5rem}.color-preset-btn-small{width:40px;height:40px;border-radius:8px;border:3px solid transparent;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 6px #0000001a}.color-preset-btn-small:hover{transform:scale(1.1);box-shadow:0 3px 10px #0003}.color-preset-btn-small.active{border-color:#2b5858;box-shadow:0 0 0 3px #2b585833;transform:scale(1.15)}.color-custom-picker{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border-radius:8px;border:2px solid #e0e0e0}.custom-picker-label{font-weight:600;color:#555;font-size:.9rem;white-space:nowrap}.color-picker-input-large{width:80px;height:50px;border:3px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s ease}.color-picker-input-large:hover{border-color:#2b9997;box-shadow:0 2px 8px #2b999733}.color-hex-input{flex:1;padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-family:Courier New,monospace;font-size:1rem;font-weight:600;text-transform:uppercase;transition:all .2s ease}.color-hex-input:focus{outline:none;border-color:#2b9997;box-shadow:0 0 0 3px #2b99971a}.color-preview-large{padding:2rem;border-radius:12px;text-align:center;color:#fff;font-weight:700;font-size:1.2rem;box-shadow:0 4px 12px #00000026;text-shadow:0 2px 4px rgba(0,0,0,.3);min-height:80px;display:flex;align-items:center;justify-content:center}.quizzes-container{background:linear-gradient(135deg,#fff0b3,#ffe680);min-height:100vh;padding:clamp(1rem,3vw,2rem);font-family:Arial,sans-serif}.quizzes-header-section{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;max-width:1200px;margin:0 auto clamp(1.5rem,3vw,2rem);padding:0 clamp(.5rem,2vw,1rem)}.quizzes-title{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;color:#2b5858;margin:0}.selected-topic-name{font-size:clamp(1rem,2.5vw,1.2rem);color:#555;margin:.5rem 0 0;font-weight:500}.topic-selector{max-width:1200px;margin:0 auto clamp(2rem,4vw,3rem);padding:0 clamp(.5rem,2vw,1rem)}.topic-selector label{display:block;font-weight:600;color:#2b5858;margin-bottom:clamp(.6rem,2vw,.8rem);font-size:clamp(1rem,2.5vw,1.1rem)}.topic-select{width:100%;padding:clamp(.85rem,2vw,1rem) clamp(1rem,3vw,1.5rem);border-radius:16px;border:2px solid #2b9997;font-size:clamp(.95rem,2vw,1.1rem);background-color:#fff;cursor:pointer;transition:all .3s ease;font-weight:500}.topic-select:focus{outline:none;border-color:#1a7573;box-shadow:0 0 0 3px #2b99971a}.btn-add-quiz{background:linear-gradient(135deg,#ff6b35,#ff4500);color:#fff;padding:clamp(.7rem,2vw,.8rem) clamp(1.25rem,3vw,1.5rem);border-radius:12px;border:none;cursor:pointer;font-weight:600;transition:all .3s ease;box-shadow:0 4px 12px #ff6b354d;font-size:clamp(.9rem,2vw,1rem);white-space:nowrap}.btn-add-quiz:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ff6b3566}.quiz-sets-section{max-width:1200px;margin:0 auto 3rem}.quiz-sets-title{font-size:clamp(1.4rem,3.5vw,1.8rem);color:#2b5858;margin-bottom:clamp(1.5rem,3vw,2rem);font-weight:700;text-align:center}.quiz-sets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:clamp(1rem,3vw,1.5rem)}.quiz-set-card{background:#fff;padding:clamp(1.5rem,3vw,2rem);border-radius:20px;box-shadow:0 4px 16px #00000014;transition:all .3s ease;border:2px solid transparent}.quiz-set-card:hover{border-color:#2b9997;transform:translateY(-4px);box-shadow:0 8px 24px #2b999726}.quiz-set-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.quiz-set-header h4{font-size:clamp(1.1rem,3vw,1.3rem);color:#2b5858;margin:0;flex:1;line-height:1.4;word-break:break-word}.active-badge{background:#4caf50;color:#fff;padding:.3rem .8rem;border-radius:12px;font-size:.85rem;font-weight:600;white-space:nowrap}.quiz-set-description{color:#666;margin:0 0 clamp(1rem,3vw,1.5rem);line-height:1.6;font-size:clamp(.85rem,2vw,.95rem)}.btn-start-quiz{background:linear-gradient(135deg,#2b9997,#1a7573);color:#fff;padding:clamp(.7rem,2vw,.8rem) clamp(1.25rem,3vw,1.5rem);border-radius:12px;border:none;cursor:pointer;font-weight:600;transition:all .3s ease;box-shadow:0 4px 12px #2b99974d;width:100%;font-size:clamp(.9rem,2vw,1rem)}.btn-start-quiz:hover{transform:translateY(-2px);box-shadow:0 6px 16px #2b999766}.no-quizzes-message{max-width:800px;margin:3rem auto;background:#fff;padding:3rem;border-radius:24px;text-align:center;box-shadow:0 8px 24px #0000001a}.no-quizzes-message p{font-size:1.3rem;color:#666;margin-bottom:1.5rem}.btn-create-first{background:linear-gradient(135deg,#2b9997,#1a7573);color:#fff;padding:.8rem 2rem;border-radius:12px;border:none;cursor:pointer;font-weight:600;font-size:1rem;transition:all .3s ease;box-shadow:0 4px 12px #2b99974d}.btn-create-first:hover{transform:translateY(-2px);box-shadow:0 6px 16px #2b999766}.quizzes-content{max-width:1200px;margin:0 auto}.quiz-progress{background:#fff;padding:1.5rem;border-radius:16px;margin-bottom:2rem;box-shadow:0 4px 12px #00000014}.quiz-progress span{display:block;font-weight:600;color:#2b5858;margin-bottom:.8rem;font-size:1.1rem}.progress-bar{width:100%;height:12px;background:#e0e0e0;border-radius:10px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#2b9997,#1a7573);transition:width .5s ease;border-radius:10px}.quiz-card{background:#fff;padding:2rem;border-radius:20px;box-shadow:0 4px 16px #00000014;transition:all .3s ease;border:3px solid transparent}.quiz-card.correct{border-color:#4caf50;background:linear-gradient(to right,#fff,#e8f5e9)}.quiz-card.incorrect{border-color:#f44336;background:linear-gradient(to right,#fff,#ffebee)}.quiz-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.quiz-number{background:linear-gradient(135deg,#2b9997,#1a7573);color:#fff;padding:.5rem 1.2rem;border-radius:20px;font-weight:600;font-size:.95rem}.quiz-status{padding:.5rem 1.2rem;border-radius:20px;font-weight:600;font-size:.95rem}.status-correct{background:#4caf50;color:#fff}.status-incorrect{background:#f44336;color:#fff}.quiz-question{font-size:clamp(1.1rem,3vw,1.3rem);font-weight:600;color:#2b5858;margin-bottom:clamp(1rem,3vw,1.5rem);line-height:1.6}.quiz-options-grid{display:flex;flex-direction:column;gap:1rem}.quiz-option-label{display:flex;align-items:center;gap:clamp(.75rem,2vw,1rem);padding:clamp(1rem,2vw,1.2rem) clamp(1rem,3vw,1.5rem);background:#f8f9fa;border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;transition:all .3s ease;position:relative}.quiz-option-label:hover{border-color:#2b9997;background:#f0f9f9}.quiz-option-label.selected{border-color:#2b9997;background:#e0f7f7;box-shadow:0 4px 12px #2b999733}.quiz-option-label.correct-answer{border-color:#4caf50;background:#e8f5e9}.quiz-option-label input[type=radio]{position:absolute;opacity:0}.option-letter{display:flex;align-items:center;justify-content:center;width:clamp(32px,6vw,36px);height:clamp(32px,6vw,36px);background:#2b9997;color:#fff;border-radius:50%;font-weight:700;font-size:clamp(.9rem,2vw,1rem);flex-shrink:0}.quiz-option-label.selected .option-letter{background:#1a7573}.quiz-option-label.correct-answer .option-letter{background:#4caf50}.option-text{flex:1;font-size:clamp(.95rem,2vw,1.05rem);color:#333;font-weight:500;word-break:break-word}.confirm-section{max-width:1200px;margin:2rem auto;text-align:center}.btn-confirm-answer{background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff;padding:clamp(.85rem,2vw,1rem) clamp(2rem,5vw,3rem);border-radius:16px;border:none;cursor:pointer;font-weight:700;font-size:clamp(1rem,3vw,1.2rem);transition:all .3s ease;box-shadow:0 6px 20px #4caf5066}.btn-confirm-answer:hover{transform:translateY(-3px);box-shadow:0 8px 24px #4caf5080}.btn-back-to-sets{background:#fff;border:2px solid #2b9997;color:#2b9997;padding:.8rem 2rem;border-radius:12px;cursor:pointer;font-weight:600;font-size:1rem;transition:all .3s ease}.btn-back-to-sets:hover{background:#2b9997;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #2b99974d}.btn-view-rankings{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;padding:clamp(.85rem,2vw,1rem) clamp(2rem,4vw,2.5rem);border-radius:16px;border:none;cursor:pointer;font-weight:700;font-size:clamp(1rem,2.5vw,1.1rem);transition:all .3s ease;box-shadow:0 6px 20px #f5576c4d}.btn-view-rankings:hover{transform:translateY(-3px);box-shadow:0 8px 24px #f5576c80}.final-score-card{max-width:600px;margin:clamp(2rem,4vw,3rem) auto;background:#fff;padding:clamp(2rem,4vw,3rem);border-radius:24px;text-align:center;box-shadow:0 12px 40px #00000026}.score-icon{font-size:clamp(3.5rem,8vw,5rem);margin-bottom:clamp(.75rem,2vw,1rem)}.final-score-card h3{font-size:clamp(1.5rem,4vw,2rem);color:#2b5858;margin-bottom:clamp(1rem,3vw,1.5rem);font-weight:700}.score-display{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1rem}.score-number{font-size:clamp(3rem,6vw,4rem);font-weight:700;color:#2b9997}.score-separator{font-size:clamp(2.5rem,5vw,3rem);color:#999}.score-total{font-size:clamp(2.5rem,5vw,3rem);font-weight:600;color:#666}.score-percentage{font-size:clamp(1.2rem,3vw,1.5rem);color:#555;margin-bottom:clamp(1rem,3vw,1.5rem);font-weight:600}.score-message{font-size:clamp(1rem,2.5vw,1.2rem);color:#2b9997;font-weight:600;padding:clamp(.85rem,2vw,1rem);background:#e0f7f7;border-radius:12px}.results-section{max-width:1200px;margin:3rem auto 0}.results-title{font-size:clamp(1.4rem,3.5vw,1.8rem);color:#2b5858;margin-bottom:clamp(1rem,3vw,1.5rem);font-weight:700;text-align:center}.results-container{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}.table-wrapper{flex:1;min-width:min(300px,100%);background:#fff;padding:clamp(1rem,3vw,1.5rem);border-radius:16px;box-shadow:0 4px 16px #00000014;overflow-x:auto}.table-wrapper h3{margin-bottom:1rem;color:#2b5858;font-weight:700}table{width:100%;border-collapse:collapse;margin-top:.5rem}th,td{border:1px solid #e0e0e0;padding:clamp(.6rem,2vw,.8rem);text-align:center;font-size:clamp(.85rem,2vw,1rem)}th{background:linear-gradient(135deg,#2b9997,#1a7573);color:#fff;font-weight:600}td{background-color:#fff;color:#333}@media (max-width: 768px){.quizzes-container{padding:1rem .5rem}.quizzes-header-section{flex-direction:column;align-items:flex-start;gap:1rem;padding:0 .5rem}.quizzes-title{font-size:1.75rem}.quiz-question{font-size:1.1rem}.quiz-option-label{padding:.9rem 1rem}.results-container{flex-direction:column}.score-number,.score-total{font-size:2.5rem}.score-separator{font-size:2rem}.final-score-card{padding:2rem 1.5rem}}@media (max-width: 480px){.quiz-sets-grid{grid-template-columns:1fr}.quiz-set-card{padding:1.25rem}.btn-confirm-answer,.btn-view-rankings{padding:.85rem 1.5rem;font-size:1rem}table{font-size:.85rem}th,td{padding:.5rem .3rem}}.create-quiz-container{min-height:100vh;background:linear-gradient(135deg,#fff0b3,#ffe680);padding:2rem}.back-button{background:#fff;border:2px solid #2b9997;color:#2b9997;padding:.7rem 1.5rem;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:2rem;font-size:1rem}.create-quiz-header{text-align:center;margin-bottom:3rem}.create-quiz-title{font-size:2.5rem;color:#2b5858;margin-bottom:.5rem}.create-quiz-subtitle{font-size:1.1rem;color:#666}.message-banner{max-width:1200px;margin:0 auto 2rem;padding:1rem 1.5rem;border-radius:12px;font-weight:600;text-align:center;animation:slideDown .3s ease}.message-banner.success{background:#d4edda;color:#155724;border:2px solid #c3e6cb}.message-banner.error{background:#f8d7da;color:#721c24;border:2px solid #f5c6cb}.create-quiz-content{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:2rem}.form-section,.questions-preview{background:#fff;padding:2rem;border-radius:24px;box-shadow:0 8px 24px #0000001a}.create-quiz-form{display:flex;flex-direction:column;gap:1.5rem}.quiz-set-info{background:#f0f9f9;padding:1.5rem;border-radius:16px;margin-bottom:1.5rem;border:2px solid #2b9997}.quiz-set-info h3{color:#2b5858;margin-bottom:1rem;font-size:1.2rem}.divider{height:2px;background:linear-gradient(90deg,transparent 0%,#2b9997 50%,transparent 100%);margin:2rem 0}.form-select,.form-textarea,.form-input,.option-input{width:100%;padding:.8rem;border:2px solid #e0e0e0;border-radius:12px;font-size:1rem;font-family:inherit;transition:border-color .3s ease}.form-select:focus,.form-textarea:focus,.option-input:focus{outline:none;border-color:#2b9997;box-shadow:0 0 0 3px #2b99971a}.form-textarea{resize:vertical;min-height:80px}.options-grid{display:flex;flex-direction:column;gap:.8rem}.option-input-wrapper{display:flex;align-items:center;gap:.8rem}.option-label{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#2b9997;color:#fff;border-radius:50%;font-weight:700;font-size:.9rem;flex-shrink:0}.option-input{flex:1}.btn-remove-option{width:32px;height:32px;background:#f44336;color:#fff;border:none;border-radius:50%;font-size:1.5rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;padding:0}.btn-remove-option:hover{background:#d32f2f;transform:scale(1.1)}.btn-add-option{background:#e0f7f7;color:#2b9997;padding:.7rem;border-radius:12px;border:2px dashed #2b9997;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:.5rem}.btn-add-option:hover{background:#2b9997;color:#fff;border-style:solid}.btn-add-question{background:linear-gradient(135deg,#2b9997,#1a7573);color:#fff;padding:1rem 2rem;border-radius:12px;border:none;font-weight:700;font-size:1.1rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #2b99974d;margin-top:1rem}.btn-add-question:hover{transform:translateY(-2px);box-shadow:0 6px 16px #2b999766}.preview-title{font-size:1.5rem;color:#2b5858;margin-bottom:1.5rem;font-weight:700}.empty-state{text-align:center;padding:3rem 1rem;color:#999}.empty-state p{margin:.5rem 0;font-size:1.1rem}.empty-state .hint{font-size:.95rem;color:#bbb}.questions-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;max-height:600px;overflow-y:auto;padding-right:.5rem}.question-preview-card{background:#f8f9fa;padding:1.5rem;border-radius:16px;border:2px solid #e0e0e0;transition:all .3s ease}.question-preview-card:hover{border-color:#2b9997;box-shadow:0 4px 12px #2b99971a}.question-preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.question-number{background:#2b9997;color:#fff;padding:.4rem 1rem;border-radius:16px;font-weight:600;font-size:.9rem}.btn-remove-question{background:transparent;border:none;font-size:1.3rem;cursor:pointer;transition:transform .2s ease;padding:.3rem}.btn-remove-question:hover{transform:scale(1.2)}.question-preview-text{font-weight:600;color:#2b5858;margin-bottom:1rem;font-size:1.05rem}.question-preview-options{display:flex;flex-direction:column;gap:.6rem}.preview-option{display:flex;align-items:center;gap:.8rem;padding:.8rem;background:#fff;border-radius:10px;border:2px solid #e0e0e0}.preview-option.correct{border-color:#4caf50;background:#e8f5e9}.preview-option-letter{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#2b9997;color:#fff;border-radius:50%;font-weight:700;font-size:.85rem;flex-shrink:0}.preview-option.correct .preview-option-letter{background:#4caf50}.correct-badge{margin-left:auto;background:#4caf50;color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}.btn-submit-quiz{background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff;padding:1rem 2rem;border-radius:12px;border:none;font-weight:700;font-size:1.1rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #4caf504d;width:100%}.btn-submit-quiz:hover{transform:translateY(-2px);box-shadow:0 6px 16px #4caf5066}@media (max-width: 1024px){.create-quiz-content{grid-template-columns:1fr}.questions-list{max-height:400px}}@media (max-width: 768px){.create-quiz-title{font-size:2rem}.create-quiz-subtitle{font-size:1rem}.form-section,.questions-preview{padding:1.5rem}}.edit-quiz-set-container{min-height:100vh;background:linear-gradient(135deg,#fff0b3,#ffe680);padding:2rem}.loading{min-height:100vh;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#2b5858}.edit-quiz-set-card{background:#fff;border-radius:24px;padding:2.5rem;box-shadow:0 8px 24px #0000001a;margin-bottom:2rem;max-width:1200px;margin-left:auto;margin-right:auto}.edit-quiz-set-card h1{color:#2b5858;margin:0 0 2rem;font-size:2rem}.quiz-set-form{display:flex;flex-direction:column;gap:1.5rem}.form-group label{font-weight:600;color:#2b5858;font-size:1rem}.form-group input[type=text],.form-group textarea,.form-group select{padding:.8rem;border:2px solid #e0e0e0;border-radius:12px;font-size:1rem;font-family:inherit;transition:border-color .3s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#2b9997;box-shadow:0 0 0 3px #2b99971a}.checkbox-group label{display:flex;align-items:center;gap:.8rem;cursor:pointer}.checkbox-group input[type=checkbox]{width:20px;height:20px;cursor:pointer}.btn-save{flex:1;background:linear-gradient(135deg,#2b9997,#1a7573);color:#fff;padding:1rem;border-radius:12px;border:none;cursor:pointer;font-weight:700;font-size:1.1rem;transition:all .3s ease;box-shadow:0 4px 12px #2b99974d}.btn-save:hover{transform:translateY(-2px);box-shadow:0 6px 16px #2b999766}.btn-delete-set{background:#f44;color:#fff;padding:1rem 2rem;border-radius:12px;border:none;cursor:pointer;font-weight:700;font-size:1.1rem;transition:all .3s ease}.btn-delete-set:hover{background:#c00;transform:translateY(-2px)}.quizzes-management-section{background:#fff;border-radius:24px;padding:2.5rem;box-shadow:0 8px 24px #0000001a;max-width:1200px;margin:0 auto}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.section-header h2{color:#2b5858;margin:0;font-size:1.8rem}.btn-add-question{background:linear-gradient(135deg,#ff6b35,#ff4500);color:#fff;padding:.8rem 1.5rem;border-radius:12px;border:none;cursor:pointer;font-weight:600;transition:all .3s ease;box-shadow:0 4px 12px #ff6b354d}.btn-add-question:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ff6b3566}.add-quiz-form{background:#f8f9fa;padding:2rem;border-radius:16px;margin-bottom:2rem;border:2px solid #e0e0e0}.add-quiz-form h3{color:#2b5858;margin:0 0 1.5rem}.add-quiz-form form{display:flex;flex-direction:column;gap:1.2rem}.add-quiz-form input,.add-quiz-form select{margin-top:.3rem}.btn-save-quiz{background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff;padding:.9rem;border-radius:12px;border:none;cursor:pointer;font-weight:700;font-size:1rem;transition:all .3s ease;box-shadow:0 4px 12px #4caf504d}.btn-save-quiz:hover{transform:translateY(-2px);box-shadow:0 6px 16px #4caf5066}.no-quizzes-message{text-align:center;padding:3rem 2rem;color:#999;background:#f8f9fa;border-radius:16px;border:2px dashed #ddd}.no-quizzes-message p{margin:.5rem 0;font-size:1.1rem}.quizzes-list{display:flex;flex-direction:column;gap:1.5rem}.quiz-item-edit{background:#f8f9fa;border-radius:16px;padding:1.5rem;border:2px solid #e0e0e0;transition:all .3s ease}.quiz-item-edit:hover{border-color:#2b9997;box-shadow:0 4px 12px #00000014}.quiz-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.quiz-number{background:linear-gradient(135deg,#2b9997,#1a7573);color:#fff;padding:.4rem 1rem;border-radius:20px;font-weight:600;font-size:.9rem}.quiz-item-actions{display:flex;gap:.5rem}.btn-edit-quiz,.btn-delete-quiz,.btn-save-edit,.btn-cancel-edit{padding:.5rem 1rem;border-radius:8px;border:none;cursor:pointer;font-weight:600;transition:all .3s ease;font-size:.9rem}.btn-edit-quiz{background:#2b9997;color:#fff}.btn-edit-quiz:hover{background:#1a7573;transform:translateY(-2px)}.btn-delete-quiz{background:#f44;color:#fff}.btn-delete-quiz:hover{background:#c00;transform:translateY(-2px)}.btn-save-edit{background:#4caf50;color:#fff}.btn-save-edit:hover{background:#388e3c;transform:translateY(-2px)}.btn-cancel-edit{background:#e0e0e0;color:#333}.btn-cancel-edit:hover{background:#d0d0d0}.quiz-edit-form{display:flex;flex-direction:column;gap:.8rem}.quiz-edit-form input,.quiz-edit-form select{padding:.7rem;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem}.quiz-edit-form input:focus,.quiz-edit-form select:focus{outline:none;border-color:#2b9997}.quiz-display{background:#fff;padding:1.5rem;border-radius:12px}.quiz-question{font-size:1.2rem;font-weight:600;color:#2b5858;margin:0 0 1rem}.quiz-options{display:flex;flex-direction:column;gap:.8rem}.quiz-option{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8f9fa;border-radius:10px;border:2px solid transparent;transition:all .3s ease}.quiz-option.correct{background:#e8f5e9;border-color:#4caf50}.option-letter{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#2b9997;color:#fff;border-radius:50%;font-weight:700;font-size:.9rem;flex-shrink:0}.quiz-option.correct .option-letter{background:#4caf50}.correct-badge{margin-left:auto;background:#4caf50;color:#fff;padding:.3rem .8rem;border-radius:12px;font-size:.85rem;font-weight:600}@media (max-width: 768px){.edit-quiz-set-container{padding:1rem}.edit-quiz-set-card,.quizzes-management-section{padding:1.5rem}.section-header{flex-direction:column;gap:1rem;align-items:flex-start}.btn-add-question{width:100%}.form-actions{flex-direction:column}.quiz-item-actions{flex-wrap:wrap}}.games-page{min-height:100vh;background:linear-gradient(135deg,#fff0b3,#ffe680);padding:2rem;display:flex;align-items:center;justify-content:center}.games-container{width:90vw;max-width:800px;margin:0 auto;padding:3rem;background:#fff;border-radius:24px;box-shadow:0 10px 40px #00000026;text-align:center}.games-title{font-size:3rem;margin:0 0 .5rem;color:#2b5858;font-weight:700}.games-subtitle{font-size:1.2rem;color:#666;margin:0 0 2.5rem;font-weight:500}.games-buttons{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.game-link{text-decoration:none;flex:1;min-width:250px;max-width:350px}.game-btn{width:100%;padding:2rem 2.5rem;font-size:1.5rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#2b9997,#1a7573);border:none;border-radius:16px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #2b99974d;position:relative;overflow:hidden}.game-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .6s,height .6s}.game-btn:hover:before{width:300px;height:300px}.game-btn:hover{transform:translateY(-4px);box-shadow:0 8px 25px #2b999766}.game-btn:active{transform:translateY(-2px);box-shadow:0 4px 15px #2b99974d}@media (max-width: 768px){.games-container{padding:2rem}.games-title{font-size:2rem}.games-subtitle{font-size:1rem}.games-buttons{flex-direction:column}.game-link{min-width:100%}.game-btn{padding:1.5rem 2rem;font-size:1.3rem}}.hangman-page{min-height:100vh;background:linear-gradient(135deg,#fff0b3,#ffe680);padding:2rem}.back-button,.manage-button{background:#fff;border:2px solid #2b9997;color:#2b9997;padding:.7rem 1.5rem;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem}.back-button:hover,.manage-button:hover{background:#2b9997;color:#fff;transform:translate(-4px)}.manage-button:hover{transform:translateY(-2px)}.hangman-container{max-width:1000px;margin:0 auto}.hangman-header{text-align:center;color:#2b5858;margin-bottom:2rem}.hangman-header h1{font-size:3rem;margin:0 0 .5rem;font-weight:700;color:#2b5858}.topic-selector{background:#fff;padding:1.5rem;border-radius:16px;box-shadow:0 4px 12px #0000001a;margin-bottom:2rem;display:flex;flex-direction:column;gap:.8rem}.topic-selector label{color:#2b5858;font-weight:600;font-size:1.1rem}.topic-selector select{padding:1rem;border-radius:12px;border:2px solid #ddd;background:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;color:#333}.topic-selector select:focus{outline:none;border-color:#2b9997;box-shadow:0 0 0 3px #2b99971a}.loading-message{text-align:center;padding:3rem;color:#666;background:#fff;border-radius:16px}.game-area{background:#fffffff2;padding:2rem;border-radius:24px;box-shadow:0 10px 40px #0003}.category-badge{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#2b9997,#1a7573);color:#fff;padding:.8rem 1.5rem;border-radius:20px;font-weight:700;font-size:1.1rem;margin-bottom:1.5rem;box-shadow:0 4px 15px #2b99974d}.badge-icon{font-size:1.3rem}.hint-box{background:linear-gradient(135deg,#ffeaa7,#fdcb6e);padding:1rem 1.5rem;border-radius:16px;display:flex;align-items:center;gap:1rem;margin-bottom:2rem;box-shadow:0 4px 15px #fdcb6e4d;border:2px solid #fdcb6e}.hint-icon{font-size:1.5rem}.hint-text{font-weight:600;color:#333;font-size:1rem;line-height:1.5}.word-counter{text-align:center;margin-top:1.5rem;padding:.8rem;background:#2b99971a;border-radius:12px;color:#2b9997;font-weight:700;font-size:1rem}.no-words-message{background:#fff;padding:3rem 2rem;border-radius:16px;text-align:center;color:#666;box-shadow:0 4px 12px #0000001a;border:2px dashed #ddd}.no-words-message p{margin:.5rem 0;font-size:1.2rem}.no-words-message .hint-text{font-size:1rem;opacity:.9}.btn-manage-link{background:linear-gradient(135deg,#2b9997,#1a7573);color:#fff;border:none;padding:.8rem 1.5rem;border-radius:12px;font-weight:700;cursor:pointer;transition:all .3s ease;font-size:1rem;box-shadow:0 4px 15px #2b99974d;margin-top:1rem}.btn-manage-link:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2b999766}.teacher-section{margin-top:3rem;background:#ffffff1a;padding:2rem;border-radius:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.2)}.add-word-form{margin-top:1.5rem;display:flex;flex-direction:column;gap:1.2rem}.add-word-form h3{margin:0 0 1rem;color:#fff;font-size:1.5rem}.form-group label{font-weight:600;color:#fff;font-size:1rem}.form-group input,.form-group textarea{padding:.8rem;border-radius:12px;border:2px solid rgba(255,255,255,.3);background:#ffffffe6;font-size:1rem;font-family:inherit;transition:all .3s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#fff;background:#fff}.form-group small{color:#fffc;font-size:.85rem}.message{text-align:center;padding:1rem;border-radius:12px;font-weight:600;animation:slideDown .3s ease}.message.success{background:#4caf5033;border:2px solid rgba(76,175,80,.5);color:#fff}.message.error{background:#f4433633;border:2px solid rgba(244,67,54,.5);color:#fff}@media (max-width: 768px){.hangman-page{padding:1rem}.hangman-header h1{font-size:2rem}.game-area,.teacher-section{padding:1.5rem}}.hangman-container{text-align:center;font-family:sans-serif;zoom:1;transform-origin:top center}.hangman-drawing{margin-bottom:2rem;background:linear-gradient(135deg,#2b99970d,#1a75730d);padding:clamp(1rem,3vw,2.5rem);border-radius:20px;display:inline-block;border:3px solid rgba(43,153,151,.1);position:relative;overflow:hidden;max-width:90vw}.hangman-drawing:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(43,153,151,.03) 0%,transparent 70%);animation:rotate 20s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hangman-figure{stroke:#2b5858;stroke-width:5;fill:none;stroke-linecap:round;filter:drop-shadow(3px 3px 6px rgba(0,0,0,.15));position:relative;z-index:1;width:100%;height:auto;max-width:min(300px,40vw);max-height:min(350px,40vh)}.hangman-figure line:nth-child(1),.hangman-figure line:nth-child(2),.hangman-figure line:nth-child(3),.hangman-figure line:nth-child(4){stroke:#8b7355;stroke-width:6}.hangman-figure circle{stroke:#f44336;stroke-width:4;fill:#ffebee;animation:fadeInBounce .8s cubic-bezier(.68,-.55,.265,1.55) forwards}.hangman-figure line.fade-in{stroke:#f44336;stroke-width:4;animation:drawLine .8s cubic-bezier(.68,-.55,.265,1.55) forwards}@keyframes fadeInBounce{0%{opacity:0;transform:scale(0) rotate(-180deg)}60%{opacity:1;transform:scale(1.2) rotate(10deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes drawLine{0%{opacity:0;stroke-dasharray:100;stroke-dashoffset:100}50%{opacity:1}to{opacity:1;stroke-dasharray:100;stroke-dashoffset:0}}.hangman-figure.shake{animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.word-display{font-size:clamp(1.5rem,4vw,2.5rem);margin:2rem 0;font-weight:700;letter-spacing:clamp(.2rem,1vw,.5rem);color:#333;display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(.3rem,1vw,.5rem);max-width:90vw;margin-left:auto;margin-right:auto}.letter{display:inline-block;margin:0;border-bottom:4px solid #2b9997;min-width:clamp(25px,4vw,40px);height:clamp(40px,6vh,60px);line-height:clamp(40px,6vh,60px);animation:letterPop .5s cubic-bezier(.68,-.55,.265,1.55);position:relative;transition:all .3s ease;text-align:center}.letter.space{min-width:clamp(15px,2vw,20px);border-bottom:none}.letter.special-char{color:#2b9997;font-weight:700}.letter:after{content:"";position:absolute;bottom:-4px;left:0;width:100%;height:4px;background:linear-gradient(90deg,#2b9997,#1a7573);transform:scaleX(0);transition:transform .3s ease}.letter:hover:after{transform:scaleX(1)}@keyframes letterPop{0%{transform:scale(0) rotateY(180deg);opacity:0}60%{transform:scale(1.3) rotateY(0);opacity:1}to{transform:scale(1) rotateY(0);opacity:1}}.keyboard{margin:2rem auto;display:flex;flex-direction:column;gap:.8rem;max-width:900px;width:100%}.keyboard-row{display:flex;gap:.5rem;justify-content:center;align-items:center}.keyboard-row:nth-child(1){max-width:650px;margin:0 auto}.keyboard-row:nth-child(2){max-width:650px;margin:0 auto;padding-left:30px}.keyboard-row:nth-child(3){max-width:500px;margin:0 auto;padding-left:60px}.keyboard-row:nth-child(4){max-width:650px;margin:.5rem auto 0;padding-top:.5rem;border-top:2px solid rgba(43,153,151,.2)}.key{padding:clamp(.7rem,1.5vw,1rem) clamp(.9rem,2vw,1.2rem);font-size:clamp(.9rem,2vw,1.1rem);font-weight:700;border:none;background:linear-gradient(135deg,#2b9997,#1a7573);color:#fff;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.68,-.55,.265,1.55);box-shadow:0 4px 10px #2b99974d;min-width:clamp(40px,5vw,55px);position:relative;overflow:hidden;flex:0 0 auto}.key.number-key{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 10px #667eea4d}.key.number-key:hover:not(:disabled){box-shadow:0 6px 20px #667eea80;background:linear-gradient(135deg,#7c8ef5,#8a5bb8)}.key:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.key:hover:not(:disabled):before{width:200px;height:200px}.key:hover:not(:disabled){transform:translateY(-3px) scale(1.05);box-shadow:0 6px 20px #2b999780}.key:active:not(:disabled){transform:translateY(-1px) scale(.98);box-shadow:0 3px 10px #2b999766}.key:disabled{background:linear-gradient(135deg,#e0e0e0,#bdbdbd);color:#757575;cursor:not-allowed;box-shadow:none;opacity:.6;transform:scale(.95)}.status{margin:2rem 0}.status p{font-size:clamp(1rem,2.5vw,1.2rem);font-weight:600;color:#666;margin:.5rem 0}.message{font-size:clamp(1.2rem,3vw,1.5rem);font-weight:700;padding:clamp(.8rem,2vw,1rem) clamp(1.5rem,3vw,2rem);border-radius:16px;margin:1rem 0;animation:slideDown .5s ease;max-width:90vw;word-wrap:break-word}.message.win{background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff;box-shadow:0 6px 25px #4caf5080;animation:winPulse 1s ease-in-out infinite,slideDown .5s ease;position:relative;overflow:hidden}.message.win:before{content:"🎉";position:absolute;font-size:3rem;animation:confetti 2s ease-in-out infinite;left:10%}.message.win:after{content:"🎊";position:absolute;font-size:3rem;animation:confetti 2s ease-in-out infinite reverse;right:10%}@keyframes winPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes confetti{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(-20px) rotate(360deg);opacity:.5}}.message.lose{background:linear-gradient(135deg,#f44336,#d32f2f);color:#fff;box-shadow:0 6px 25px #f4433680;animation:loseShake .5s ease,slideDown .5s ease}@keyframes loseShake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-8px)}20%,40%,60%,80%{transform:translate(8px)}}.control-buttons{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.control-button{padding:clamp(.8rem,2vw,1rem) clamp(1.5rem,3vw,2rem);font-size:clamp(.9rem,2vw,1rem);font-weight:700;border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #00000026;min-width:clamp(140px,20vw,180px)}.control-button.primary{background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff;position:relative;overflow:hidden}.control-button.primary:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.control-button.primary:hover:before{width:300px;height:300px}.control-button.primary:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 8px 20px #4caf5080}.control-button.secondary{background:linear-gradient(135deg,#ff6b35,#ff4500);color:#fff;position:relative;overflow:hidden}.control-button.secondary:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.control-button.secondary:hover:before{width:300px;height:300px}.control-button.secondary:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 8px 20px #ff6b3580}@media (max-width: 768px){.hangman-drawing{padding:1rem}.hangman-figure{max-width:250px;max-height:300px}.word-display{gap:.3rem}.keyboard{gap:1rem}.keyboard-row{gap:.3rem}.key{min-width:35px;padding:.6rem .8rem;font-size:.9rem}.key.number-key{min-width:40px}.control-buttons{flex-direction:column;gap:.8rem}.control-button{width:100%;min-width:100%}}@media (max-width: 480px){.hangman-figure{max-width:200px;max-height:250px}.word-display{font-size:1.2rem;letter-spacing:.1rem}.letter{min-width:20px;height:35px;line-height:35px}.key{min-width:30px;padding:.5rem .6rem;font-size:.85rem}.keyboard-label{font-size:.9rem}}.memorama-page{min-height:100vh;background:linear-gradient(135deg,#fff0b3,#ffe680);padding:2rem;color:#333}.game-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.back-button,.manage-button{background:#fff;border:2px solid #2b9997;color:#2b9997;padding:.7rem 1.5rem;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease}.manage-button:hover{background:#2b9997;color:#fff;transform:translateY(-2px)}.memorama-header{text-align:center;margin-bottom:2rem}.memorama-header h1{font-size:3rem;margin:0 0 .5rem;font-weight:700;color:#2b5858}.subtitle{font-size:1.2rem;color:#666;margin:0;font-weight:500}.game-controls{display:flex;gap:1.5rem;justify-content:center;align-items:flex-end;margin-bottom:2rem;flex-wrap:wrap}.control-group{display:flex;flex-direction:column;gap:.5rem}.control-group label{font-weight:600;font-size:1rem;color:#2b5858}.control-group select{padding:1rem;border-radius:12px;border:2px solid #ddd;background:#fff;color:#333;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:200px}.control-group select:focus{outline:none;border-color:#2b9997;box-shadow:0 0 0 3px #2b99971a}.control-group select option{background:#fff;color:#333}.btn-start-game{padding:.8rem 2rem;border-radius:12px;border:none;background:linear-gradient(135deg,#2b9997,#1a7573);color:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #2b99974d}.btn-start-game:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #2b999780}.btn-start-game:disabled{opacity:.5;cursor:not-allowed}.game-stats{display:flex;gap:2rem;justify-content:center;margin-bottom:2rem;flex-wrap:wrap}.stat{background:#fff;padding:1rem 2rem;border-radius:16px;border:2px solid #ddd;display:flex;flex-direction:column;align-items:center;gap:.5rem;box-shadow:0 4px 12px #0000001a}.stat-label{font-size:.9rem;color:#666}.stat-value{font-size:1.8rem;font-weight:700;color:#2b9997}.memorama-grid{display:grid;gap:1rem;max-width:1200px;margin:0 auto;perspective:1000px}.memorama-grid.difficulty-easy{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.memorama-grid.difficulty-medium{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.memorama-grid.difficulty-hard{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.memory-card{aspect-ratio:1;cursor:pointer;position:relative;transform-style:preserve-3d;transition:transform .6s}.memory-card.flipped .card-inner{transform:rotateY(180deg)}.memory-card.matched{animation:matchPulse .5s ease}.memory-card.shake{animation:shake .5s ease}.card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s}.card-front,.card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:16px;display:flex;align-items:center;justify-content:center;padding:1rem;box-shadow:0 4px 15px #0003}.card-front{background:linear-gradient(135deg,#2b9997,#1a7573);border:3px solid rgba(43,153,151,.3)}.card-icon{font-size:3rem;filter:drop-shadow(2px 2px 4px rgba(0,0,0,.3))}.card-back{background:#fff;color:#333;transform:rotateY(180deg);border:3px solid #2b9997}.card-back.concept{background:linear-gradient(135deg,#ffeaa7,#fdcb6e);border-color:#fdcb6e}.card-back.definition{background:linear-gradient(135deg,#a29bfe,#6c5ce7);color:#fff;border-color:#6c5ce7}.card-text{font-size:.95rem;font-weight:600;text-align:center;line-height:1.4;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.win-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeIn .3s ease}.win-content{background:#fff;color:#333;padding:3rem;border-radius:24px;text-align:center;max-width:500px;box-shadow:0 20px 60px #00000080;animation:slideUp .5s ease}.win-content h2{font-size:2.5rem;margin:0 0 1rem;color:#2b9997}.win-message{font-size:1.2rem;margin-bottom:2rem;color:#666}.win-stats{display:flex;gap:2rem;justify-content:center;margin-bottom:2rem;flex-wrap:wrap}.win-stat{display:flex;flex-direction:column;gap:.5rem}.win-stat-label{font-size:.9rem;color:#999}.win-stat-value{font-size:2rem;font-weight:700;color:#2b9997}.stars{display:flex;gap:.5rem;justify-content:center;margin-top:1rem}.star{font-size:2rem;opacity:.3;transition:all .3s ease}.star.filled{opacity:1;animation:starPop .5s ease}.win-actions{display:flex;gap:1rem;justify-content:center}.btn-play-again,.btn-next-level{padding:1rem 2rem;border-radius:12px;border:none;font-weight:700;cursor:pointer;transition:all .3s ease;font-size:1rem}.btn-play-again{background:linear-gradient(135deg,#2b9997,#1a7573);color:#fff}.btn-play-again:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2b999766}.btn-next-level{background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff}.btn-next-level:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4caf5066}.teacher-section{max-width:800px;margin:3rem auto 0;background:#ffffff1a;padding:2rem;border-radius:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.2)}.btn-toggle-form{width:100%;padding:1rem;border-radius:12px;border:2px solid white;background:#ffffff26;color:#fff;font-weight:700;cursor:pointer;transition:all .3s ease;font-size:1rem}.btn-toggle-form:hover{background:#ffffff40}.add-pair-form{margin-top:1.5rem;display:flex;flex-direction:column;gap:1.2rem}.add-pair-form h3{margin:0 0 1rem;color:#fff}.form-group label{font-weight:600;color:#fff}.form-group input,.form-group textarea,.form-group select{padding:.8rem;border-radius:12px;border:2px solid rgba(255,255,255,.3);background:#ffffffe6;font-size:1rem;font-family:inherit;transition:all .3s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#fff;background:#fff}.btn-submit{padding:1rem;border-radius:12px;border:none;background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff;font-weight:700;cursor:pointer;transition:all .3s ease;font-size:1rem}.message{text-align:center;padding:.8rem;border-radius:12px;background:#4caf5033;border:2px solid rgba(76,175,80,.5);color:#fff;font-weight:600}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}@keyframes matchPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes starPop{0%{transform:scale(0)}50%{transform:scale(1.3)}to{transform:scale(1)}}.preview-section{max-width:1200px;margin:0 auto 2rem;background:#fff;padding:2rem;border-radius:24px;box-shadow:0 10px 40px #00000026;animation:slideUp .5s ease}.preview-header{text-align:center;margin-bottom:2rem}.preview-header h2{font-size:2rem;color:#2b9997;margin:0 0 .5rem}.preview-header p{color:#666;font-size:1.1rem;margin:0}.preview-grid{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.preview-pair{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:1rem;align-items:center;padding:1.5rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:16px;border:2px solid #dee2e6;transition:all .3s ease;animation:fadeInUp .5s ease forwards;opacity:0}.preview-pair:nth-child(1){animation-delay:.1s}.preview-pair:nth-child(2){animation-delay:.2s}.preview-pair:nth-child(3){animation-delay:.3s}.preview-pair:nth-child(4){animation-delay:.4s}.preview-pair:nth-child(5){animation-delay:.5s}.preview-pair:nth-child(6){animation-delay:.6s}.preview-pair:nth-child(7){animation-delay:.7s}.preview-pair:nth-child(8){animation-delay:.8s}.preview-pair:nth-child(9){animation-delay:.9s}.preview-pair:nth-child(10){animation-delay:1s}.preview-pair:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2b999726}.preview-number{width:40px;height:40px;background:linear-gradient(135deg,#2b9997,#1a7573);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;box-shadow:0 4px 12px #2b99974d}.preview-card{padding:1rem 1.5rem;border-radius:12px;box-shadow:0 4px 12px #0000001a;transition:all .3s ease}.preview-card:hover{transform:scale(1.02)}.concept-preview{background:linear-gradient(135deg,#ffeaa7,#fdcb6e);border:2px solid #fdcb6e}.definition-preview{background:linear-gradient(135deg,#a29bfe,#6c5ce7);color:#fff;border:2px solid #6c5ce7}.preview-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;opacity:.8}.preview-content{font-size:1rem;font-weight:600;line-height:1.4}.preview-divider{font-size:2rem;color:#2b9997;font-weight:700}.btn-start-playing{width:100%;padding:1.2rem 2rem;border-radius:16px;border:none;background:linear-gradient(135deg,#2b9997,#1a7573);color:#fff;font-size:1.3rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 20px #2b999766;animation:pulse 2s ease-in-out infinite}.btn-start-playing:hover{transform:translateY(-3px);box-shadow:0 8px 25px #2b999799}.shuffling-animation{text-align:center;padding:3rem;animation:fadeIn .3s ease}.shuffle-cards{display:flex;gap:1rem;justify-content:center;align-items:center;margin-bottom:2rem;flex-wrap:wrap}.shuffle-card{width:80px;height:80px;background:linear-gradient(135deg,#2b9997,#1a7573);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;font-weight:700;box-shadow:0 4px 15px #2b99974d;animation:shuffleCard 1.5s ease-in-out infinite}.shuffle-text{font-size:1.5rem;font-weight:700;color:#2b9997;animation:pulse 1.5s ease-in-out infinite}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shuffleCard{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-20px) rotate(-10deg)}50%{transform:translateY(0) rotate(0)}75%{transform:translateY(-20px) rotate(10deg)}}@media (max-width: 768px){.memorama-page{padding:1rem}.memorama-header h1{font-size:2rem}.game-controls{flex-direction:column;align-items:stretch}.control-group select{min-width:auto}.memorama-grid{gap:.5rem}.memorama-grid.difficulty-easy,.memorama-grid.difficulty-medium,.memorama-grid.difficulty-hard{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.card-text{font-size:.8rem}.win-content{padding:2rem 1.5rem;margin:1rem}.win-actions{flex-direction:column}.preview-section{padding:1.5rem}.preview-header h2{font-size:1.5rem}.preview-pair{grid-template-columns:1fr;gap:1rem;padding:1rem}.preview-number{width:30px;height:30px;font-size:1rem;margin:0 auto}.preview-divider{font-size:1.5rem;text-align:center;transform:rotate(90deg)}.preview-card{padding:1rem}.preview-content{font-size:.9rem}.btn-start-playing{font-size:1.1rem;padding:1rem}.shuffle-card{width:60px;height:60px;font-size:1.5rem}.shuffle-text{font-size:1.2rem}}.manage-hangman-page{min-height:100vh;background:linear-gradient(135deg,#fff0b3,#ffe680);padding:2rem}.back-button,.play-button{background:#fff3;border:2px solid white;color:#fff;padding:.7rem 1.5rem;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.back-button:hover,.play-button:hover{background:#fff;color:#2b9997;transform:translateY(-2px)}.page-header{text-align:center;color:#fff;margin-bottom:2rem}.page-header h1{font-size:2.5rem;margin:0 0 .5rem;color:#2b5858;text-shadow:2px 2px 4px rgba(0,0,0,.1)}.subtitle{font-size:1.1rem;color:#2b5858;opacity:.8;margin:0}.topic-selector-card select:focus{outline:none;border-color:#2b9997}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#2b9997}.btn-submit{padding:1rem;border-radius:12px;border:none;background:linear-gradient(135deg,#2b9997,#1f7a7a);color:#fff;font-weight:700;cursor:pointer;transition:all .3s ease;font-size:1rem;box-shadow:0 4px 15px #2b99974d}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2b999766}.no-words{text-align:center;padding:3rem;background:#fffffff2;border-radius:16px;box-shadow:0 10px 40px #0003}.no-words p{margin:.5rem 0;font-size:1.2rem;color:#666}.no-words .hint{font-size:1rem;color:#999}.words-list{background:#fffffff2;padding:2rem;border-radius:16px;box-shadow:0 10px 40px #0003}.words-list h2{margin:0 0 1.5rem;color:#333;font-size:1.8rem}.words-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.word-card{background:#fff;border:2px solid #f0f0f0;border-radius:16px;padding:1.5rem;transition:all .3s ease}.word-card:hover{border-color:#2b9997;box-shadow:0 6px 20px #2b999733;transform:translateY(-2px)}.word-header{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.word-category{font-size:.85rem;font-weight:600;color:#2b9997;text-transform:uppercase;letter-spacing:.5px}.word-text{font-size:1.5rem;font-weight:700;color:#333}.word-hint{display:flex;align-items:flex-start;gap:.5rem;background:#fff3cd;padding:.8rem;border-radius:8px;margin-bottom:1rem;border:1px solid #ffc107}.hint-icon{font-size:1.2rem}.word-hint span:last-child{font-size:.9rem;color:#856404;line-height:1.4}.word-actions{display:flex;gap:.8rem}.btn-edit{background:linear-gradient(135deg,#2b9997,#1f7a7a);color:#fff}.btn-save{background:linear-gradient(135deg,#2b9997,#1f7a7a);color:#fff}.btn-save:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2b999766}@media (max-width: 768px){.manage-hangman-page{padding:1rem}.manage-header{flex-direction:column;align-items:stretch}.page-header h1{font-size:2rem}.form-row,.words-grid{grid-template-columns:1fr}}.manage-memorama-page{min-height:100vh;background:linear-gradient(135deg,#fff0b3,#ffe680);padding:2rem}.manage-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.back-button,.play-button{background:#fff;border:2px solid #2b9997;color:#2b9997;padding:.7rem 1.5rem;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease}.play-button:hover{background:#2b9997;color:#fff;transform:translateY(-2px)}.manage-container{max-width:1200px;margin:0 auto}.page-header{text-align:center;color:#2b5858;margin-bottom:2rem}.page-header h1{font-size:2.5rem;margin:0 0 .5rem;font-weight:700}.subtitle{font-size:1.1rem;color:#666;margin:0;font-weight:500}.topic-selector-card{background:#fffffff2;padding:1.5rem;border-radius:16px;margin-bottom:2rem;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;gap:.8rem}.topic-selector-card label{font-weight:700;font-size:1.1rem;color:#333}.topic-selector-card select{padding:1rem;border-radius:12px;border:2px solid #ddd;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.topic-selector-card select:focus{outline:none;border-color:#2b9997;box-shadow:0 0 0 3px #2b99971a}.add-section{background:#fffffff2;padding:2rem;border-radius:16px;margin-bottom:2rem;box-shadow:0 10px 40px #0003}.btn-toggle-add{width:100%;padding:1rem;border-radius:12px;border:2px solid #2b9997;background:#fff;color:#2b9997;font-weight:700;cursor:pointer;transition:all .3s ease;font-size:1rem}.btn-toggle-add:hover{background:#2b9997;color:#fff}.add-form{margin-top:1.5rem;display:flex;flex-direction:column;gap:1.2rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.form-group input,.form-group textarea{padding:.8rem;border-radius:12px;border:2px solid #ddd;font-size:1rem;font-family:inherit;transition:all .3s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#2b9997;box-shadow:0 0 0 3px #2b99971a}.btn-submit{padding:1rem;border-radius:12px;border:none;background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff;font-weight:700;cursor:pointer;transition:all .3s ease;font-size:1rem;box-shadow:0 4px 15px #4caf504d}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4caf5066}.message{padding:1rem;border-radius:12px;font-weight:600;text-align:center;animation:slideDown .3s ease;margin-bottom:1rem}.message.success{background:#d4edda;border:2px solid #28a745;color:#155724}.message.error{background:#f8d7da;border:2px solid #dc3545;color:#721c24}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.loading-message{text-align:center;padding:3rem;background:#fffffff2;border-radius:16px;box-shadow:0 10px 40px #0003}.no-pairs{text-align:center;padding:3rem;background:#fffffff2;border-radius:16px;box-shadow:0 10px 40px #0003}.no-pairs p{margin:.5rem 0;font-size:1.2rem;color:#666}.no-pairs .hint{font-size:1rem;color:#999}.pairs-list{background:#fffffff2;padding:2rem;border-radius:16px;box-shadow:0 10px 40px #0003}.pairs-list h2{margin:0 0 1.5rem;color:#333;font-size:1.8rem}.pairs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.pair-card{background:#fff;border:2px solid #f0f0f0;border-radius:16px;padding:1.5rem;transition:all .3s ease}.pair-card:hover{border-color:#2b9997;box-shadow:0 6px 20px #2b999733;transform:translateY(-2px)}.pair-header{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.pair-concept{font-size:1.3rem;font-weight:700;color:#333;text-transform:uppercase;letter-spacing:.5px}.difficulty-badge{font-size:.75rem;font-weight:600;color:#fff;padding:.3rem .8rem;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.pair-definition{font-size:.95rem;color:#666;line-height:1.6;margin-bottom:1rem;padding:.8rem;background:#f8f9fa;border-radius:8px;border-left:3px solid #2b9997}.pair-actions{display:flex;gap:.8rem}.btn-edit,.btn-delete{flex:1;padding:.7rem;border-radius:8px;border:none;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.9rem}.btn-edit{background:linear-gradient(135deg,#2b9997,#1a7573);color:#fff}.btn-edit:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2b999766}.btn-delete{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff}.btn-delete:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff6b6b66}.edit-form{display:flex;flex-direction:column;gap:1rem}.edit-form .form-group{gap:.3rem}.edit-form label{font-size:.85rem;font-weight:600;color:#666}.edit-form input,.edit-form textarea{padding:.6rem;font-size:.95rem}.edit-actions{display:flex;gap:.8rem}.btn-save,.btn-cancel{flex:1;padding:.7rem;border-radius:8px;border:none;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.9rem}.btn-save{background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff}.btn-save:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4caf5066}.btn-cancel{background:#e0e0e0;color:#666}@media (max-width: 768px){.manage-hangman-page{padding:1rem}.manage-header{flex-direction:column;align-items:stretch}.page-header h1{font-size:2rem}.form-row,.pairs-grid{grid-template-columns:1fr}}.profile-page{min-height:100vh;background:#ffefb5;padding:clamp(1rem,3vw,2rem)}.profile-container{max-width:1200px;margin:0 auto}.profile-header{background:#fff;border-radius:24px;padding:clamp(2rem,4vw,3rem);margin-bottom:clamp(1.5rem,3vw,2rem);box-shadow:0 10px 40px #0003;display:flex;align-items:center;gap:clamp(1.5rem,3vw,2rem)}.profile-avatar{width:clamp(80px,15vw,120px);height:clamp(80px,15vw,120px);border-radius:50%;background:linear-gradient(135deg,#2b9997,#1a7573);display:flex;align-items:center;justify-content:center;font-size:clamp(2rem,5vw,3rem);font-weight:700;color:#fff;box-shadow:0 8px 24px #2b99974d;flex-shrink:0}.profile-info h1{margin:0 0 .5rem;font-size:clamp(1.5rem,4vw,2.5rem);color:#333}.role-badge{display:inline-block;padding:clamp(.4rem,1vw,.5rem) clamp(1rem,2vw,1.2rem);border-radius:20px;font-weight:600;font-size:clamp(.8rem,2vw,.9rem)}.role-badge.docente{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.role-badge.estudiante{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.role-badge.admin{background:linear-gradient(135deg,#fa709a,#fee140);color:#333;font-weight:700}.profile-section{background:#fff;border-radius:24px;padding:clamp(1.5rem,3vw,2rem);margin-bottom:clamp(1.5rem,3vw,2rem);box-shadow:0 10px 40px #0003}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.profile-section h2{margin:0 0 clamp(1rem,3vw,1.5rem);color:#333;font-size:clamp(1.3rem,3.5vw,1.8rem)}.btn-edit{background:linear-gradient(135deg,#2b9997,#1a7573);color:#fff;border:none;padding:.7rem 1.5rem;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-edit:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2b999766}.edit-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:#333;font-size:.95rem}.form-group input{padding:.9rem;border:2px solid #ddd;border-radius:12px;font-size:1rem;transition:all .3s ease}.form-group input:focus{outline:none;border-color:#2b9997;box-shadow:0 0 0 3px #2b99971a}.form-group small{color:#666;font-size:.85rem}.form-actions{display:flex;gap:1rem;margin-top:1rem}.btn-cancel,.btn-save{flex:1;padding:1rem;border-radius:12px;font-weight:700;cursor:pointer;transition:all .3s ease;border:none;font-size:1rem}.btn-cancel{background:#f5f5f5;color:#666}.btn-cancel:hover{background:#e0e0e0}.btn-save{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.btn-save:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4caf5066}.message{padding:1rem;border-radius:12px;font-weight:600;text-align:center;margin-top:1rem}.message.success{background:#d4edda;color:#155724;border:2px solid #c3e6cb}.message.error{background:#f8d7da;color:#721c24;border:2px solid #f5c6cb}.profile-details{display:flex;flex-direction:column;gap:1rem}.detail-item{display:flex;justify-content:space-between;padding:1rem;background:#f8f9fa;border-radius:12px;border-left:4px solid #2b9997}.detail-label{font-weight:600;color:#666}.detail-value{color:#333;font-weight:500}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:clamp(1rem,2vw,1.5rem)}.stat-card{background:linear-gradient(135deg,#2b9997,#1a7573);padding:clamp(1.5rem,3vw,2rem);border-radius:16px;text-align:center;color:#fff;box-shadow:0 8px 24px #2b99974d;transition:all .3s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #2b999766}.stat-icon{font-size:clamp(2rem,4vw,2.5rem);margin-bottom:clamp(.4rem,1vw,.5rem)}.stat-value{font-size:clamp(2rem,4vw,2.5rem);font-weight:700;margin-bottom:clamp(.4rem,1vw,.5rem)}.stat-label{font-size:clamp(.8rem,2vw,.9rem);opacity:.9}.no-stats{text-align:center;padding:3rem;color:#666}.no-stats p{font-size:1.2rem;margin-bottom:1.5rem}.btn-start{background:linear-gradient(135deg,#2b9997,#1a7573);color:#fff;border:none;padding:1rem 2rem;border-radius:12px;font-weight:700;cursor:pointer;transition:all .3s ease;font-size:1rem}.btn-start:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2b999766}.scores-list{display:flex;flex-direction:column;gap:1rem}.score-card{background:#f8f9fa;border:2px solid #e9ecef;border-radius:16px;padding:1.5rem;transition:all .3s ease}.score-card:hover{border-color:#2b9997;box-shadow:0 4px 16px #2b999733;transform:translate(4px)}.score-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.score-title h3{margin:0 0 .3rem;color:#333;font-size:1.3rem}.score-topic{color:#666;font-size:.9rem}.score-badge{padding:.6rem 1.2rem;border-radius:12px;color:#fff;font-weight:700;font-size:1.2rem;box-shadow:0 4px 12px #0003}.score-details{display:flex;gap:2rem;flex-wrap:wrap}.score-detail{display:flex;align-items:center;gap:.5rem;color:#666;font-size:.95rem}.detail-icon{font-size:1.2rem}.btn-rankings{width:100%;padding:1.2rem;background:linear-gradient(135deg,#ff6b35,#ff4500);color:#fff;border:none;border-radius:16px;font-weight:700;font-size:1.1rem;cursor:pointer;transition:all .3s ease}.btn-rankings:hover{transform:translateY(-2px);box-shadow:0 8px 24px #ff6b3566}.teacher-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:clamp(.75rem,2vw,1rem)}.action-btn{padding:clamp(1rem,2vw,1.2rem);background:linear-gradient(135deg,#2b9997,#1a7573);color:#fff;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:clamp(.9rem,2vw,1rem)}.action-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2b999766}.action-btn.admin-btn{background:linear-gradient(135deg,#ffcd00,#ffb700);color:#333;font-weight:700}.action-btn.admin-btn:hover{box-shadow:0 6px 20px #ffcd0066}.stat-card.admin-stat{background:linear-gradient(135deg,#fff4e0,#ffe680);border:2px solid #ffcd00}.stat-card.admin-stat .stat-icon{font-size:2.5rem}.stat-detail{font-size:.85rem;color:#666;margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(0,0,0,.1)}.loading{text-align:center;padding:2rem;color:#666;font-size:1.1rem}@media (max-width: 768px){.profile-page{padding:1rem .5rem}.profile-header{flex-direction:column;text-align:center;padding:1.5rem;gap:1rem}.profile-info h1{font-size:1.75rem}.profile-avatar{width:100px;height:100px;font-size:2.5rem}.stats-grid{grid-template-columns:1fr;gap:1rem}.score-details{flex-direction:column;gap:.5rem}.form-actions{flex-direction:column}.teacher-actions{grid-template-columns:1fr}}@media (max-width: 480px){.profile-section{padding:1.25rem}.profile-section h2{font-size:1.3rem}.stat-card{padding:1.25rem}.action-btn{padding:.9rem;font-size:.9rem}}.rankings-page{min-height:100vh;background:linear-gradient(135deg,#fff0b3,#ffe680);padding:clamp(1rem,3vw,2rem)}.rankings-container{max-width:1000px;margin:0 auto}.rankings-header{text-align:center;color:#2b5858;margin-bottom:clamp(1.5rem,3vw,2rem)}.rankings-header h1{font-size:clamp(2rem,5vw,3rem);margin:0 0 .5rem;font-weight:700;color:#2b5858}.subtitle{font-size:clamp(1rem,2.5vw,1.2rem);color:#666;font-weight:500}.view-selector{display:flex;gap:clamp(.75rem,2vw,1rem);margin-bottom:clamp(1.5rem,3vw,2rem);background:#fff;padding:clamp(.4rem,1vw,.5rem);border-radius:16px;box-shadow:0 4px 12px #0000001a;flex-wrap:wrap}.view-btn{flex:1;min-width:120px;padding:clamp(.75rem,2vw,1rem);border:2px solid transparent;border-radius:12px;font-weight:700;font-size:clamp(.85rem,2vw,1rem);cursor:pointer;transition:all .3s ease;background:transparent;color:#666}.view-btn.active{background:linear-gradient(135deg,#2b9997,#1a7573);color:#fff;box-shadow:0 4px 12px #2b99974d}.view-btn:hover:not(.active){background:#f8f9fa;border-color:#2b9997;color:#2b9997}.ranking-section{background:#fff;border-radius:24px;padding:clamp(1.5rem,3vw,2rem);box-shadow:0 10px 40px #0003}.section-header{text-align:center;margin-bottom:clamp(1.5rem,3vw,2rem);padding-bottom:clamp(1rem,3vw,1.5rem);border-bottom:2px solid #f0f0f0}.section-header h2{margin:0 0 .5rem;color:#333;font-size:clamp(1.5rem,4vw,2rem)}.section-header p{margin:0;color:#666;font-size:clamp(.9rem,2vw,1rem)}.quiz-selector{margin-bottom:clamp(1.5rem,3vw,2rem);display:flex;flex-direction:column;gap:clamp(.6rem,2vw,.8rem)}.quiz-selector label{font-weight:600;color:#333;font-size:clamp(1rem,2.5vw,1.1rem)}.quiz-selector select{padding:clamp(.85rem,2vw,1rem);border:2px solid #ddd;border-radius:12px;font-size:clamp(.9rem,2vw,1rem);font-weight:600;color:#333;background:#fff;cursor:pointer;transition:all .3s ease}.quiz-selector select option{color:#333;background:#fff}.quiz-selector select:focus{outline:none;border-color:#2b9997;box-shadow:0 0 0 3px #2b99971a}.loading{text-align:center;padding:3rem;color:#666}.spinner{width:50px;height:50px;border:4px solid #f0f0f0;border-top-color:#2b9997;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}.no-data{text-align:center;padding:3rem;color:#666}.no-data p{margin:.5rem 0;font-size:1.2rem}.no-data .hint{font-size:1rem;color:#999}.ranking-list{display:flex;flex-direction:column;gap:clamp(.75rem,2vw,1rem)}.ranking-card{display:flex;align-items:center;gap:clamp(1rem,3vw,1.5rem);padding:clamp(1rem,3vw,1.5rem);background:#f8f9fa;border:2px solid #e9ecef;border-radius:16px;transition:all .3s ease}.ranking-card:hover{transform:translate(8px);box-shadow:0 4px 16px #0000001a}.ranking-card.gold{background:linear-gradient(135deg,gold,#ffed4e);border-color:gold;box-shadow:0 8px 24px #ffd7004d}.ranking-card.silver{background:linear-gradient(135deg,silver,#e8e8e8);border-color:silver;box-shadow:0 8px 24px #c0c0c04d}.ranking-card.bronze{background:linear-gradient(135deg,#cd7f32,#e6a85c);border-color:#cd7f32;box-shadow:0 8px 24px #cd7f324d}.ranking-position{flex-shrink:0}.medal{font-size:clamp(2rem,4vw,2.5rem);font-weight:700;display:inline-block;min-width:clamp(50px,10vw,60px);text-align:center;flex-shrink:0}.ranking-card.gold .medal,.ranking-card.silver .medal,.ranking-card.bronze .medal{text-shadow:2px 2px 4px rgba(0,0,0,.2)}.ranking-info{flex:1}.ranking-info h3{margin:0 0 .5rem;color:#333;font-size:clamp(1.1rem,3vw,1.4rem);word-break:break-word}.ranking-card.gold h3,.ranking-card.silver h3,.ranking-card.bronze h3{color:#000;text-shadow:1px 1px 2px rgba(255,255,255,.5)}.ranking-stats{display:flex;gap:clamp(1rem,3vw,1.5rem);flex-wrap:wrap}.stat{display:flex;align-items:center;gap:.3rem;color:#666;font-size:clamp(.85rem,2vw,.95rem);font-weight:500}.ranking-card.gold .stat,.ranking-card.silver .stat,.ranking-card.bronze .stat{color:#333;font-weight:600}.stat-icon{font-size:1.1rem}.ranking-score{text-align:center;flex-shrink:0}.score-value{font-size:clamp(2rem,4vw,2.5rem);font-weight:700;color:#2b9997;line-height:1}.ranking-card.gold .score-value,.ranking-card.silver .score-value,.ranking-card.bronze .score-value{color:#000;text-shadow:1px 1px 2px rgba(255,255,255,.5)}.score-label{font-size:clamp(.75rem,2vw,.85rem);color:#666;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.ranking-card.gold .score-label,.ranking-card.silver .score-label,.ranking-card.bronze .score-label{color:#333}@media (max-width: 768px){.rankings-page{padding:1rem .5rem}.rankings-header h1{font-size:1.75rem}.view-selector{flex-direction:column;gap:.5rem}.view-btn{min-width:100%}.ranking-card{flex-direction:column;text-align:center;padding:1.25rem}.ranking-stats{justify-content:center;flex-direction:column;gap:.5rem}.medal,.score-value{font-size:2rem}}@media (max-width: 480px){.ranking-section{padding:1.25rem}.section-header h2{font-size:1.4rem}.ranking-info h3{font-size:1.1rem}.medal{font-size:1.75rem;min-width:45px}}.dashboard-page{padding:clamp(1rem,3vw,2rem);max-width:1200px;margin:0 auto}.dashboard-header{margin-bottom:clamp(1.5rem,3vw,2rem);text-align:center}.dashboard-header h1{color:#2b9997;margin-bottom:.5rem;font-size:clamp(1.75rem,4vw,2.5rem)}.dashboard-header p{font-size:clamp(.9rem,2vw,1rem);color:#555}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:clamp(1rem,3vw,2rem)}.dashboard-card{background:#fff;border-radius:12px;padding:clamp(1.5rem,3vw,2rem);text-align:center;box-shadow:0 4px 6px #0000001a;cursor:pointer;transition:transform .2s,box-shadow .2s;border:2px solid #eee}.dashboard-card:hover{transform:translateY(-5px);box-shadow:0 8px 15px #0000001a;border-color:#2b9997}.card-icon{font-size:clamp(2.5rem,5vw,3rem);margin-bottom:clamp(.75rem,2vw,1rem)}.dashboard-card h3{margin-bottom:.5rem;color:#333;font-size:clamp(1.1rem,3vw,1.3rem)}.dashboard-card p{color:#666;font-size:clamp(.85rem,2vw,.9rem)}@media (max-width: 768px){.dashboard-page{padding:1rem .5rem}.dashboard-grid{grid-template-columns:1fr;gap:1rem}.dashboard-card{padding:1.5rem}}@media (max-width: 480px){.dashboard-card{padding:1.25rem}.card-icon{font-size:2.25rem}}.user-management-page{padding:clamp(1rem,3vw,2rem);max-width:1200px;margin:0 auto}.header-actions{display:flex;justify-content:space-between;align-items:center;margin-top:clamp(.75rem,2vw,1rem);flex-wrap:wrap;gap:clamp(.75rem,2vw,1rem)}.header h1{color:#2b9997;font-size:clamp(1.75rem,4vw,2.5rem)}.users-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow-x:auto;-webkit-overflow-scrolling:touch}.users-table{width:100%;border-collapse:collapse}.users-table th,.users-table td{padding:clamp(.75rem,2vw,1rem);text-align:left;border-bottom:1px solid #eee;font-size:clamp(.85rem,2vw,1rem);white-space:nowrap}.users-table th{background-color:#f8f9fa;font-weight:600;color:#444;position:sticky;top:0;z-index:10}.role-badge{padding:clamp(.2rem,1vw,.25rem) clamp(.4rem,1.5vw,.5rem);border-radius:12px;font-size:clamp(.75rem,2vw,.85rem);white-space:nowrap}.role-badge.docente{background-color:#e3f2fd;color:#1976d2}.role-badge.estudiante{background-color:#e8f5e9;color:#2e7d32}.btn-approve{background-color:#4caf50;color:#fff;border:none;padding:clamp(.4rem,1.5vw,.5rem) clamp(.75rem,2vw,1rem);border-radius:8px;cursor:pointer;font-size:clamp(.8rem,2vw,.9rem);transition:all .3s ease}.btn-reject{background-color:#f44336;color:#fff;border:none;padding:clamp(.4rem,1.5vw,.5rem) clamp(.75rem,2vw,1rem);border-radius:8px;cursor:pointer;font-size:clamp(.8rem,2vw,.9rem);transition:all .3s ease}.btn-approve:hover{background-color:#43a047}.btn-reject:hover{background-color:#e53935}.empty-state{text-align:center;padding:3rem;color:#666;background:#f9f9f9;border-radius:8px}.btn-create-user{background:linear-gradient(135deg,#2b9997,#1a7573);color:#fff;padding:clamp(.7rem,2vw,.8rem) clamp(1.25rem,3vw,1.5rem);border-radius:12px;border:none;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #2b99974d;font-size:clamp(.9rem,2vw,1rem);white-space:nowrap}.btn-create-user:hover{transform:translateY(-2px);box-shadow:0 6px 16px #2b999766}.user-name-cell{font-weight:600;color:#2b5858}.status-badge{padding:clamp(.3rem,1vw,.4rem) clamp(.6rem,2vw,.8rem);border-radius:12px;font-size:clamp(.75rem,2vw,.85rem);font-weight:600;display:inline-block;white-space:nowrap}.status-badge.active{background:#e8f5e9;color:#2e7d32}.status-badge.pending{background:#fff3e0;color:#e65100}.status-badge.rejected{background:#ffebee;color:#c62828}.btn-action.btn-edit{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;padding:clamp(1.5rem,4vw,2.5rem);border-radius:24px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-content h3{margin:0 0 clamp(1rem,3vw,1.5rem);font-size:clamp(1.4rem,4vw,1.8rem);color:#2b5858}.form-group{margin-bottom:clamp(1rem,3vw,1.5rem)}.form-group label{display:block;font-weight:600;margin-bottom:.5rem;color:#2b5858;font-size:clamp(.9rem,2vw,1rem)}.form-group input,.form-group select{width:100%;padding:clamp(.7rem,2vw,.8rem);border:2px solid #e0e0e0;border-radius:12px;font-size:clamp(.9rem,2vw,1rem);font-family:inherit;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:#2b9997}.modal-buttons{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.btn-cancel,.btn-confirm{padding:.7rem 1.5rem;border-radius:12px;border:none;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem}.btn-cancel{background:#e0e0e0;color:#333}.btn-cancel:hover{background:#d0d0d0}.btn-confirm{background:linear-gradient(135deg,#2b9997,#1a7573);color:#fff;box-shadow:0 4px 12px #2b99974d}.btn-confirm:hover{transform:translateY(-2px);box-shadow:0 6px 16px #2b999766}.view-selector{display:flex;gap:clamp(.75rem,2vw,1rem);flex-wrap:wrap}.view-selector button{padding:clamp(.5rem,1.5vw,.6rem) clamp(1rem,2.5vw,1.2rem);border:2px solid #e0e0e0;background:#fff;border-radius:12px;cursor:pointer;font-weight:600;transition:all .3s ease;font-size:clamp(.85rem,2vw,1rem);white-space:nowrap}@media (max-width: 768px){.user-management-page{padding:1rem .5rem}.header-actions{flex-direction:column;align-items:stretch}.view-selector{justify-content:center}.btn-create-user{width:100%}.users-table th,.users-table td{padding:.6rem .5rem;font-size:.85rem}.actions-cell{flex-direction:column;gap:.4rem}.btn-action,.btn-approve,.btn-reject{width:100%;text-align:center}}@media (max-width: 480px){.users-table th,.users-table td{padding:.5rem .3rem;font-size:.8rem}.modal-content{padding:1.5rem 1rem}.user-name-cell{max-width:120px;overflow:hidden;text-overflow:ellipsis}}.content-management-page{padding:clamp(1rem,3vw,2rem);max-width:1200px;margin:0 auto}.view-selector{display:flex;gap:clamp(.75rem,2vw,1rem);flex-wrap:wrap;justify-content:center;margin-top:clamp(.75rem,2vw,1rem)}.view-selector button{padding:clamp(.5rem,1.5vw,.6rem) clamp(.85rem,2vw,1rem);border:2px solid #e0e0e0;background:#fff;border-radius:12px;cursor:pointer;font-weight:600;font-size:clamp(.85rem,2vw,1rem);transition:all .3s ease;white-space:nowrap}.view-selector button.active{background-color:#2b9997;color:#fff;border-color:#2b9997}.view-selector button:hover:not(.active){border-color:#2b9997;color:#2b9997}.back-button{background:#fff;border:2px solid #2b9997;color:#2b9997;padding:clamp(.6rem,1.5vw,.7rem) clamp(1rem,3vw,1.5rem);border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:clamp(1.5rem,3vw,2rem);font-size:clamp(.9rem,2vw,1rem)}.back-button:hover{background:#2b9997;color:#fff;transform:translate(-4px)}.header{margin:clamp(.75rem,2vw,1rem) 0 clamp(1.5rem,3vw,2rem);text-align:center}.header h1{color:#2b9997;font-size:clamp(1.75rem,4vw,2.5rem);margin-bottom:clamp(1rem,2vw,1.5rem)}.content-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:clamp(1.5rem,3vw,2rem)}.content-table{width:100%;border-collapse:collapse}.content-table th,.content-table td{padding:clamp(.75rem,2vw,1rem);text-align:left;border-bottom:1px solid #eee;font-size:clamp(.85rem,2vw,1rem);white-space:nowrap}.content-table th{background-color:#f8f9fa;font-weight:600;color:#444;position:sticky;top:0;z-index:10}.status-selector{padding:clamp(.4rem,1.5vw,.5rem) clamp(.6rem,2vw,.8rem);border:2px solid #e0e0e0;border-radius:8px;background:#fff;font-size:clamp(.8rem,2vw,.9rem);font-weight:600;cursor:pointer;transition:all .3s ease;min-width:min(150px,100%)}.status-selector:hover{border-color:#2b9997;box-shadow:0 2px 8px #2b999733}.status-selector:focus{outline:none;border-color:#2b9997;box-shadow:0 0 0 3px #2b99971a}.badge{padding:clamp(.2rem,1vw,.25rem) clamp(.4rem,1.5vw,.5rem);border-radius:8px;font-size:clamp(.75rem,2vw,.8rem);white-space:nowrap}.badge.active{background-color:#e8f5e9;color:#2e7d32}.badge.deleted{background-color:#ffebee;color:#c62828}.badge.pending{background-color:#fff3e0;color:#e65100}.btn-restore{background-color:#4caf50;color:#fff;border:none;padding:clamp(.4rem,1.5vw,.5rem) clamp(.75rem,2vw,1rem);border-radius:8px;cursor:pointer;font-size:clamp(.8rem,2vw,.9rem);transition:all .3s ease}.btn-delete{background-color:#f44336;color:#fff;border:none;padding:clamp(.4rem,1.5vw,.5rem) clamp(.75rem,2vw,1rem);border-radius:8px;cursor:pointer;font-size:clamp(.8rem,2vw,.9rem);transition:all .3s ease}.filter-section{background:#fff;padding:clamp(1rem,3vw,1.5rem);border-radius:12px;margin-bottom:clamp(1.5rem,3vw,2rem);box-shadow:0 2px 8px #0000000d;display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.filter-section label{font-weight:600;color:#2b5858;font-size:clamp(.9rem,2vw,1rem)}.filter-section select{padding:clamp(.5rem,1.5vw,.6rem) clamp(.85rem,2vw,1rem);border:2px solid #e0e0e0;border-radius:8px;font-size:clamp(.9rem,2vw,1rem);cursor:pointer;transition:border-color .3s;flex:1;min-width:min(200px,100%)}.filter-section select:focus{outline:none;border-color:#2b9997}.edit-request-indicator{margin-left:.5rem;font-size:1.2rem;cursor:help}.topic-name-cell{font-weight:600;color:#2b5858}.topic-link{color:#2b9997;text-decoration:none;font-weight:600;transition:all .3s ease;cursor:pointer}.topic-link:hover{color:#1a7573;text-decoration:underline}.actions-cell{display:flex;gap:clamp(.4rem,1vw,.5rem);flex-wrap:wrap}.btn-action{padding:clamp(.4rem,1.5vw,.5rem) clamp(.75rem,2vw,1rem);border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:clamp(.8rem,2vw,.9rem);white-space:nowrap}.btn-action.btn-approve{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.btn-action.btn-reject{background:linear-gradient(135deg,#f44336,#d32f2f);color:#fff}.btn-action.btn-view{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff}.btn-action.btn-restore{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff}.btn-action.btn-delete{background:linear-gradient(135deg,#757575,#616161);color:#fff}.btn-action:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.empty-state{text-align:center;padding:clamp(2rem,4vw,3rem);background:#fff;border-radius:12px;color:#666;font-size:clamp(1rem,2.5vw,1.1rem)}.loading-text{text-align:center;padding:clamp(1.5rem,3vw,2rem);font-size:clamp(1rem,2.5vw,1.1rem);color:#666}@media (max-width: 768px){.content-management-page{padding:1rem .5rem}.filter-section{flex-direction:column;align-items:stretch}.filter-section select{width:100%}.view-selector{gap:.5rem}.content-table th,.content-table td{padding:.6rem .5rem;font-size:.85rem}.actions-cell{flex-direction:column;gap:.4rem}.btn-action{width:100%;text-align:center}}@media (max-width: 480px){.content-table th,.content-table td{padding:.5rem .3rem;font-size:.8rem}.topic-name-cell{max-width:120px;overflow:hidden;text-overflow:ellipsis}.view-selector button{font-size:.8rem;padding:.4rem .7rem}}.legal-page{min-height:100vh;background:#ffefb5;padding:2rem 1rem}.legal-container{max-width:900px;margin:0 auto;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;padding:3rem;animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.back-button{background:#2b9997;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .3s ease;margin-bottom:2rem;font-weight:600}.back-button:hover{background:#1a7573;transform:translate(-5px)}.legal-header{text-align:center;margin-bottom:3rem;padding-bottom:2rem;border-bottom:3px solid #2b9997}.legal-header h1{font-size:2.5rem;color:#2d3748;margin-bottom:.5rem;font-weight:700}.last-updated{color:#718096;font-size:.95rem;font-style:italic}.legal-content{color:#2d3748;line-height:1.8}.legal-content section{margin-bottom:2.5rem}.legal-content h2{color:#2b9997;font-size:1.75rem;margin-bottom:1rem;font-weight:600;padding-bottom:.5rem;border-bottom:2px solid #e2e8f0}.legal-content h3{color:#ff6b35;font-size:1.3rem;margin-top:1.5rem;margin-bottom:.75rem;font-weight:600}.legal-content p{margin-bottom:1rem;font-size:1.05rem}.legal-content ul{margin-left:1.5rem;margin-bottom:1rem}.legal-content li{margin-bottom:.75rem;font-size:1.05rem;line-height:1.6}.legal-content li strong{color:#2b9997;font-weight:600}.cookie-note{background:#fef3c7;border-left:4px solid #f59e0b;padding:1rem;margin:1rem 0;border-radius:4px;font-size:1rem}.cookie-note strong{color:#d97706}.browser-instructions{background:#f7fafc;border-radius:8px;padding:1.5rem;margin-top:1rem}.browser-item{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e2e8f0}.browser-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.browser-item strong{color:#2b9997;font-size:1.1rem;display:block;margin-bottom:.5rem}.browser-item p{color:#4a5568;margin:0;font-size:.95rem}@media (max-width: 768px){.legal-container{padding:2rem 1.5rem}.legal-header h1{font-size:2rem}.legal-content h2{font-size:1.5rem}.legal-content h3{font-size:1.2rem}.legal-content p,.legal-content li{font-size:1rem}}@media (max-width: 480px){.legal-page{padding:1rem .5rem}.legal-container{padding:1.5rem 1rem;border-radius:12px}.legal-header h1{font-size:1.75rem}.back-button{padding:.6rem 1.2rem;font-size:.9rem}}.app-footer{background:linear-gradient(135deg,#2d3748,#1a202c);color:#fff;padding:clamp(2rem,4vw,3rem) clamp(1rem,3vw,2rem) clamp(.75rem,2vw,1rem);margin-top:auto}.footer-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:clamp(1.5rem,3vw,2rem);padding-bottom:clamp(1.5rem,3vw,2rem);border-bottom:1px solid rgba(255,255,255,.1)}.footer-section h4{color:#2b9997;font-size:clamp(1rem,2.5vw,1.2rem);margin-bottom:clamp(.75rem,2vw,1rem);font-weight:600}.footer-section p{color:#cbd5e0;font-size:clamp(.85rem,2vw,.95rem);line-height:1.6}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin-bottom:.75rem}.footer-links a{color:#cbd5e0;text-decoration:none;font-size:clamp(.85rem,2vw,.95rem);transition:all .3s ease;display:inline-block}.footer-links a:hover{color:#ffcd00;transform:translate(5px)}.footer-bottom{max-width:1200px;margin:0 auto;padding-top:clamp(1rem,2.5vw,1.5rem);text-align:center}.footer-bottom p{color:#a0aec0;font-size:clamp(.8rem,2vw,.9rem);margin:0;line-height:1.6}.footer-bottom .license-link{color:#2b9997;text-decoration:underline;transition:color .3s ease}.footer-bottom .license-link:hover{color:#ffcd00}@media (max-width: 768px){.app-footer{padding:2rem 1rem 1rem}.footer-content{grid-template-columns:1fr;gap:1.5rem}.footer-section{text-align:center}.footer-links{display:flex;flex-direction:column;align-items:center}.footer-links a:hover{transform:none}}@media (max-width: 480px){.app-footer{padding:1.5rem .75rem .75rem}.footer-section h4{font-size:1rem}.footer-section p,.footer-links a{font-size:.85rem}.footer-bottom p{font-size:.8rem}.footer-links li{margin-bottom:.5rem}}.admin-layout{min-height:100vh;background:linear-gradient(135deg,#fff0b3,#ffe680);padding-bottom:2rem}
