:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.topic-card{background:#fff;border-radius:1rem;box-shadow:0 4px 12px #00000014;width:min(600px,90vw);min-width:min(600px,90vw);max-width:min(600px,90vw);margin:0 auto;padding:clamp(1rem,3vw,2rem);position:relative;overflow:visible;opacity:0;transform:scale(.5) rotateY(-8deg) rotateX(5deg) translateY(30px);transform-origin:center;backface-visibility:hidden;animation:scaleIn .8s cubic-bezier(.175,.885,.32,1.275) forwards;will-change:transform,opacity,filter;box-sizing:border-box}.topic-card.exiting{animation:scaleOut .7s cubic-bezier(.6,-.28,.735,.045) forwards!important;overflow:hidden;pointer-events:none}.topic-card.exiting .animate-api-key-icon,.topic-card.exiting .animate-books,.topic-card.exiting .animate-title,.topic-card.exiting .animate-leaderboard,.topic-card.exiting .animate-rest{animation:none!important;opacity:1;transform:none}@keyframes scaleIn{0%{opacity:0;transform:scale(.5) rotateY(-8deg) rotateX(5deg) translateY(30px);filter:blur(6px)}70%{opacity:.9;transform:scale(1.01) rotateY(-2deg) rotateX(1deg) translateY(-2px);filter:blur(1px)}to{opacity:1;transform:scale(1) rotateY(0) rotateX(0) translateY(0);filter:blur(0px)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1) rotateY(0) rotateX(0) translateY(0);filter:blur(0px)}60%{opacity:.7;transform:scale(1.01) rotateY(4deg) rotateX(-2deg) translateY(-3px);filter:blur(.5px)}to{opacity:0;transform:scale(.6) rotateY(12deg) rotateX(-8deg) translateY(25px);filter:blur(4px)}}.topic-content{display:flex;flex-direction:column;gap:1.5rem}.topic-header{text-align:center;margin-bottom:2rem}.topic-icon{width:80px;height:80px;color:var(--main-color, #5050AA);margin-bottom:.5rem;transition:color .3s ease}.topic-header h1{font-size:1.5rem;color:var(--main-color, #5050AA);margin:0;transition:color .3s ease}.input-form,.input-sections{display:flex;flex-direction:column;gap:1.5rem}.input-section{display:flex;flex-direction:column;gap:.5rem}.input-section label{font-size:.875rem;font-weight:500;color:#374151;display:flex;justify-content:space-between;align-items:center}.api-key-link{font-size:.75rem;color:var(--main-color, #5050AA);text-decoration:none;transition:color .3s ease,text-decoration .3s ease}.api-key-link:hover{text-decoration:underline;color:var(--main-color-hover, #3a3a8c)}.input-container{position:relative;margin-bottom:.25rem;display:flex;align-items:stretch;border-radius:.5rem;gap:10px;width:100%;flex-wrap:wrap}.topic-input{flex:1;border-radius:20px;padding:.75rem 1rem;border:none;font-size:.875rem;transition:all .2s;background:#fff;color:#000;min-width:0;outline:none;border:2px solid #D1D5DB;box-sizing:border-box;min-width:200px}.settings-modal-body .model-buttons-inline{display:grid;grid-template-columns:repeat(3,1fr);gap:.375rem;width:200px;min-width:0;max-width:100%}.settings-modal-body .model-switcher{flex:0 0 200px;width:200px;min-width:0;max-width:100%;display:flex;flex-direction:column;align-items:center;gap:.375rem;overflow:visible;flex-shrink:0}.settings-modal-body .model-button-small{min-width:0;min-height:48px;padding:.65rem .25rem;border:2px solid #D1D5DB;border-radius:15px;background-color:#fff;color:#1f2937;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.25,.46,.45,.94);text-transform:lowercase;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.selected-model-details{display:flex;align-items:center;justify-content:center;width:100%;min-height:1rem;color:#4b5563;font-size:.7rem;font-weight:500;line-height:1.2;white-space:nowrap}.model-button-small:hover:not(:disabled):not(.active){background-color:#f3f4f6;border-color:#9ca3af}.model-button-small{transition:background-color .3s ease,color .3s ease,border-color .3s ease}.model-button-small.active{background-color:var(--main-color, #5050AA);color:#fff;border-color:var(--main-color, #5050AA)}.model-button-small:disabled{cursor:not-allowed;opacity:.7}.settings-icon-button{padding:.75rem;border:2px solid #D1D5DB;border-radius:20px;background-color:#fff;color:var(--main-color, #5050AA);cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);display:flex;align-items:center;justify-content:center;flex-shrink:0}.settings-icon-button svg{transition:transform .3s cubic-bezier(.25,.46,.45,.94)}.settings-icon-button:hover:not(:disabled):not(.open){background-color:#f3f4f6;border-color:var(--main-color, #5050AA);transform:rotate(-5deg)}.settings-icon-button.open{transform:rotate(45deg);background-color:#f3f4f6;border-color:var(--main-color, #5050AA)}.settings-icon-button.open svg{animation:spinGear .5s cubic-bezier(.25,.46,.45,.94)}.settings-icon-button:active:not(:disabled){transform:scale(.95)}.settings-icon-button.open:active:not(:disabled){transform:scale(.95) rotate(25deg)}.settings-icon-button:disabled{cursor:not-allowed;opacity:.7}@keyframes spinGear{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.color-swatch-container{background-color:#0000000d;border-radius:8px;padding:6px 8px;width:200px;box-sizing:border-box;display:flex;justify-content:flex-end}.color-swatches{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;width:100%;gap:.25rem}.color-swatch{width:22px;height:22px;border-radius:4px;border:1px solid #e5e7eb;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;position:relative;overflow:hidden}.color-swatch:disabled{opacity:.5;cursor:not-allowed}.color-swatch.active{border-color:transparent;box-shadow:none}.color-swatch svg{width:12px;height:12px;opacity:0;transition:opacity .1s ease}.color-swatch.active svg{opacity:1}.color-swatch{border-color:transparent!important}.color-picker-container{display:flex;align-items:center;gap:10px;margin-top:8px}.color-picker{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:40px;height:40px;background-color:transparent;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;padding:0;overflow:hidden}.color-picker::-webkit-color-swatch{border:none;border-radius:6px;padding:0;margin:0}.color-picker::-webkit-color-swatch-wrapper{padding:0}.color-value{font-size:.875rem;color:#6b7280;font-family:monospace;color:#b40d0d}.settings-icon-button{transition:transform .2s cubic-bezier(.4,0,.2,1),background-color .2s ease}.settings-icon-button.open{transform:rotate(60deg);background-color:#5050aa1a}.menu-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;max-width:100%;box-sizing:border-box}.menu-label{font-size:.8125rem;color:#374151;font-weight:500;text-transform:lowercase;white-space:nowrap}.language-select{padding:.5rem 2.5rem .5rem .875rem;border:2px solid #D1D5DB;border-radius:15px;background-color:#fff;color:#1f2937;font-size:.8125rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:200px;flex-shrink:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231F2937' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:.8em;transition:all .2s cubic-bezier(.25,.46,.45,.94);box-sizing:border-box}.language-select:hover:not(:disabled){border-color:#9ca3af}.language-select:focus{outline:none;border-color:var(--main-color, #5050AA);box-shadow:0 0 0 3px var(--main-color-10, rgba(80, 80, 170, .1))}.language-select:disabled{cursor:not-allowed;opacity:.7;background-color:#f3f4f6}.toggle-buttons{display:flex;gap:.5rem;width:200px;flex-shrink:0}.toggle-button{flex:1;padding:.5rem .875rem;border:2px solid #D1D5DB;border-radius:15px;background-color:#fff;color:#1f2937;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.25,.46,.45,.94);text-transform:lowercase}.toggle-button:hover:not(:disabled):not(.active){background-color:#f3f4f6;border-color:#9ca3af}.toggle-button.active{background-color:var(--main-color, #5050AA);color:#fff;border-color:var(--main-color, #5050AA)}.toggle-button:disabled{cursor:not-allowed;opacity:.7}.tts-menu-row.unavailable{opacity:.4}.tts-menu-row.unavailable .toggle-buttons{pointer-events:none}.api-key-icon{position:absolute;top:1rem;left:1rem;cursor:pointer;padding:.5rem .75rem;border-radius:20px;background-color:var(--main-color, #5050AA);color:#fff;font-size:.875rem;font-weight:500;border:none;transition:all .2s ease;z-index:10;display:flex;align-items:center;gap:.25rem}.api-key-icon:hover{filter:brightness(.9)}.animate-api-key-icon{animation:fadeInScale .3s ease-out}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.api-key-hidden{animation:slideOut .3s ease-out forwards;overflow:hidden}.api-key-visible{animation:slideIn .3s ease-out forwards}@keyframes slideOut{0%{opacity:1;max-height:200px;transform:translateY(0)}to{opacity:0;max-height:0;transform:translateY(-10px);margin:0;padding:0;overflow:hidden}}@keyframes slideIn{0%{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:200px;transform:translateY(0)}}.topic-input:focus{transition:all .2s cubic-bezier(.25,.46,.45,.94);border-color:var(--main-color, #5050AA);box-shadow:0 0 0 3px #007aff26;outline:none}.topic-input:disabled{background-color:#f3f4f6;cursor:not-allowed}.start-button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;background-color:var(--main-color, #5050AA);color:#fff;border:none;border-radius:20px;font-weight:500;cursor:pointer;transition:all .3s ease,background-color .3s ease,transform .1s ease-out}.start-button:hover:not(:disabled){filter:brightness(.9);background-color:var(--main-color, #5050AA)}.start-button:active{transform:scale(.98);transition:transform .1s ease-out}.start-button:disabled{opacity:.7;cursor:not-allowed}.start-button.disabled{background-color:#9ca3af}.button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:20px;font-weight:500;cursor:pointer;transition:all .2s;font-size:1rem;line-height:1}.button-outline{background-color:transparent;border:2px solid #d0cdcd;color:#4b5563}.button-outline:hover:not(:disabled){background-color:#b5b2f31a;border-color:var(--main-color, #5050AA);color:var(--main-color, #5050AA)}.button-outline:disabled{opacity:.7;cursor:not-allowed}.button-icon{width:20px;height:20px}.spinner{width:20px;height:20px;border:2px solid #ffffff;border-radius:50%;border-top-color:transparent;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message{color:#dc2626;font-size:.875rem;margin:.25rem 0 0}.encrypted-sign{display:flex;align-items:center;gap:.4rem;color:#6b7280;font-size:.75rem;margin:.1rem 0 0 .25rem;padding:0;opacity:.8;line-height:1.2;position:relative}.encrypted-sign svg{flex-shrink:0;color:#10b981}.tts-more-settings{display:flex;flex-direction:column;gap:.75rem;width:100%;box-sizing:border-box}.more-settings-button{display:inline-flex;align-items:center;justify-content:space-between;gap:.5rem;align-self:flex-start;padding:.4rem .875rem;border:2px solid #D1D5DB;border-radius:15px;background-color:#fff;color:#1f2937;font-size:.8125rem;font-weight:500;text-transform:lowercase;cursor:pointer;transition:all .2s cubic-bezier(.25,.46,.45,.94)}.more-settings-button:hover:not(:disabled){background-color:#f3f4f6;border-color:#9ca3af}.more-settings-button.open{border-color:var(--main-color, #5050AA);color:var(--main-color, #5050AA)}.more-settings-caret{transition:transform .25s cubic-bezier(.25,.46,.45,.94)}.more-settings-button.open .more-settings-caret{transform:rotate(90deg)}.more-settings-button:disabled{cursor:not-allowed;opacity:.7}.tts-provider-panel{display:flex;flex-direction:column;gap:.75rem;width:100%;padding:.75rem;background-color:#00000008;border-radius:12px;box-sizing:border-box;animation:slideIn .3s ease-out forwards}.tts-provider-row{align-items:center}.tts-elevenlabs-panel{display:flex;flex-direction:column;gap:.4rem;width:100%;box-sizing:border-box}.elevenlabs-key-label{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%}.elevenlabs-key-input{width:100%}.elevenlabs-hint{display:flex;align-items:center;gap:.4rem;color:#6b7280;font-size:.7rem;margin:.1rem 0 0 .25rem;padding:0;opacity:.8;line-height:1.2;position:relative}.app-toast{position:fixed;left:50%;bottom:1.5rem;transform:translate(-50%);z-index:1200;max-width:min(90vw,480px);padding:.75rem 1.25rem;border-radius:.75rem;background:#1f2937;color:#fff;font-size:.875rem;font-weight:500;box-shadow:0 12px 32px #0f172a47;animation:toastIn .3s ease-out;text-align:center}.app-toast-info{background:var(--main-color, #5050AA)}.app-toast-error{background:#dc2626}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.info-tooltip{position:relative;display:inline-flex;cursor:help}.info-tooltip svg{color:#6b7280;transition:color .2s ease}.info-tooltip:hover svg{color:#4b5563}.tooltip-text{visibility:hidden;width:200px;background-color:#1f2937;color:#fff;text-align:center;border-radius:6px;padding:8px 12px;position:absolute;z-index:1;bottom:125%;left:50%;transform:translate(-50%);opacity:0;transition:opacity .2s ease;font-size:.75rem;line-height:1.4;box-shadow:0 4px 12px #00000026}.tooltip-text:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#1F2937 transparent transparent transparent}.info-tooltip:hover .tooltip-text{visibility:visible;opacity:1}.error-message-top{background:#fef2f2;border:1px solid #FECACA;border-radius:.5rem;padding:.75rem 1rem;margin-bottom:1rem;color:#dc2626;font-size:.875rem;display:flex;align-items:center;gap:.5rem;animation:slideInError .3s ease-out}.error-message-top a{color:#dc2626;text-decoration:underline;font-weight:500}.error-message-top a:hover{color:#b91c1c}@keyframes slideInError{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1.5rem;background:#0f172a6b;backdrop-filter:blur(7px) saturate(115%);-webkit-backdrop-filter:blur(7px) saturate(115%);--modal-enter-y: 22px;--modal-exit-y: 14px}@media (max-width: 768px){.modal-overlay{align-items:flex-end;padding:.75rem;--modal-enter-y: 46px;--modal-exit-y: 30px}}.modal-overlay.open,.settings-modal-overlay.open{animation:modalBackdropIn .32s ease-out both}.modal-overlay.closing,.settings-modal-overlay.closing{pointer-events:none;animation:modalBackdropOut .3s ease-in both}.modal-content{background:#fff;border-radius:24px;width:100%;max-width:600px;max-height:56vh;overflow:hidden;border:1px solid rgba(255,255,255,.8);box-shadow:0 28px 80px #0f172a52;transform-origin:center;display:flex;flex-direction:column}.modal-overlay.open .modal-content,.settings-modal-overlay.open .settings-modal{animation:modalPanelIn .42s cubic-bezier(.05,.75,.18,1) both}.modal-overlay.closing .modal-content,.settings-modal-overlay.closing .settings-modal{animation:modalPanelOut .3s linear both}.modal-header{padding:1rem;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;background:#fff;border-radius:24px 24px 0 0;position:sticky;top:0;z-index:1;flex-shrink:0}.modal-title{display:flex;align-items:center;gap:.5rem}.modal-title h2{font-size:1.25rem;font-weight:600;margin:0;color:#1f2937}.leaderboard-icon{color:#f59e0b}.modal-close{background:none;border:none;color:#6b7280;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;border-radius:.25rem}.modal-close:hover{color:#1f2937;background-color:#f3f4f6}.settings-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#0f172a6b;backdrop-filter:blur(7px) saturate(115%);-webkit-backdrop-filter:blur(7px) saturate(115%);--modal-enter-y: 22px;--modal-exit-y: 14px}.settings-modal{width:min(100%,520px);max-height:min(680px,88vh);overflow:hidden;display:flex;flex-direction:column;background:#fff;border:1px solid rgba(255,255,255,.8);border-radius:24px;box-shadow:0 28px 80px #0f172a52;transform-origin:center}.settings-modal-icon{color:var(--main-color, #5050AA)}.settings-modal-body{display:flex;flex-direction:column;gap:1rem;padding:1.25rem;overflow-y:auto}@media (prefers-reduced-motion: reduce){.modal-overlay,.modal-content,.settings-modal-overlay,.settings-modal,.animate-modal-list,.animate-leaderboard-item{animation-duration:.01ms!important;animation-delay:0ms!important}}@keyframes modalBackdropIn{0%{opacity:0;backdrop-filter:blur(0) saturate(100%);-webkit-backdrop-filter:blur(0) saturate(100%)}to{opacity:1;backdrop-filter:blur(7px) saturate(115%);-webkit-backdrop-filter:blur(7px) saturate(115%)}}@keyframes modalBackdropOut{0%{opacity:1;backdrop-filter:blur(7px) saturate(115%);-webkit-backdrop-filter:blur(7px) saturate(115%)}to{opacity:0;backdrop-filter:blur(0) saturate(100%);-webkit-backdrop-filter:blur(0) saturate(100%)}}@keyframes modalPanelIn{0%{opacity:0;transform:translateY(var(--modal-enter-y)) scale(.95);filter:blur(3px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes modalPanelOut{0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0);animation-timing-function:cubic-bezier(.2,0,.8,.2)}28%{opacity:1;transform:translateY(-4px) scale(1.004);filter:blur(0);animation-timing-function:cubic-bezier(.55,0,1,.45)}to{opacity:0;transform:translateY(var(--modal-exit-y)) scale(.97);filter:blur(3px)}}.leaderboard-list{padding:1rem;overflow-y:auto;flex-grow:1;flex-shrink:1;min-height:0;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.leaderboard-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:.75rem 1rem 0}.leaderboard-tab{border:1px solid #e5e7eb;background:#f9fafb;color:#4b5563;border-radius:999px;min-height:40px;font-weight:700;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.leaderboard-tab:hover{background:#5050aa1a;background:color-mix(in srgb,var(--main-color, #5050AA) 12%,transparent);border-color:var(--main-color, #5050AA);color:var(--main-color, #5050AA);transform:translateY(-1px)}.leaderboard-tab.active{background:var(--main-color, #5050AA);border-color:var(--main-color, #5050AA);color:#fff}.leaderboard-tab.active:hover{background:var(--main-color, #5050AA);border-color:var(--main-color, #5050AA);color:#fff;filter:brightness(1.04)}.leaderboard-list::-webkit-scrollbar{width:6px}.leaderboard-list::-webkit-scrollbar-track{background:transparent}.leaderboard-list::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:3px}.leaderboard-item{display:flex;align-items:center;padding:.75rem;border-bottom:1px solid #e5e7eb;animation:fadeIn .3s ease;transition:background-color .2s ease;cursor:pointer}.leaderboard-item:hover{background-color:#f9fafb}.leaderboard-item:last-child{border-bottom:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.leaderboard-rank{font-weight:600;color:var(--main-color, #5050AA);width:3rem}.leaderboard-info{flex:1;display:flex;flex-direction:column}.leaderboard-topic{font-weight:500;color:#1f2937}.leaderboard-date{font-size:.75rem;color:#6b7280}.leaderboard-actions{display:flex;align-items:center;gap:.75rem}.sheet-button{background:#f3f4f6;border:none;color:#6b7280;cursor:pointer;padding:6px;border-radius:50%;transition:background-color .2s ease;display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin-left:.5rem;margin-right:.5rem}.leaderboard-score{display:flex;align-items:center;gap:.75rem;font-weight:600;color:var(--main-color, #5050AA)}.leaderboard-empty{text-align:center;color:#6b7280;padding:1rem}.leaderboard-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--main-color, #5050AA);color:#fff;border:none;border-radius:20px;cursor:pointer;font-weight:500;transition:background-color .2s;position:absolute;right:1rem;top:1rem}.leaderboard-button:hover{background-color:var(--main-color, #5050AA);opacity:.9}.start-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.course-start-button{background:#111827}.course-chip{display:inline-flex;align-items:center;justify-content:space-between;gap:.5rem;max-width:100%}.course-chip span{min-width:0;overflow:hidden;text-overflow:ellipsis}.course-chip strong{color:var(--main-color, #5050AA)}@media (max-width: 640px){.topic-card{width:95vw;min-width:95vw;max-width:95vw;padding:1rem;min-height:70vh}.topic-header{margin-bottom:1.5rem;margin-top:3.5rem}.topic-icon{width:60px;height:60px}.topic-header h1{font-size:1.25rem}.input-container{gap:.5rem}.topic-input{min-width:unset;flex:1}.settings-icon-button{padding:.65rem}.menu-row{display:grid;grid-template-columns:minmax(6.75rem,.38fr) minmax(0,1fr);align-items:center;gap:.75rem}.menu-label{font-size:.8rem}.model-button-small{padding:.55rem .35rem;font-size:.8rem}.settings-modal-body .model-switcher,.settings-modal-body .model-buttons-inline{width:100%}.settings-modal-overlay{align-items:center;padding:max(.75rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left));--modal-enter-y: 46px;--modal-exit-y: 30px}.settings-modal{width:100%;max-height:min(92vh,92dvh);border-radius:24px;transform-origin:center}.settings-modal-body{gap:.875rem;padding:1rem;min-height:0;overscroll-behavior:contain}.settings-modal-body .language-select,.settings-modal-body .toggle-buttons,.settings-modal-body .color-swatch-container{width:100%}.language-select{width:100%;min-width:unset;font-size:.8rem;padding:.5rem 2rem .5rem .75rem}.toggle-buttons{width:100%;justify-content:flex-start}.toggle-button{flex:1;padding:.5rem 1rem;font-size:.8rem}.leaderboard-button{position:absolute;right:.75rem;top:.75rem;padding:.4rem .8rem;font-size:.875rem}.input-sections{gap:1rem}.start-button{padding:1rem 1.5rem;font-size:1rem}.start-actions{grid-template-columns:1fr}}@media (max-width: 400px){.settings-modal-overlay{align-items:flex-end;padding:.5rem}.settings-modal{max-height:calc(100dvh - 1rem);border-radius:20px;transform-origin:center bottom}.modal-header{padding:.875rem 1rem}.settings-modal-body{gap:.75rem;padding:.875rem}.menu-row{grid-template-columns:1fr;gap:.375rem}.settings-modal-body .model-button-small{min-height:42px}}.recent-topics{margin-bottom:1rem;align-self:start}.recent-topics-header{display:flex;align-items:center;gap:.5rem;margin-left:-10px;margin-bottom:.5rem;color:#070000;font-size:.875rem;font-weight:500}.recent-topics{width:100%;max-width:100%;margin-bottom:1rem;overflow:hidden}.recent-topics-header{display:flex;align-items:center;color:#4b5563;font-size:.875rem;padding:0 1rem}.topics-grid{display:flex;flex-wrap:nowrap;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none;white-space:nowrap;width:100%;-webkit-overflow-scrolling:touch;box-sizing:border-box;scroll-behavior:smooth}.topics-grid::-webkit-scrollbar{display:none}.topic-chip{flex:0 0 auto;background:#f3f4f6;border-radius:9999px;border:none;cursor:pointer;font-size:.875rem;color:#4b5563;transition:background-color .2s}.topic-chip:hover{background:#e5e7eb}.recent-topics-list::-webkit-scrollbar{display:none}.topic-chip{margin:.3rem;background-color:#f3f4f6;border:1px solid #E5E7EB;border-radius:1rem;padding:.25rem .75rem;font-size:.95rem;color:#37513d;cursor:pointer;transition:all .2s}.topic-chip:hover{background-color:#e5e7eb;color:var(--main-color, #5050AA);border:1px solid var(--main-color, #5050AA)}.animate-icon{opacity:0;transform:scale(.5) rotate(-180deg);animation:iconSpinIn .4s cubic-bezier(.175,.885,.32,1.275) forwards;animation-delay:.1s}.animate-books{opacity:0;transform:scale(.3);animation:booksScaleIn .6s cubic-bezier(.175,.885,.32,1.275) forwards;animation-delay:.1s}.animate-books .right-book{transform-origin:bottom center;animation:bookTilt .4s cubic-bezier(.25,.46,.45,.94) forwards;animation-delay:.3s}.animate-title{opacity:0;transform:translateY(30px) scale(.8);animation:titleSlideUp .3s cubic-bezier(.175,.885,.32,1.275) forwards;animation-delay:.2s}.animate-leaderboard{opacity:0;transform:translate(50px);animation:leaderboardSlideIn .3s cubic-bezier(.175,.885,.32,1.275) forwards;animation-delay:.3s}.animate-rest{opacity:0;transform:translateY(20px);animation:restSlideUp .4s cubic-bezier(.175,.885,.32,1.275) forwards;animation-delay:.4s}@keyframes iconSpinIn{0%{opacity:0;transform:scale(.5) rotate(-180deg)}70%{opacity:.8;transform:scale(1) rotate(10deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes booksScaleIn{0%{opacity:0;transform:scale(.3)}60%{opacity:.8;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes bookTilt{0%{transform:rotate(0) translate(0)}to{transform:rotate(-12deg) translate(-1px)}}@keyframes titleSlideUp{0%{opacity:0;transform:translateY(30px) scale(.8)}60%{opacity:.8;transform:translateY(-5px) scale(1)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes leaderboardSlideIn{0%{opacity:0;transform:translate(50px)}60%{opacity:.8;transform:translate(-5px)}to{opacity:1;transform:translate(0)}}@keyframes restSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-modal-list{opacity:0;transform:translateY(20px);animation:modalListSlideUp .65s cubic-bezier(.16,1,.3,1) forwards;animation-delay:0s}.animate-leaderboard-item{opacity:0;transform:translate(-30px);animation:leaderboardItemSlideIn .55s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(.16s + (var(--item-index) * .08s))}@keyframes modalListSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes leaderboardItemSlideIn{0%{opacity:0;transform:translate(-30px)}60%{opacity:.8;transform:translate(3px)}to{opacity:1;transform:translate(0)}}.simple-loading-screen{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;width:450px;max-width:800px;padding:2rem;background:transparent;border-radius:12px;z-index:10;box-sizing:border-box;opacity:0;animation:fadeIn .2s ease-out forwards}.title-large{font-size:2.1rem;font-weight:700;margin:0;text-align:center;color:#fff6!important}.loading-dots{display:inline-flex;width:.85em;justify-content:flex-start}.loading-dots span{opacity:.2;animation:dotPulse 1.2s ease-in-out infinite}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{opacity:.2}40%{opacity:1}}@media (max-width: 768px){.simple-loading-screen{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90vw;max-width:400px;padding:1.5rem}.title-large{font-size:1.5rem}}.questions-card{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;padding:2vh 5vw;margin:0;overflow-y:auto;z-index:10;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:center;background:var(--overlay-light, rgba(0, 0, 0, .05));opacity:1;will-change:opacity}.questions-card.entering{animation:questionsBackdropIn .8s ease forwards}.questions-card.exiting{animation:questionsBackdropOut .7s ease forwards!important;pointer-events:none}.questions-card.entering .questions-card-content-wrapper{animation:questionsCardScaleIn .8s cubic-bezier(.175,.885,.32,1.275) forwards}.questions-card.exiting .questions-card-content-wrapper{animation:questionsCardScaleOut .7s cubic-bezier(.6,-.28,.735,.045) forwards!important}@keyframes questionsBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes questionsBackdropOut{0%{opacity:1}to{opacity:0}}@keyframes questionsCardScaleIn{0%{opacity:0;transform:scale(.5) rotateY(-8deg) rotateX(5deg) translateY(30px);filter:blur(6px)}70%{opacity:.9;transform:scale(1.01) rotateY(-2deg) rotateX(1deg) translateY(-2px);filter:blur(1px)}to{opacity:1;transform:scale(1) rotateY(0) rotateX(0) translateY(0);filter:blur(0px)}}@keyframes questionsCardScaleOut{0%{opacity:1;transform:scale(1) rotateY(0) rotateX(0) translateY(0);filter:blur(0px)}60%{opacity:.7;transform:scale(1.01) rotateY(4deg) rotateX(-2deg) translateY(-3px);filter:blur(.5px)}to{opacity:0;transform:scale(.6) rotateY(12deg) rotateX(-8deg) translateY(25px);filter:blur(4px)}}.questions-card-content-wrapper{background:var(--main-bg, white);border-radius:2.25rem;box-shadow:0 8px 32px #0000001f;max-width:min(650px,90vw);width:100%;max-height:min(90vh,90dvh);height:min(90vh,90dvh);min-height:0;padding:clamp(1rem,3vw,2rem);position:relative;display:flex;flex-direction:column;overflow:hidden;opacity:1;transform:scale(1) translateY(0);will-change:transform,opacity}.header{flex:0 0 auto;padding:0 0 16px;border-bottom:2px solid #f0f0f0;margin-bottom:12px}.question-and-options{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 4px 20px;margin:0;scrollbar-width:thin;scrollbar-color:rgba(80,80,170,.3) transparent}.question-and-options::-webkit-scrollbar{width:6px}.question-and-options::-webkit-scrollbar-track{background:transparent}.question-and-options::-webkit-scrollbar-thumb{background-color:var(--success-color, #10b981);border-radius:3px}.header{grid-area:header;display:flex;justify-content:space-between;padding:0 0 16px;border-bottom:2px solid var(--border-color, #f0f0f0);animation:fadeIn .3s ease-out}.header-item{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600;color:var(--main-color, #5050AA);transition:all .3s ease}.header-item.score{font-size:24px}.header-item.score .score-number{font-size:28px;font-weight:700;color:var(--main-color, #5050AA);transition:all .3s cubic-bezier(.4,0,.2,1)}.score-number{display:inline-block;transition:all .3s cubic-bezier(.4,0,.2,1)}.score-number.changed{animation:scoreBounce .6s ease-out;color:#000;transform-origin:center}@keyframes scoreBounce{0%{transform:scale(1)}30%{transform:scale(1.5)}60%{transform:scale(.9)}to{transform:scale(1)}}.question-and-options{grid-area:content;display:flex;flex-direction:column;justify-content:flex-start;padding:20px 4px;opacity:1;transform:translate(0);transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1)}.question-and-options.transitioning{opacity:0;transform:translate(-30px) scale(.98)}.question-and-options.transitioning .question{animation:none!important;opacity:0;transform:translate(-20px);transition:all .4s cubic-bezier(.4,0,.2,1)}.question-and-options.transitioning .options-grid .button-outline,.question-and-options.transitioning .options-grid .option-container{animation:none!important;opacity:0;transform:translate(-20px) translateY(10px);transition:all .4s cubic-bezier(.4,0,.2,1)}.question-and-options.transitioning .options-grid .button-outline:nth-child(1){transition-delay:0s}.question-and-options.transitioning .options-grid .button-outline:nth-child(2){transition-delay:.05s}.question-and-options.transitioning .options-grid .button-outline:nth-child(3){transition-delay:.1s}.question-and-options.transitioning .options-grid .button-outline:nth-child(4){transition-delay:.15s}.question-and-options.transitioning .options-grid .option-container:nth-child(1){transition-delay:0s}.question-and-options.transitioning .options-grid .option-container:nth-child(2){transition-delay:.05s}.question-and-options.transitioning .options-grid .option-container:nth-child(3){transition-delay:.1s}.question-and-options.transitioning .options-grid .option-container:nth-child(4){transition-delay:.15s}.question{font-size:22px;font-weight:600;margin:0 0 24px;padding:0 4px;line-height:1.4;color:#000;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.question.long{font-size:18px;line-height:1.3}.question.rtl{text-align:right;direction:rtl}.questions-card.rtl .feedback-container{align-items:flex-end}.feedback.rtl{direction:rtl;text-align:right}@media (max-width: 480px){.question{font-size:18px;margin-bottom:20px}.question.long{font-size:16px;line-height:1.25}}.image-hint-disclaimer{text-align:center;font-size:11px;color:var(--text-muted, #999);font-style:italic;margin:12px 0 4px;line-height:1.2;opacity:.7;padding:0 10%}@media (max-width: 480px){.image-hint-disclaimer{font-size:10px;margin:8px 0 2px}}.option-container{display:flex;flex-direction:column;gap:8px;height:100%}.options-grid:not(.no-images) .option-container{height:auto}.options-grid:not(.no-images) .button-outline{min-height:60px;display:flex;align-items:center;justify-content:center;text-align:center;white-space:normal;word-break:break-word;padding:12px 16px}.option-image-wrapper{position:relative;width:100%;height:140px;border-radius:28px;overflow:hidden}.option-image{width:100%;height:100%;object-fit:cover}.image-relevance-badge{position:absolute;top:8px;right:8px;z-index:3;max-width:calc(100% - 16px);padding:4px 7px;border-radius:999px;background:#1118276b;color:#fff;font-size:10px;font-weight:700;line-height:1.15;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.option-image-wrapper{position:relative;width:100%;height:140px;border-radius:28px;overflow:hidden;transform:translateY(10px) scale(.98);opacity:0;animation:fadeInUp .6s cubic-bezier(.23,1,.32,1) forwards;will-change:transform,opacity;transition:all .4s cubic-bezier(.25,.8,.25,1);background:linear-gradient(135deg,var(--main-bg-light, #f5f7fa) 0%,var(--main-bg-lighter, #e4e8eb) 100%);border:1px solid rgba(0,0,0,.05)}.option-image-placeholder{width:100%;height:140px;flex-shrink:0}.option-image-wrapper:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border:2px solid transparent;border-radius:28px;background:linear-gradient(45deg,#ffffff1a,#fff6,#ffffff1a);background-size:200% 200%;pointer-events:none;opacity:0;transition:opacity .3s ease}@keyframes frameAppear{0%{opacity:.8;transform:scale(1.02);background-position:0% 50%;border-color:#ffffff1a}50%{opacity:1;background-position:100% 50%;border-color:#fff6}to{opacity:0;transform:scale(1);background-position:0% 50%;border-color:#ffffff1a}}.option-image-wrapper.loaded:after{opacity:0;animation:frameAppear 1.2s ease-out forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.option-container:nth-child(1) .option-image-wrapper{animation-delay:.1s}.option-container:nth-child(2) .option-image-wrapper{animation-delay:.15s}.option-container:nth-child(3) .option-image-wrapper{animation-delay:.2s}.option-container:nth-child(4) .option-image-wrapper{animation-delay:.25s}.option-image-wrapper img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:all .6s cubic-bezier(.23,1,.32,1);will-change:transform;opacity:0;animation:imageFadeIn .6s .3s forwards}@keyframes imageFadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1.02)}}.option-image-wrapper:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,#fff0,#fff6,#fff0);opacity:0;transition:opacity .3s ease;z-index:1;pointer-events:none}.option-image-wrapper.loading:before{opacity:1;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.option-image-wrapper.loading{background:linear-gradient(90deg,var(--border-color, #f0f0f0) 0%,var(--border-hover, #e0e0e0) 50%,var(--border-color, #f0f0f0) 100%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.question-and-options:not(.transitioning) .question{animation:fadeInDown .6s cubic-bezier(.175,.885,.32,1.275) backwards;animation-delay:.05s}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px) rotateX(-10deg) scale(.95);filter:blur(3px)}80%{opacity:.9;transform:translateY(2px) rotateX(2deg) scale(1.005);filter:blur(.5px)}to{opacity:1;transform:translateY(0) rotateX(0) scale(1);filter:blur(0px)}}.options-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%;margin-bottom:24px;align-items:start}.options-grid:not(.no-images) .option-container{height:auto;display:flex;flex-direction:column}.options-grid:not(.no-images) .button-outline{flex:none;min-height:60px;display:flex;align-items:center;justify-content:center;text-align:center;white-space:normal;word-break:break-word;padding:12px 16px;margin-top:8px}.options-grid.no-images{grid-template-columns:1fr;gap:12px}.options-grid .button-outline{transition:all .4s cubic-bezier(.4,0,.2,1)}.question-and-options:not(.transitioning) .options-grid .option-container{animation:slideInUp .7s cubic-bezier(.175,.885,.32,1.275) backwards}.question-and-options:not(.transitioning) .options-grid .option-container:nth-child(1){animation-delay:.2s}.question-and-options:not(.transitioning) .options-grid .option-container:nth-child(2){animation-delay:.3s}.question-and-options:not(.transitioning) .options-grid .option-container:nth-child(3){animation-delay:.4s}.question-and-options:not(.transitioning) .options-grid .option-container:nth-child(4){animation-delay:.5s}.question-and-options:not(.transitioning) .options-grid.no-images .button-outline{animation:slideInUp .7s cubic-bezier(.175,.885,.32,1.275) backwards}.question-and-options:not(.transitioning) .options-grid.no-images .button-outline:nth-child(1){animation-delay:.2s}.question-and-options:not(.transitioning) .options-grid.no-images .button-outline:nth-child(2){animation-delay:.3s}.question-and-options:not(.transitioning) .options-grid.no-images .button-outline:nth-child(3){animation-delay:.4s}.question-and-options:not(.transitioning) .options-grid.no-images .button-outline:nth-child(4){animation-delay:.5s}@keyframes slideInUp{0%{opacity:0;transform:translateY(25px) rotateX(12deg) scale(.9);filter:blur(4px)}60%{opacity:.8;transform:translateY(-3px) rotateX(-2deg) scale(1.01);filter:blur(1px)}85%{opacity:.95;transform:translateY(1px) rotateX(1deg) scale(.995);filter:blur(.2px)}to{opacity:1;transform:translateY(0) rotateX(0) scale(1);filter:blur(0px)}}.questions-card .button-outline{background-color:transparent!important;border:2px solid var(--border-color, #D1D5DB);color:var(--text-secondary, #4b5563);transition:all .2s ease;width:100%;min-height:60px;height:auto;padding:12px 16px;border-radius:28px;font-size:clamp(14px,2vw,16px);line-height:1.3;display:flex;align-items:center;justify-content:center;text-align:center}.questions-card .options-grid .button-outline.rtl{direction:rtl;justify-content:center;text-align:center}.questions-card .options-grid .button-outline:hover:not(:disabled){border:2px solid var(--main-color, #5050AA);color:var(--main-color, #5050AA);background-color:transparent!important}.questions-card .help-options .button-outline:hover:not(:disabled){border:2px solid var(--main-color, #5050AA);color:var(--main-color, #5050AA);background-color:transparent!important}.questions-card .button-outline:disabled{opacity:.7;cursor:not-allowed}.button-outline.correct-answer{color:#fff;border-color:var(--success-color, #10b981);background-color:var(--success-color, #10b981)!important}.button-outline.wrong-answer{color:var(--error-color, #ef4444);border-color:var(--error-color, #ef4444);background-color:var(--main-bg, white)}.button-outline.correct-answer:disabled{color:#fff;border-color:var(--success-color, #10b981);background-color:var(--success-color, #10b981)!important;animation:blinkBorder 1s ease-in-out 3}@keyframes blinkBorder{0%,to{border-color:var(--success-color, #10b981)}50%{border-color:var(--main-bg, white)}}@keyframes slideInFromRight{0%{opacity:0;transform:translateY(-50%) translate(20px)}to{opacity:1;transform:translateY(-50%) translate(0)}}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.button-outline.wrong-answer:disabled{color:var(--error-color, #ef4444);border-color:var(--error-color, #ef4444)}.questions-card .button-outline.fifty-fifty-disabled{opacity:.3!important;color:var(--error-color, #ef4444);border-color:var(--error-color, #ef4444);cursor:not-allowed;transition:opacity .5s ease,color .5s ease,border-color .5s ease}.test-correct-answer{position:relative;background-color:var(--border-color, #f0f0f0);border-color:var(--border-color, #f0f0f0)!important}.test-indicator{position:absolute;right:10px;top:10px;color:var(--highlight-text, #ff1493);font-weight:700;font-size:14px;opacity:.9}.bottom-container{position:static;flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;gap:5px;padding:16px 0;margin-top:4px;border-top:2px solid var(--border-color, #f0f0f0);background:var(--main-bg, white)}.help-options{display:flex;flex-direction:column;gap:12px;justify-content:flex-start;margin-top:10px}.help-options .button{margin:0;min-width:150px}.help-button{position:relative;overflow:hidden;height:50px;background:var(--main-color-10, rgba(80, 80, 170, .1));color:var(--text-primary, #111827);display:flex;align-items:center;justify-content:center;gap:8px;border:2px solid var(--main-color, #5050AA);transition:all .2s ease}.help-button:before{content:"";position:absolute;top:0;left:0;height:100%;width:var(--progress, 100%);background:var(--main-color, #5050AA);opacity:.2;z-index:1;pointer-events:none;transition:width .6s cubic-bezier(.25,.46,.45,.94)}.help-button:hover:not(:disabled){background:var(--main-color-20, rgba(80, 80, 170, .2))}.help-button:hover:not(:disabled):before{background:var(--main-color, #5050AA);opacity:.3}.help-button span{color:var(--text-primary, #111827);z-index:2}.help-button svg{z-index:2}.help-button:disabled{opacity:.7;cursor:not-allowed}.help-button:disabled:before{background:var(--main-color, #5050AA);opacity:.15}.help-button:disabled span,.help-button:disabled svg{opacity:.9}.feedback-container{flex:1;display:flex;justify-content:flex-end;position:relative}.feedback{padding:12px 16px;border-radius:18px;display:flex;align-items:center;gap:8px;margin-top:10px;max-width:300px;animation:slideInFromRight .3s ease-out;font-weight:500;position:absolute;top:50%;right:0;transform:translateY(-50%);z-index:10}.feedback-success{background-color:var(--success-color, #10b981);color:#fff}.feedback-hint,.feedback-info{background-color:var(--main-color, #5050AA);color:#fff}.feedback-error{background-color:var(--error-color, #ef4444);color:#fff}@media (max-width: 768px){.questions-card{padding:4vh 4vw 2vh 4vw;overflow-y:auto}.questions-card-content-wrapper{max-width:92vw;padding:clamp(1rem,3vw,1.5rem);border-radius:1.75rem;min-height:0;height:min(94vh,94dvh);display:flex;flex-direction:column}.header{padding:16px 0 12px;flex-wrap:wrap;gap:8px}.header-item{font-size:16px}.header-item.score{font-size:20px}.header-item.score .score-number{font-size:24px}.question-and-options{padding:24px 0 0}.question{font-size:18px;margin-bottom:24px;line-height:1.3}.option-image-wrapper{height:120px}.image-relevance-badge{top:6px;right:6px;padding:3px 6px;font-size:9px}.option-image-placeholder{height:120px}.options-grid{grid-template-columns:1fr;gap:12px;margin-bottom:0}.questions-card .button-outline{min-height:48px;font-size:clamp(13px,3vw,15px);border-radius:24px}.bottom-container{position:static;padding:12px 0 16px;flex-direction:column;align-items:stretch;gap:12px;margin-top:16px;left:auto;right:auto;bottom:auto;border-top:2px solid #f0f0f0;background:var(--main-bg, white);border-radius:0}.help-options{justify-content:center;margin-top:0}.help-options .button{min-width:120px;font-size:14px}.feedback-container{justify-content:center}.feedback{position:static;transform:none;max-width:100%;font-size:14px;padding:10px 14px;animation:slideInFromTop .3s ease-out}}@media (max-width: 480px){.questions-card{padding:3vh 4vw 1vh 4vw}.questions-card-content-wrapper{max-width:92vw;padding:clamp(1rem,3vw,1.2rem)}}.game-over-card{background:#f9f9f9;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;width:450px;max-width:36rem;margin:0 auto;padding:2rem;text-align:center;position:relative;overflow:hidden;opacity:0;transform:scale(.5) rotateY(-8deg) rotateX(5deg) translateY(30px);animation:dramaticEntrance .8s cubic-bezier(.175,.885,.32,1.275) forwards;will-change:transform,opacity,filter}.game-over-card.exiting{animation:dramaticExit .7s cubic-bezier(.6,-.28,.735,.045) forwards!important;pointer-events:none}@keyframes dramaticEntrance{0%{opacity:0;transform:scale(.5) rotateY(-8deg) rotateX(5deg) translateY(30px);filter:blur(6px)}70%{opacity:.9;transform:scale(1.01) rotateY(-2deg) rotateX(1deg) translateY(-2px);filter:blur(1px)}to{opacity:1;transform:scale(1) rotateY(0) rotateX(0) translateY(0);filter:blur(0px)}}@keyframes dramaticExit{0%{opacity:1;transform:scale(1) rotateY(0) rotateX(0) translateY(0);filter:blur(0px)}60%{opacity:.7;transform:scale(1.01) rotateY(4deg) rotateX(-2deg) translateY(-3px);filter:blur(.5px)}to{opacity:0;transform:scale(.6) rotateY(12deg) rotateX(-8deg) translateY(25px);filter:blur(4px)}}.game-over-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.game-over-icon{color:#ef4444;margin-bottom:.5rem}.game-over-title{font-size:1.875rem;font-weight:700;color:#1f2937;margin:0}.game-over-score{font-size:2rem;color:#4b5563;margin:0 0 1rem;opacity:0;transform:scale(.3);animation:scoreScaleBounce .8s cubic-bezier(.175,.885,.32,1.275) forwards;animation-delay:.3s}.game-over-buttons{display:flex;flex-direction:column;gap:1rem;width:100%;justify-content:center;flex-wrap:wrap;margin-top:1rem}.game-over-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:25px;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:none;background-color:var(--main-color, #5050AA);color:#fff;font-size:1rem;min-width:140px;transform:scale(1);position:relative;overflow:hidden}.game-over-button:hover{background-color:var(--main-color, #5050AA)}.game-over-button.outline{background-color:transparent;border:2px solid #d0cdcd;color:#4b5563}.game-over-button.outline:hover{background-color:#b5b2f31a;background-color:var(--main-bg, #f9fafb);border-color:var(--main-color, #5050AA);color:var(--main-color, #5050AA)}@keyframes iconSpinIn{0%{opacity:0;transform:scale(.5) rotate(-180deg)}70%{opacity:.8;transform:scale(1.1) rotate(10deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes titleSlideUp{0%{opacity:0;transform:translateY(30px) scale(.8)}60%{opacity:.8;transform:translateY(-5px) scale(1.05)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes scoreScaleBounce{0%{opacity:0;transform:scale(.3)}40%{opacity:.9;transform:scale(1.15)}65%{opacity:1;transform:scale(.95)}80%{transform:scale(1.02)}to{opacity:1;transform:scale(1)}}@keyframes buttonsSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.game-over-button: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}.game-over-button:active:before{width:300px;height:300px}@media (max-width: 768px){.game-over-card{margin-top:0;max-width:90vw;padding:clamp(1rem,4vw,1.5rem)}}@media (max-width: 480px){.game-over-card{margin-top:0;max-width:95vw;padding:clamp(.8rem,4vw,1rem)}}.course-shell{width:860px;min-width:860px;max-width:calc(100vw - 2rem);max-height:min(920px,calc(100dvh - 2rem));height:min(820px,calc(100dvh - 2rem));overflow:hidden;background:#fff;border-radius:2.25rem;box-shadow:0 14px 40px #0000002e;padding:clamp(1rem,2.5vw,1.5rem);color:#1f2937;animation:none;position:relative;box-sizing:border-box;flex:0 0 auto;display:flex;flex-direction:column}.course-floating{width:min(900px,94vw);max-height:min(90vh,920px);overflow:hidden;padding:clamp(.75rem,2vw,1.25rem);color:#f8fafc;animation:none}.course-floating .course-topbar{margin-bottom:1.25rem}.course-floating .course-icon-button{background:#ffffff1a;border-color:#ffffff38;color:#f8fafc;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.course-floating .course-pill{color:#fff;background:#ffffff21;border-color:#ffffff38;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.course-topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.course-shell.rtl .course-topbar{flex-direction:row-reverse}.course-icon-button{width:40px;height:40px;border:0;background:transparent;color:var(--main-color, #5050AA);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;filter:drop-shadow(0 8px 12px rgba(80,80,170,.14))}.course-icon-button svg{width:22px;height:22px;display:block;color:currentColor;flex:0 0 auto}.course-icon-button:hover{background:transparent;color:var(--main-color, #5050AA);transform:translateY(-1px);filter:brightness(1.04) drop-shadow(0 10px 16px rgba(80,80,170,.2))}.course-pill{color:var(--main-color, #5050AA);background:transparent;border:0;border-radius:999px;padding:.25rem 0;font-size:.95rem;font-weight:800;filter:drop-shadow(0 8px 12px rgba(80,80,170,.14))}.course-outline-header,.course-lesson-header,.course-checkpoint-header,.course-result,.course-complete{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.course-outline-header{align-items:flex-start;text-align:left;color:var(--main-color, #5050AA);margin-bottom:1.4rem}.course-shell.rtl .course-outline-header,.course-shell.rtl .course-lesson-header,.course-shell.rtl .course-checkpoint-header{width:100%;align-self:stretch;align-items:flex-end;text-align:right}.course-shell.rtl .course-outline-header>div{width:100%;text-align:right}.course-shell.rtl .course-outline-header h1{margin-left:auto;text-align:right}.course-outline-shell{display:flex;flex-direction:column;min-height:0;gap:0}.course-outline-header h1,.course-lesson-header h1,.course-checkpoint-header h1,.course-result h1,.course-complete h1{font-size:clamp(1.3rem,3vw,2rem);line-height:1.15;margin:0;color:#111827}.course-floating .course-outline-header h1,.course-floating .course-lesson-header h1{color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.35)}.course-outline-header p,.course-result p,.course-complete p{margin:0;color:#6b7280}.course-floating .course-outline-header p,.course-floating .course-lesson-header span{color:#ffffffc2}.course-outline-shell .course-outline-item.streaming-in{opacity:0;animation:courseFloatIn .35s ease forwards;animation-delay:calc(var(--item-index, 0) * 70ms)}.course-lesson-header span,.course-checkpoint-header span{font-size:.85rem;font-weight:700;color:var(--main-color, #5050AA)}.course-outline-list{flex:1;display:grid;align-content:start;gap:.72rem;min-height:0;overflow-y:auto;padding:.05rem .35rem 1rem .05rem;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--main-color, #5050AA) 45%,transparent) transparent}.course-outline-item{position:relative;min-height:62px;display:grid;grid-template-columns:2.65rem minmax(0,1fr) auto;align-items:center;gap:.8rem;width:100%;border:1px solid #edf0f4;background:linear-gradient(90deg,#f8fafce6,#fff 36%),#fff;color:#1f2937;border-radius:20px;padding:.72rem .95rem .72rem .72rem;text-align:left;line-height:1.2;box-shadow:0 5px 14px #0f172a09;overflow:hidden}.course-shell.rtl .course-outline-item{grid-template-columns:2.65rem minmax(0,1fr) auto;text-align:right;background:linear-gradient(270deg,#f8fafce6,#fff 36%),#fff;padding:.72rem .72rem .72rem .95rem}.course-shell.rtl .course-outline-item>span:not(.course-outline-number){justify-content:flex-start;text-align:right}.course-outline-item:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--main-color, #5050AA);opacity:0;transition:opacity .18s ease}.course-shell.rtl .course-outline-item:before{inset:0 0 0 auto}.course-outline-item>span:not(.course-outline-number){display:flex;align-items:center;min-width:0;min-height:2.45rem;overflow-wrap:anywhere}.course-outline-item:not(:disabled):hover{border-color:var(--main-color, #5050AA);background:linear-gradient(90deg,color-mix(in srgb,var(--main-color, #5050AA) 10%,#ffffff),#fff 58%),#fff;color:var(--main-color, #5050AA);box-shadow:0 8px 20px #0f172a0e}.course-shell.rtl .course-outline-item:not(:disabled):hover{background:linear-gradient(270deg,color-mix(in srgb,var(--main-color, #5050AA) 10%,#ffffff),#fff 58%),#fff}.course-outline-item:disabled:hover{border-color:#e5e7eb}.course-outline-item:focus,.course-outline-item:focus-visible{outline:none;border-color:var(--main-color, #5050AA);box-shadow:none}.course-outline-item:not(:disabled):hover .course-outline-number{background:var(--main-color, #5050AA);color:#fff}.course-floating .course-outline-item{background:#ffffff21;border:1px solid rgba(255,255,255,.24);color:#fff;box-shadow:0 16px 35px #0003;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);opacity:0;animation:courseFloatIn .45s ease forwards;animation-delay:calc(var(--item-index, 0) * 90ms)}.course-floating .course-outline-item.active{border-color:#ffffff75;background:#fff3}.course-floating .course-outline-item.done{border-color:#86efac6b;background:#14532d61}.course-outline-item.active{border-color:var(--main-color, #5050AA);background:linear-gradient(90deg,color-mix(in srgb,var(--main-color, #5050AA) 13%,#ffffff),#fff 64%),#fff;color:var(--main-color, #5050AA);cursor:pointer;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--main-color, #5050AA) 40%,transparent),0 10px 24px color-mix(in srgb,var(--main-color, #5050AA) 13%,transparent)}.course-shell.rtl .course-outline-item.active{background:linear-gradient(270deg,color-mix(in srgb,var(--main-color, #5050AA) 13%,#ffffff),#fff 64%),#fff}.course-outline-item.active:before,.course-outline-item.done:before{opacity:1}.course-outline-item.done{background:linear-gradient(90deg,color-mix(in srgb,var(--main-color, #5050AA) 11%,#ffffff),#fff 62%),#fff;border-color:var(--main-color, #5050AA);color:var(--main-color, #5050AA)}.course-shell.rtl .course-outline-item.done{background:linear-gradient(270deg,color-mix(in srgb,var(--main-color, #5050AA) 11%,#ffffff),#fff 62%),#fff}.course-placeholder-row{opacity:.72;background:#f8fafc}.course-outline-item:disabled{opacity:.72}.course-outline-number{position:relative;z-index:1;justify-self:center;width:2.45rem;height:2.45rem;display:inline-flex;align-items:center;justify-content:center;border-radius:16px;background:#f3f4f6;color:var(--main-color, #5050AA);font-weight:800;line-height:1;box-shadow:inset 0 0 0 1px #0f172a08}.course-outline-item.active .course-outline-number,.course-outline-item.done .course-outline-number{background:var(--main-color, #5050AA);color:#fff}.course-floating .course-outline-number{background:#ffffff29;color:#fff}.course-section-list{display:grid;gap:1rem;margin-bottom:1.25rem}.lesson-shell{width:980px;min-width:980px;max-width:calc(100vw - 2rem);height:min(640px,86vh);overflow:hidden;display:flex;flex-direction:column;gap:.85rem;padding:clamp(1rem,2.4vw,1.45rem) clamp(1.5rem,3.4vw,2.6rem)}.lesson-shell .course-topbar{margin-bottom:.15rem}.lesson-shell .course-lesson-header{margin-bottom:.25rem}.lesson-shell.rtl .course-lesson-header{width:100%;align-self:stretch;align-items:flex-start;text-align:right}.lesson-shell .course-lesson-header span{font-size:.82rem}.lesson-shell.rtl .course-lesson-header span{align-self:flex-start;text-align:right}.lesson-shell .course-lesson-header h1{max-width:820px;font-size:clamp(1.2rem,2.45vw,1.75rem);line-height:1.12}.lesson-shell.rtl .course-lesson-header h1{align-self:flex-start;text-align:right}.lesson-floating{width:min(980px,94vw)}.course-focus-block{display:grid;grid-template-columns:minmax(260px,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(1rem,2.4vw,1.5rem);margin-bottom:0;flex:1;min-height:0;overflow-y:auto;padding:.15rem .2rem .35rem 0;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.lesson-shell .course-focus-block{padding-bottom:3.1rem}.course-focus-image-wrapper{width:100%;aspect-ratio:16 / 10;border-radius:28px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);box-shadow:none;overflow:hidden;position:relative}.course-focus-image-wrapper.option-image-wrapper,.course-focus-image-wrapper.option-image-placeholder{width:100%;height:auto;min-height:clamp(220px,30vw,340px);margin-bottom:0;flex-shrink:1}.course-focus-image{width:100%;height:100%;object-fit:cover}.course-focus-video{display:block}.course-focus-image-wrapper.option-image-placeholder{display:flex;align-items:center;justify-content:center;color:var(--main-color, #5050AA);background:linear-gradient(135deg,#f8fafc,#eef2f7);animation:none;opacity:1;transform:none}.course-focus-text{color:#fff;background:#ffffff1f;border:1px solid rgba(255,255,255,.22);border-radius:28px;padding:clamp(1rem,2.5vw,1.5rem);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 20px 45px #00000038}.lesson-shell .course-focus-text{color:#1f2937;background:transparent;border:0;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;padding:0;width:min(100%,42ch)}.lesson-shell.rtl .course-focus-text{text-align:right}.lesson-shell .course-focus-text h2{color:#111827}.lesson-shell .course-focus-title{min-height:1.2em;animation:courseTextSoftFade .32s ease both}.course-fluid-text{position:relative;display:block;width:100%;white-space:pre-wrap;-webkit-font-smoothing:antialiased}.course-fluid-text-ghost{opacity:0}.course-fluid-text-visible{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;color:currentColor;white-space:pre-wrap;overflow:hidden;animation:courseTextSoftFade .32s ease both;transition:opacity .18s linear}.course-fluid-text-soft-char{transition:opacity .12s linear}.course-fluid-text-hidden{opacity:0}.course-fluid-text.title .course-fluid-text-visible{animation-duration:.42s}.lesson-shell .course-focus-text p,.lesson-shell .course-focus-text .course-block-list{color:#374151}.lesson-shell .course-focus-text p{text-align:justify;text-align-last:justify}.lesson-shell.rtl .course-focus-text p{text-align:right;text-align-last:right}.lesson-shell .course-focus-image-wrapper{border-color:#e5e7eb;box-shadow:none}.lesson-shell .course-focus-image-wrapper.option-image-wrapper.loading{opacity:1;transform:none;animation:loading 1.5s infinite}.course-focus-text h2{margin:0 0 .55rem;color:#fff;font-size:clamp(1.2rem,2.4vw,1.65rem);line-height:1.15}.course-focus-text p,.course-block-list{font-size:clamp(1rem,1.9vw,1.18rem);line-height:1.48}.course-focus-text p,.course-focus-text .course-block-list{color:#ffffffe0}.course-section{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr);gap:1rem;align-items:start;border-bottom:1px solid #eef2f7;padding-bottom:1rem}.course-section:last-child{border-bottom:0}.course-section-image{width:100%;aspect-ratio:4 / 3;border-radius:20px;object-fit:cover;background:#f3f4f6}.course-section-image.placeholder{display:flex;align-items:center;justify-content:center;color:#9ca3af}.course-section h2{margin:0 0 .4rem;font-size:1.05rem;color:#111827}.course-section p,.course-block-list{margin:0;line-height:1.55;color:#374151}.course-block-kind{display:inline-flex;align-items:center;width:fit-content;margin-bottom:.35rem;border-radius:999px;background:#5050aa1a;color:var(--main-color, #5050AA);padding:.22rem .55rem;font-size:.72rem;font-weight:800;text-transform:capitalize}.course-block-kind.keyFacts{background:color-mix(in srgb,var(--main-color, #5050AA) 10%,#ffffff);color:var(--main-color, #5050AA)}.course-block-kind.example,.course-block-kind.tip{background:#fff7ed;color:#c2410c}.course-block-list{display:grid;gap:.55rem;padding-left:0;list-style:none}.course-shell.rtl .course-block-list{direction:rtl;text-align:right}.course-block-list li{display:grid;grid-template-columns:1.65rem minmax(0,1fr);align-items:start;gap:.7rem;min-height:1.9rem;padding:.12rem 0}.course-block-list li .course-fluid-text{z-index:1}.course-list-marker{opacity:0;transform:none;width:1.55rem;height:1.55rem;margin-top:.12em;border-radius:999px;background:color-mix(in srgb,var(--main-color, #5050AA) 14%,#ffffff);border:1px solid color-mix(in srgb,var(--main-color, #5050AA) 28%,transparent);color:var(--main-color, #5050AA);display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 4px #ffffff9e;transition:opacity .28s ease}.course-block-list li.text-complete .course-list-marker{opacity:1}.course-block-list:not(.facts):not(.steps) .course-list-marker:before{content:"";width:.42rem;height:.42rem;border-radius:999px;background:currentColor}.course-block-list.facts li:before{content:none}.course-block-list.facts .course-list-marker{border-radius:9px;background:color-mix(in srgb,var(--main-color, #5050AA) 14%,#ffffff);border-color:color-mix(in srgb,var(--main-color, #5050AA) 28%,transparent);color:var(--main-color, #5050AA);transform:rotate(45deg)}.course-block-list.facts li.text-complete .course-list-marker{opacity:1}.course-block-list.facts .course-list-marker:before{content:"";width:.46rem;height:.46rem;border-radius:3px;background:currentColor}.course-block-list.facts{list-style:none}.course-block-list.steps{padding-left:0;list-style:none}.course-block-list.steps li{grid-template-columns:1.8rem minmax(0,1fr)}.course-block-list.steps .course-list-marker{width:1.7rem;height:1.7rem;font-size:.78rem;font-weight:900;box-shadow:none}.course-primary-button{min-height:44px;border:0;border-radius:25px;background:var(--main-color, #5050AA);color:#fff;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1rem;cursor:pointer;width:100%}.course-floating .course-primary-button{background:#ffffff2e;border:1px solid rgba(255,255,255,.26);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.course-secondary-button{min-height:40px;border-radius:18px;border:1px solid #e5e7eb;background:#f9fafb;color:#374151;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.45rem .75rem;font-weight:800;cursor:pointer}.course-secondary-button.compact{width:auto}@keyframes courseFloatIn{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.course-primary-button:disabled{opacity:.65;cursor:not-allowed}.course-page-next-button{position:absolute;right:clamp(1.15rem,2.4vw,1.7rem);bottom:clamp(1rem,2.2vw,1.4rem);z-index:4;width:auto;min-width:112px;height:58px;border:0;border-radius:999px;background:transparent;color:var(--main-color, #5050AA);display:inline-flex;align-items:center;justify-content:center;gap:.35rem;flex:0 0 auto;cursor:pointer;filter:drop-shadow(0 8px 12px rgba(80,80,170,.2));font-size:1rem;font-weight:800}.course-shell.rtl .course-page-next-button{right:auto;left:clamp(1.15rem,2.4vw,1.7rem)}.course-page-next-button:disabled{opacity:.4;cursor:wait}.course-outline-start-button{position:relative;right:auto;left:auto;bottom:auto;align-self:flex-end;margin-left:auto;margin-top:.75rem}.course-shell.rtl .course-outline-start-button{align-self:flex-start;margin-right:auto;margin-left:0}.course-checkpoint-shell{max-width:720px}.course-question-stage{position:relative;width:100%;display:flex;flex-direction:column;align-items:center}.course-question-stage>.course-question-next-button{display:none}.course-question-next-button{width:min(420px,90%);min-height:48px;margin-top:.75rem;border:0;border-radius:18px;background:var(--main-color, #5050AA);color:#fff;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer}.course-question-next-button:disabled{opacity:.65;cursor:not-allowed}.course-answer-list{display:grid;gap:.65rem;margin-bottom:1rem}.course-answer-button{min-height:48px;border:1px solid #e5e7eb;border-radius:18px;background:#fff;color:#1f2937;font-weight:700;padding:.8rem 1rem;text-align:left;cursor:pointer}.course-answer-button.correct{background:#dcfce7;border-color:#86efac;color:#166534}.course-answer-button.wrong{background:#fee2e2;border-color:#fecaca;color:#991b1b}.course-feedback,.course-error{border-radius:18px;padding:.75rem;margin-bottom:1rem;font-weight:700}.course-feedback{background:#f8fafc;color:#334155}.course-error{background:#fee2e2;color:#991b1b}.course-checkpoint-empty{justify-content:flex-start}.course-empty-state{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center;color:#111827;padding:1rem}.course-empty-state svg{color:var(--main-color, #5050AA)}.course-empty-state h1{margin:0;font-size:clamp(1.4rem,3vw,2rem);line-height:1.15}.course-empty-state .course-error{width:min(100%,520px);margin-bottom:0}.course-empty-state .course-primary-button{width:min(100%,260px)}.course-result,.course-complete{min-height:360px;align-items:center;justify-content:center;text-align:center;color:var(--main-color, #5050AA)}.course-result{position:relative;width:min(450px,calc(100vw - 2rem));margin:0 auto;padding:clamp(1.5rem,4vw,2rem);background:#f9f9f9;border-radius:2.25rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;overflow:hidden;gap:1.35rem;opacity:0;transform:scale(.5) rotateY(-8deg) rotateX(5deg) translateY(30px);animation:courseResultEntrance .8s cubic-bezier(.175,.885,.32,1.275) forwards;will-change:transform,opacity,filter}.course-result-close{position:absolute;top:1.05rem;left:1.05rem;width:40px;height:40px;border:0;border-radius:999px;background:transparent;color:var(--main-color, #5050AA);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;filter:drop-shadow(0 8px 12px color-mix(in srgb,var(--main-color, #5050AA) 24%,transparent));transition:transform .18s cubic-bezier(.16,1,.3,1),filter .18s ease,color .18s ease}.course-result-close:hover{transform:translateY(-1px);filter:brightness(1.04) drop-shadow(0 10px 16px color-mix(in srgb,var(--main-color, #5050AA) 32%,transparent))}.course-result.retry .course-result-close{background:transparent;color:var(--main-color, #5050AA);filter:drop-shadow(0 8px 12px color-mix(in srgb,var(--main-color, #5050AA) 24%,transparent))}.course-result.retry .course-result-close:hover{background:transparent;filter:brightness(1.04) drop-shadow(0 10px 16px color-mix(in srgb,var(--main-color, #5050AA) 32%,transparent))}.course-result-close:active{transform:scale(.985)}.course-result>svg{margin-bottom:.15rem;animation:courseResultIconSpinIn .72s .08s cubic-bezier(.175,.885,.32,1.275) both}.course-result-close svg{width:22px;height:22px;display:block;flex:0 0 auto;margin-bottom:0;color:currentColor;animation:none}.course-result.retry>svg{color:#ef4444}.course-result.passed>svg{color:var(--success-color, #10b981)}.course-result h1{animation:courseResultTitleSlideUp .62s .18s cubic-bezier(.175,.885,.32,1.275) both}.course-result .course-result-score{margin:0;font-size:clamp(1.7rem,5vw,2rem);color:#4b5563;opacity:0;transform:scale(.3);animation:courseResultScoreBounce .8s .3s cubic-bezier(.175,.885,.32,1.275) forwards}.course-result .course-result-goal{margin:-.5rem 0 .35rem;color:#6b7280;font-weight:700;animation:courseResultTitleSlideUp .5s .38s ease both}.course-result .course-primary-button{border-radius:25px;animation:courseResultButtonsSlideUp .5s .5s ease both}.course-shell.course-card-entering,.course-shell.course-card-exiting{will-change:transform,opacity,filter}.course-shell.course-card-entering{animation:coursePageIn .8s cubic-bezier(.175,.885,.32,1.275) both}.course-shell.course-card-exiting,.course-result.course-card-exiting{animation:coursePageOut .7s cubic-bezier(.6,-.28,.735,.045) forwards!important;pointer-events:none}.course-shell.course-card-entering .course-topbar,.course-shell.course-card-entering .course-outline-header,.course-shell.course-card-entering .course-lesson-header,.course-shell.course-card-entering .course-checkpoint-header,.course-shell.course-card-entering .course-focus-image,.course-shell.course-card-entering .course-focus-text,.course-shell.course-card-entering .course-focus-block,.course-shell.course-card-entering .course-primary-button,.course-topbar,.course-outline-header,.course-lesson-header,.course-checkpoint-header{animation:none}.course-focus-image{animation:courseImageReveal .85s cubic-bezier(.2,.8,.2,1) both}.course-focus-text{animation:courseTextReveal .82s .12s cubic-bezier(.2,.8,.2,1) both}.course-block-kind{animation:courseChipIn .34s .16s ease both}.course-primary-button,.course-question-next-button{animation:courseButtonIn .7s .2s ease both}.lesson-shell .course-focus-text,.lesson-shell .course-primary-button{animation:none}.lesson-shell .course-focus-image-wrapper.option-image-wrapper.loading,.lesson-shell .course-focus-image-wrapper.option-image-placeholder{opacity:1;transform:none;animation:loading 1.5s infinite}.lesson-shell .course-focus-image-wrapper.option-image-wrapper.loaded{opacity:1;transform:none;animation:none!important;background-image:none!important;background-size:auto!important;background:transparent}.lesson-shell .course-focus-image-wrapper.option-image-wrapper.loaded:before,.lesson-shell .course-focus-image-wrapper.option-image-wrapper.loaded:after{animation:none!important;opacity:0!important;transition:opacity .45s ease!important}.lesson-shell .course-focus-image-wrapper.option-image-wrapper.loaded .course-focus-image{animation:none!important;opacity:1!important}.lesson-shell.course-shell{animation-duration:.8s;animation-timing-function:cubic-bezier(.175,.885,.32,1.275)}.lesson-shell .course-focus-block{animation:lessonContentIn .64s cubic-bezier(.16,1,.3,1) both;will-change:opacity,transform,filter}.lesson-shell .course-focus-block.transitioning{animation:lessonContentOut .5s cubic-bezier(.4,0,.2,1) forwards;pointer-events:none}.course-primary-button,.course-icon-button,.course-outline-item,.course-question-next-button,.course-page-next-button{transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s cubic-bezier(.16,1,.3,1),filter .18s ease,background-color .18s ease,border-color .18s ease}.course-primary-button:hover:not(:disabled),.course-question-next-button:hover:not(:disabled),.course-page-next-button:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.02)}.course-primary-button:active:not(:disabled),.course-question-next-button:active:not(:disabled),.course-icon-button:active:not(:disabled),.course-page-next-button:active:not(:disabled){transform:scale(.985)}@keyframes coursePageIn{0%{opacity:0;transform:scale(.5) rotateY(-8deg) rotateX(5deg) translateY(30px);filter:blur(6px)}70%{opacity:.9;transform:scale(1.01) rotateY(-2deg) rotateX(1deg) translateY(-2px);filter:blur(1px)}to{opacity:1;transform:scale(1) rotateY(0) rotateX(0) translateY(0);filter:blur(0px)}}@keyframes coursePageOut{0%{opacity:1;transform:scale(1) rotateY(0) rotateX(0) translateY(0);filter:blur(0px)}60%{opacity:.7;transform:scale(1.01) rotateY(4deg) rotateX(-2deg) translateY(-3px);filter:blur(.5px)}to{opacity:0;transform:scale(.6) rotateY(12deg) rotateX(-8deg) translateY(25px);filter:blur(4px)}}@keyframes lessonContentIn{0%{opacity:0;transform:translate3d(28px,0,0) scale(.985);filter:blur(5px)}60%{opacity:1;filter:blur(1px)}to{opacity:1;transform:translateZ(0);filter:blur(0)}}@keyframes lessonContentOut{0%{opacity:1;transform:translateZ(0) scale(1);filter:blur(0)}to{opacity:0;transform:translate3d(-24px,0,0) scale(.985);filter:blur(4px)}}@keyframes courseTextSoftFade{0%{opacity:0}to{opacity:1}}@keyframes courseSoftDrop{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes courseImageReveal{0%{opacity:0;transform:translate(-18px) scale(.98);filter:blur(4px)}to{opacity:1;transform:translate(0) scale(1);filter:blur(0)}}@keyframes courseTextReveal{0%{opacity:0;transform:translate(18px) scale(.99)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes courseChipIn{0%{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes courseButtonIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes courseResultEntrance{0%{opacity:0;transform:scale(.5) rotateY(-8deg) rotateX(5deg) translateY(30px);filter:blur(6px)}70%{opacity:.9;transform:scale(1.01) rotateY(-2deg) rotateX(1deg) translateY(-2px);filter:blur(1px)}to{opacity:1;transform:scale(1) rotateY(0) rotateX(0) translateY(0);filter:blur(0px)}}@keyframes courseResultIconSpinIn{0%{opacity:0;transform:scale(.5) rotate(-180deg)}70%{opacity:.8;transform:scale(1.1) rotate(10deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes courseResultTitleSlideUp{0%{opacity:0;transform:translateY(30px) scale(.8)}60%{opacity:.8;transform:translateY(-5px) scale(1.05)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes courseResultScoreBounce{0%{opacity:0;transform:scale(.3)}40%{opacity:.9;transform:scale(1.15)}65%{opacity:1;transform:scale(.95)}80%{transform:scale(1.02)}to{opacity:1;transform:scale(1)}}@keyframes courseResultButtonsSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1040px){.course-shell,.lesson-shell{width:calc(100vw - 2rem);min-width:0}}@media (max-width: 640px){.course-shell{width:95vw;min-width:0;max-height:calc(100dvh - 1rem);height:calc(100dvh - 1rem);border-radius:1.75rem}.course-result{padding:clamp(1rem,4vw,1.5rem)}.course-section,.course-focus-block{grid-template-columns:1fr}.lesson-shell .course-focus-block{filter:none}}body{margin:0;padding:0;height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:#0c0c20;color:#2d2d2d;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}@media (max-width: 768px){body{align-items:flex-start;padding-top:2vh;overflow:hidden}}.app-wrapper{height:100vh;width:100%;max-width:100%;display:flex;align-items:center;justify-content:center;box-sizing:border-box;position:relative;z-index:1;padding:1rem;overflow:hidden}@media (max-width: 768px){.app-wrapper{align-items:flex-start;min-height:auto;padding:.5rem}}.app-wrapper:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400' viewBox='0 0 800 800'%3E%3Cg fill='none' stroke='%23404' stroke-width='1'%3E%3Cpath d='M769 229L1037 260.9M927 880L731 737 520 660 309 538 40 599 295 764 126.5 879.5 40 599-197 493 102 382-31 229 126.5 79.5-69-63'/%3E%3Cpath d='M-31 229L237 261 390 382 603 493 308.5 537.5 101.5 381.5M370 905L295 764'/%3E%3Cpath d='M520 660L578 842 731 737 840 599 603 493 520 660 295 764 309 538 390 382 539 269 769 229 577.5 41.5 370 105 295 -36 126.5 79.5 237 261 102 382 40 599 -69 737 127 880'/%3E%3Cpath d='M520-140L578.5 42.5 731-63M603 493L539 269 237 261 370 105M902 382L539 269M390 382L102 382'/%3E%3Cpath d='M-222 42L126.5 79.5 370 105 539 269 577.5 41.5 927 80 769 229 902 382 603 493 731 737M295-36L577.5 41.5M578 842L295 764M40-201L127 80M102 382L-261 269'/%3E%3C/g%3E%3Cg fill='%235050AA'%3E%3Ccircle cx='769' cy='229' r='5'/%3E%3Ccircle cx='539' cy='269' r='5'/%3E%3Ccircle cx='603' cy='493' r='5'/%3E%3Ccircle cx='731' cy='737' r='5'/%3E%3Ccircle cx='520' cy='660' r='5'/%3E%3Ccircle cx='309' cy='538' r='5'/%3E%3Ccircle cx='295' cy='764' r='5'/%3E%3Ccircle cx='40' cy='599' r='5'/%3E%3Ccircle cx='102' cy='382' r='5'/%3E%3Ccircle cx='127' cy='80' r='5'/%3E%3Ccircle cx='370' cy='105' r='5'/%3E%3Ccircle cx='578' cy='42' r='5'/%3E%3Ccircle cx='237' cy='261' r='5'/%3E%3Ccircle cx='390' cy='382' r='5'/%3E%3C/g%3E%3C/svg%3E");opacity:.3;z-index:-2;animation:panBackground 100s linear infinite}.app-wrapper:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(2px 2px at 20px 30px,#fff,#0000),radial-gradient(2px 2px at 40px 70px,#fff,#0000),radial-gradient(2px 2px at 50px 160px,#fff,#0000),radial-gradient(2px 2px at 90px 40px,#fff,#0000),radial-gradient(2px 2px at 130px 80px,#fff,#0000),radial-gradient(2px 2px at 160px 120px,#fff,#0000),radial-gradient(3px 3px at 200px 20px,#fff,#0000),radial-gradient(1px 1px at 210px 220px,#fff,#0000),radial-gradient(2px 2px at 240px 180px,#fff,#0000),radial-gradient(3px 3px at 280px 40px,#fff,#0000),radial-gradient(1px 1px at 340px 80px,#fff,#0000),radial-gradient(2px 2px at 380px 130px,#fff,#0000),radial-gradient(3px 3px at 420px 190px,#fff,#0000),radial-gradient(1px 1px at 470px 40px,#fff,#0000);background-repeat:repeat;background-size:500px 500px;opacity:.5;z-index:-1;animation:twinkleStars 10s linear infinite}.container{width:100%;max-width:900px;display:flex;align-items:center;justify-content:center;position:relative;height:100%;padding:20px;box-sizing:border-box;margin:0 auto}.course-container{width:100vw;max-width:none}.course-container>.course-shell,.course-container>.course-question-stage{flex-shrink:0}@media (max-width: 768px){.container{min-height:auto;padding:10px;align-items:flex-start}}.result-screen{display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center;padding:24px 0}.result-icon{font-size:64px}.result-icon.winner{color:#f59e0b}.result-icon.game-over{color:#ef4444}.score{font-size:24px;font-weight:600;color:#4b5563;margin:0}.title-large{font-size:28px;font-weight:700;color:#1a202c;margin:0}.button-group{display:flex;flex-direction:column;gap:12px;width:100%;margin-top:16px}.error-message{color:#ef4444;font-size:14px;margin-top:8px;animation:slideInFade .3s ease-out}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInFade{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes popIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes panBackground{0%{background-position:0% 0%}to{background-position:100% 100%}}@keyframes twinkleStars{0%{opacity:.3}50%{opacity:.6}to{opacity:.3}}.game-over-container{width:100%;display:flex;justify-content:center;align-items:center}@media (max-width: 768px){.game-over-container{padding:0 1rem;align-items:flex-start;padding-top:10vh}}@media (max-width: 400px){.container{max-width:380px}.card{padding:32px}.question{font-size:20px}.app-wrapper{padding:16px}.card{padding:24px}.header-item{font-size:14px}.question{font-size:18px}.button{padding:14px 20px}.game-over-container{padding:0 .5rem}}
