html{background-color:#f5f5f7!important;background-color:var(--background-color)!important;min-height:100%}html:before{content:"";height:200vh;left:-50vw;pointer-events:none;position:fixed;top:-50vh;width:200vw;z-index:-1000}body,html:before{background-color:#f5f5f7;background-color:var(--background-color)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#1d1d1f;color:var(--text-color);font-family:SF Pro Text,SF Pro Icons,Helvetica Neue,Helvetica,Arial,sans-serif;margin:0;min-height:100vh}*,:after,:before{transition:background-color .25s ease,color .25s ease,border-color .25s ease,fill .25s ease,stroke .25s ease,box-shadow .25s ease}.App,.navbar{transition:background-color .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important}}:root{--primary-color:#ffc107;--secondary-color:#e0a800;--background-color:#f5f5f7;--background-color-secondary:#e8e8e8;--text-color:#1d1d1f;--text-color-secondary:#6c757d;--text-color-light:#999;--card-background-color:#fff;--border-color:#e0e0e0;--shadow-color:#0000001a;--hover-bg-color:#f0f0f0;--button-text-color:var(--text-color);--input-background-color:#fff;--button-background-color:var(--primary-color);--button-hover-background-color:var(--secondary-color);--card-background-color-disabled:#e0e0e0;--text-color-disabled:#a0a0a0;--button-background-color-disabled:#ccc;--button-text-color-disabled:#999;--navbar-background-color:#ffffff4d}[data-theme=dark]{--background-color:#1e1e1e;--background-color-secondary:#2a2a2a;--text-color:#f5f5f7;--text-color-secondary:#a0a0a0;--text-color-light:#666;--card-background-color:#2f2f2f;--border-color:#3a3a3a;--shadow-color:#0006;--hover-bg-color:#3a3a3a;--button-text-color:#f5f5f7;--input-background-color:#3a3a3a;--button-background-color:var(--primary-color);--button-hover-background-color:var(--secondary-color);--navbar-background-color:#1e1e1e4d;--card-background-color-disabled:#3a3a3a;--text-color-disabled:#777;--button-background-color-disabled:#555;--button-text-color-disabled:#aaa}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body.modal-open{overflow:hidden!important}.modal-overlay{align-items:center;background-color:#0009;display:flex;height:100vh;justify-content:center;left:0;opacity:0;position:fixed;top:0;transition:opacity .3s ease;width:100vw;z-index:10000}.modal-overlay.show{opacity:1}.modal-content{align-items:center;background-color:var(--card-background-color);border-radius:12px;box-shadow:0 8px 30px #00000040;box-sizing:border-box;color:var(--text-color);display:flex;flex-direction:column;max-height:90vh;max-width:800px;opacity:0;padding:30px;position:relative;text-align:center;transform:scale(.8);transition:all .3s cubic-bezier(.34,1.56,.64,1);width:90%}.modal-content.show,.modal-overlay.show .modal-content{opacity:1;transform:scale(1)}.modal-content h2{border-bottom:1px solid var(--border-color);flex-shrink:0;margin:0 0 20px;padding-bottom:15px}.modal-content h2,.modal-content h3{color:var(--text-color);font-size:1.8em}.modal-content h3{margin-bottom:15px}.modal-content-scrollable{word-wrap:break-word;color:var(--text-color);flex-grow:1;font-size:1.1em;line-height:1.8;overflow-y:auto;padding-right:10px}.modal-content-scrollable h1,.modal-content-scrollable h2,.modal-content-scrollable h3{color:var(--primary-color);margin-bottom:.8em;margin-top:1.5em}.modal-content-scrollable ul{list-style-type:disc;margin-left:20px;padding-left:0}.modal-content-scrollable li{margin-bottom:.5em}.modal-content-scrollable p{margin-bottom:1em}.modal-close-button{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:2em;transition:color .3s ease}.modal-close-button:hover{color:var(--primary-color)}.modal-actions{display:flex;gap:15px;justify-content:center}.modal-actions .button{border-radius:8px;box-shadow:0 2px 8px #0000000f;cursor:pointer;font-size:.95em;font-weight:600;padding:10px 22px;transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .12s ease}.modal-actions .primary-button{background-color:var(--button-background-color);border:none;color:var(--button-text-color)}.modal-actions .primary-button:hover{background-color:var(--button-hover-background-color);transform:translateY(-4px) scale(1.01)}.modal-actions .secondary-button{background-color:initial;border:1px solid var(--border-color);color:var(--text-color)}.modal-actions .secondary-button:hover{background-color:var(--hover-bg-color);border-color:var(--primary-color);color:var(--primary-color);transform:translateY(-4px) scale(1.01)}.modal-actions .button:active{transform:translateY(-1px) scale(.995)}@media (max-width:768px){.modal-content{padding:20px;width:95%}.modal-content h2{font-size:1.5em}.modal-close-button{font-size:1.8em}.modal-content-scrollable{font-size:1em}}.session-expired-content{margin:0 auto;max-width:500px;padding:20px;text-align:center}.warning-icon{align-items:center;display:flex;justify-content:center;margin-bottom:20px}.multi-device-icon{height:64px;width:64px}.multi-device-icon path{fill:var(--primary-color)}.session-expired-title{color:#ff6b6b;font-size:1.5em;font-weight:700;margin-bottom:20px;margin-top:0}.session-expired-message{color:var(--text-color);line-height:1.6;margin-bottom:20px;text-align:left}.session-expired-message p{margin-bottom:10px}.session-expired-message ul{margin:10px 0;padding-left:20px}.session-expired-message li{color:var(--text-secondary-color);margin-bottom:5px}.security-tip{background-color:#fff3cd;background-color:var(--warning-background,#fff3cd);border:1px solid #ffeaa7;border:1px solid var(--warning-border,#ffeaa7);border-radius:8px;margin-bottom:25px;padding:15px;text-align:left}.security-tip p{color:#856404;color:var(--warning-text,#856404);font-size:.95em;line-height:1.5;margin:0}.security-tip strong{color:#721c24;color:var(--warning-text-strong,#721c24)}[data-theme=dark] .security-tip{background-color:#2d1b00;border-color:#664d00}[data-theme=dark] .security-tip p{color:gold}[data-theme=dark] .security-tip strong{color:#ffed4e}.session-expired-actions{display:flex;justify-content:center;margin-top:20px}.confirm-logout-button{background-color:var(--primary-color);border:none;border-radius:8px;box-shadow:0 2px 4px #ffc1074d;color:var(--button-text-color);cursor:pointer;font-size:1.1em;font-weight:700;padding:12px 30px;transition:all .3s ease}.confirm-logout-button:hover{background-color:var(--secondary-color);box-shadow:0 4px 8px #ffc10766;transform:translateY(-2px)}.confirm-logout-button:active{box-shadow:0 2px 4px #007bff4d;transform:translateY(0)}@media (max-width:768px){.session-expired-content{padding:15px}.warning-icon{font-size:48px}.session-expired-title{font-size:1.3em}.confirm-logout-button{font-size:1em;padding:10px 25px}}.navbar{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background-color:var(--navbar-background-color);border-bottom:none;height:60px;left:0;padding:0;position:fixed;top:0;z-index:1000}.navbar,.navbar-container{max-height:60px;width:100%}.navbar-container{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:space-between;margin:0 auto;padding:0 10px}.navbar-brand{align-items:center;color:var(--text-color);cursor:pointer;display:flex;flex-shrink:0;font-size:.9em;font-weight:500;gap:8px;letter-spacing:.01em;line-height:1.2;margin-left:20px;margin-right:auto;min-width:-webkit-fit-content;min-width:fit-content}.brand-text-wrapper{align-items:center;display:flex;height:18px;overflow:visible;position:relative}.brand-text{color:var(--text-color);font-size:1em;font-weight:600;transform:none!important;transition:none!important;white-space:nowrap}.brand-text.visible{opacity:1;transform:translateY(0) scale(1)}.brand-text.hidden{opacity:0;transform:translateY(-4px) scale(.98)}.brand-text.primary{font-size:1em}.brand-text.secondary{color:var(--text-color);font-size:.95em}.navbar-brand:hover{box-sizing:border-box!important;margin-left:20px!important;margin-right:auto!important;padding:0!important;transform:none!important;width:auto!important}.navbar-brand *,.navbar-brand :hover{border:none!important;outline:none!important;transform:none!important}.navbar-brand .brand-text{display:inline-block;min-width:-webkit-max-content;min-width:max-content}.navbar-brand:hover .brand-text{margin:0!important;padding:0!important;transform:none!important}.navbar-nav{flex:1 1;gap:15px;justify-content:center;list-style:none;margin:0 auto;padding:0}.nav-item,.navbar-nav{align-items:center;display:flex;height:100%}.nav-item{position:relative}.nav-link{align-items:center;color:var(--text-color);display:flex;font-size:.9em;font-weight:700;height:100%;justify-content:center;line-height:60px;margin:0;padding:0;text-decoration:none;transition:color .3s ease;vertical-align:middle;white-space:nowrap}.nav-link:hover{color:var(--primary-color);opacity:1;transform:none!important}.dropdown-menu{align-items:center;background-color:var(--card-background-color);border-radius:8px;box-shadow:0 4px 15px var(--shadow-color);display:flex;flex-direction:column;left:50%;min-width:180px;opacity:0;padding:10px 0;pointer-events:none;position:absolute;top:100%;transition:opacity .2s ease-out;visibility:hidden;z-index:1001}.dropdown-menu,.dropdown-menu.is-active{transform:translateX(-50%) translateY(0)}.dropdown-menu.is-active{opacity:1;pointer-events:auto;visibility:visible}.dropdown-item{box-sizing:border-box;color:var(--text-color);font-size:.95em;padding:8px 20px;text-align:center;text-decoration:none;width:100%}.dropdown-item:hover{background-color:var(--hover-bg-color);color:var(--primary-color)}.language-switcher{align-items:center;display:flex;position:relative}.language-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:initial;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:12px;border:1px solid var(--border-color);border-radius:5px;color:var(--text-color);cursor:pointer;font-size:.9em;padding:8px 25px 8px 10px}.language-select:focus{border-color:var(--primary-color);outline:none}.fullscreen-overlay{background-color:initial;height:100%;left:0;position:fixed;top:0;transition:none;width:100%;z-index:998}.fullscreen-overlay,.fullscreen-overlay.is-active{opacity:0;pointer-events:none}.fullscreen-toggle-button,.language-toggle-button,.theme-toggle-button{align-items:center;background-color:initial;border:none;border-radius:5px;color:var(--text-color);cursor:pointer;display:flex;font-size:.9em;font-weight:500;height:32px;justify-content:center;padding:6px;transition:background-color .3s ease,color .3s ease;width:32px}.fullscreen-toggle-button:hover,.language-toggle-button:hover,.theme-toggle-button:hover{background-color:var(--hover-bg-color);color:var(--primary-color)}.language-dropdown{background-color:var(--card-background-color);border:1px solid var(--border-color);border-radius:5px;box-shadow:0 2px 8px #0000001a;margin-top:5px;min-width:100px;opacity:0;pointer-events:none;position:absolute;right:0;top:100%;transition:opacity .2s ease-out;visibility:hidden;z-index:1000}.language-dropdown.is-active{opacity:1;pointer-events:auto;visibility:visible}.language-option{color:var(--text-color);cursor:pointer;padding:10px 15px;transition:background-color .3s ease,color .3s ease}.language-option:hover{background-color:var(--hover-bg-color);color:var(--primary-color)}.language-option.active{background-color:var(--primary-color);color:var(--text-color)}.navbar-utilities-right{align-items:center;display:flex;flex-shrink:0;gap:12px;margin-left:auto;margin-right:20px;min-width:-webkit-fit-content;min-width:fit-content}.nav-profile-icon{fill:var(--primary-color);flex-shrink:0;height:20px;vertical-align:middle;width:20px}.nav-user-info{align-items:center;display:flex;gap:6px}.nav-username{color:var(--text-color);font-size:.9em;font-weight:700;overflow:hidden;white-space:nowrap}.nav-link.active-nav-item{color:var(--primary-color);font-weight:700}.nav-link.active-nav-item:after{background-color:var(--primary-color);border-radius:50%;content:"";filter:blur(8px);height:25px;left:50%;opacity:.15;position:absolute;top:50%;transform:translate(-50%,-50%);transition:all .3s ease-out;width:25px;z-index:0}.fade-enter{opacity:0}.fade-enter-active{opacity:1;transition:opacity .2s ease-out}.fade-exit{opacity:1}.fade-exit-active{opacity:0;transition:opacity .15s ease-in}.fullscreen-toggle-button svg,.language-toggle-button svg,.theme-toggle-button svg{display:block;height:20px;width:20px}.navbar-utilities-right>*{margin:0}.fullscreen-toggle-button,.language-toggle-button,.theme-toggle-button{box-sizing:border-box;outline:none}.fullscreen-toggle-button:focus-visible,.language-toggle-button:focus-visible,.theme-toggle-button:focus-visible{box-shadow:0 0 0 2px #ffc107,.2;box-shadow:0 0 0 2px var(--primary-color,#ffc107,.2)}.navbar .navbar-utilities-right .fullscreen-toggle-button{align-items:center;background:#0000;border:none;border-radius:5px;box-sizing:border-box;display:flex;height:32px;justify-content:center;margin:0!important;padding:6px;width:32px}.navbar .navbar-utilities-right .fullscreen-toggle-button:hover{background-color:var(--hover-bg-color);color:var(--primary-color);transform:none!important}.navbar .navbar-utilities-right .fullscreen-toggle-button svg{display:block;height:30px!important;width:30px!important}.navbar .navbar-utilities-right .fullscreen-toggle-button{height:30px!important;padding:3px!important;width:30px!important}.navbar-utilities-right .time-display{align-items:center;border-radius:5px;color:var(--primary-color);display:flex;font-size:.95em;font-weight:600;height:32px;justify-content:center;padding:0 6px}.navbar-utilities-right .lang-or-time-slot{position:relative}.navbar-utilities-right .fraud-slot,.navbar-utilities-right .lang-or-time-slot{align-items:center;display:flex;height:32px;justify-content:center;width:32px}.navbar-utilities-right .fraud-slot .hidden{visibility:hidden}.fraud-button{position:relative}@keyframes fraudPulse{0%{color:currentColor;opacity:1;transform:scale(1)}30%{color:var(--primary-color);opacity:1;transform:scale(1.06)}60%{color:var(--primary-color);opacity:1;transform:scale(1)}to{color:currentColor;opacity:1;transform:scale(1)}}.fraud-icon{animation:fraudPulse 5s ease-in-out infinite;transform-origin:center}.fraud-button svg path:last-of-type{fill:var(--background-color)!important}.modal-title{align-items:center;display:flex;gap:8px;justify-content:center;width:100%}.modal-title h3{margin:0}.modal-nav-left,.modal-nav-right{align-items:center;background:#0000;border:none;color:var(--text-color);cursor:pointer;display:flex;justify-content:center;padding:4px}.modal-nav-left:hover,.modal-nav-right:hover{color:var(--primary-color)}.navbar-utilities-right .lang-or-time-slot .slot-content{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.navbar-utilities-right .language-switcher .language-dropdown{position:absolute}@media screen and (max-width:1400px){.navbar-nav.desktop-only{display:none!important}.navbar{height:50px;max-height:50px}.navbar-container{gap:10px;justify-content:flex-start;padding:0 10px}.navbar-brand{flex-shrink:0;font-size:.85em;margin-left:0;margin-right:auto;min-width:-webkit-fit-content;min-width:fit-content}.navbar-brand:hover{margin-left:0!important;margin-right:auto!important;transform:none!important}.mobile-menu-toggle{align-items:center;background:#0000;border:none;border-radius:5px;color:var(--text-color);cursor:pointer;display:flex;height:36px;justify-content:center;padding:6px;transition:background-color .2s;width:36px}.mobile-menu-toggle:hover{background-color:var(--hover-bg-color)}.mobile-menu-toggle svg{height:24px;width:24px}.navbar-utilities-right{gap:5px}.fraud-button,.fullscreen-toggle-button,.language-toggle-button,.theme-toggle-button{height:32px;padding:4px;width:32px}.fraud-button svg,.fullscreen-toggle-button svg,.language-toggle-button svg,.theme-toggle-button svg{height:18px;width:18px}.fullscreen-toggle-button{display:none}.time-display{font-size:.8em;padding:2px 6px}}.mobile-sidebar{background-color:#00000080;height:100%;left:0;opacity:0;position:fixed;top:0;transition:opacity .3s ease,visibility .3s ease;visibility:hidden;width:100%;z-index:2000}.mobile-sidebar.is-open{opacity:1;visibility:visible}.mobile-sidebar-content{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background-color:var(--navbar-background-color);display:flex;flex-direction:column;height:100%;left:0;overflow-y:auto;position:absolute;top:0;transform:translateX(-100%);transition:transform .3s ease;width:280px}.mobile-sidebar.is-open .mobile-sidebar-content{transform:translateX(0)}.mobile-sidebar-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:15px 20px}.mobile-sidebar-title{color:var(--text-color);font-size:1.1em;font-weight:600}.mobile-sidebar-close{align-items:center;background:#0000;border:none;border-radius:5px;color:var(--text-color);cursor:pointer;display:flex;justify-content:center;padding:5px;transition:background-color .2s}.mobile-sidebar-close:hover{background-color:var(--hover-bg-color)}.mobile-sidebar-close svg{height:24px;width:24px}.mobile-nav-list{flex:1 1;list-style:none;margin:0;padding:10px 0}.mobile-nav-item{border-bottom:1px solid var(--border-color)}.mobile-nav-link{color:var(--text-color);display:block;font-size:1em;font-weight:500;padding:15px 20px;text-decoration:none;transition:background-color .2s,color .2s}.mobile-nav-link.active,.mobile-nav-link:hover{background-color:var(--hover-bg-color);color:var(--primary-color)}.mobile-nav-parent{color:var(--text-color);font-weight:600}.mobile-subnav-list{background-color:var(--background-color);list-style:none;margin:0;padding:0}.mobile-subnav-item{border-top:1px solid var(--border-color)}.mobile-subnav-link{color:var(--text-color);display:block;font-size:.9em;padding:12px 20px 12px 35px;text-decoration:none;transition:background-color .2s,color .2s}.mobile-subnav-link:hover{background-color:var(--hover-bg-color);color:var(--primary-color)}.mobile-bottom-nav{align-items:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background-color:var(--navbar-background-color);border-top:1px solid var(--border-color);bottom:0;display:flex;height:60px;justify-content:space-around;left:0;padding-bottom:env(safe-area-inset-bottom);position:fixed;width:100%;z-index:1000}.mobile-bottom-nav-item{align-items:center;color:var(--text-color);display:flex;flex:1 1;flex-direction:column;gap:3px;height:100%;justify-content:center;text-decoration:none;transition:color .2s}.mobile-bottom-nav-item.active,.mobile-bottom-nav-item:hover{color:var(--primary-color)}.mobile-bottom-nav-icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.mobile-bottom-nav-icon svg{fill:currentColor;height:100%;width:100%}.mobile-bottom-nav-label{font-size:.7em;font-weight:500}@media screen and (min-width:1401px){.mobile-bottom-nav,.mobile-menu-toggle,.mobile-sidebar{display:none!important}}@media screen and (max-width:1400px){body{padding-bottom:60px}.account-page,.courses-page,.home-page,.learning-page{padding-bottom:70px}}.animated-background-canvas{height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.liquid-ether-container{height:100%;inset:0;overflow:hidden;pointer-events:none;position:absolute;width:100%;z-index:1}.pixel-blast-container{overflow:hidden}.faulty-terminal-container,.pixel-blast-container,.pixel-blast-proxy{height:100%;position:relative;width:100%}.faulty-terminal-container{overflow:hidden}.faulty-terminal-container canvas{display:block;height:100%!important;width:100%!important}.hero-section{align-items:center;background-color:var(--background-color);color:#fff;display:flex;height:100vh;justify-content:center;overflow:hidden;position:relative;text-align:center}.hero-bg-wrapper{height:100%;inset:0;position:absolute;width:100%;z-index:1}.hero-content{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0000004d;border-radius:15px;max-width:800px;padding:30px;position:relative;z-index:2}.hero-content h2{color:var(--text-color);font-size:3.5em;font-weight:700;line-height:1.1;margin-bottom:25px}.hero-content p{color:var(--text-color);font-size:1.5em;line-height:1.4;margin-bottom:40px}.hero-illustration{display:none}.hero-button{background-color:#e6b800;border:2px solid #e6b800;border-radius:34px;color:#212121;cursor:pointer;font-size:18px;font-weight:600;overflow:hidden;padding:10px 24px;position:relative;transition:all .3s cubic-bezier(.23,1,.32,1)}.hero-button:before{background-color:#e6b800;border-radius:inherit;content:"";height:50px;inset:0;margin:auto;position:absolute;scale:3;transition:all .6s cubic-bezier(.23,1,.32,1);width:50px;z-index:-1}.hero-button:hover:before{scale:0}.hero-button:hover{background-color:initial;box-shadow:0 0 20px #e6b8002e;color:#e6b800;scale:1.05}.hero-button:active{scale:1}.hero-button.quiz-button{margin-left:20px}.hero-action{background:#0000;border:0;border-radius:28px;box-shadow:0 .625em 1em 0 #e6b8002e;cursor:pointer;display:flex;flex-direction:column;height:56px;max-width:200px;outline:0;overflow:hidden;padding:0;width:100%}.hero-action div{transform:translateY(0);width:100%}.hero-action,.hero-action div{transition:.6s cubic-bezier(.16,1,.3,1)}.hero-action div span{align-items:center;display:flex;height:56px;justify-content:center;padding:0 1.25em}.hero-action div:first-child,.hero-action div:nth-child(2){background-color:var(--primary-color)}.hero-action:hover{box-shadow:0 .625em 1em 0 #e6b80047}.hero-action:hover div{transform:translateY(-56px)}.hero-action p{color:#fff;font-size:17px;font-weight:700;margin:0}.hero-action:active{transform:scale(.97)}.hero-action-wrapper{display:flex;gap:20px;justify-content:center;margin-top:20px}@media (max-width:768px){.hero-section{min-height:400px;padding:80px 15px}.hero-content h2{font-size:2.5em}.hero-content p{font-size:1.2em}}@media (max-width:480px){.hero-content h2{font-size:1.8em}.hero-content p{font-size:1em}}.hero-founded{bottom:20px;color:var(--text-color-secondary);font-size:.9em;position:absolute;right:20px;transition:opacity .3s ease,transform .3s ease;z-index:2}.hero-founded.faded{opacity:0;transform:translateY(6px)}.text-rotate{display:flex;flex-wrap:wrap;position:relative;white-space:pre-wrap}.text-rotate-sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.text-rotate-word{display:inline-flex}.text-rotate-lines{display:flex;flex-direction:column;width:100%}.text-rotate-element{display:inline-block}.text-rotate-space{white-space:pre}.rotating-inline{display:inline-block;vertical-align:initial}.rotating-text-item{display:none;transition:opacity .24s ease}.rotating-text-item.active{display:inline;opacity:1}.featured-course-container{margin:0 auto;max-width:1200px;padding:0 20px}.featured-course-title{color:var(--text-color);font-size:2.2em;font-weight:700;margin-bottom:40px;margin-top:50px;text-align:center}.featured-course-list-wrapper{overflow:hidden;padding:20px 0;position:relative;width:100%}.featured-course-list-wrapper:after,.featured-course-list-wrapper:before{bottom:0;content:"";pointer-events:none;position:absolute;top:0;width:100px;z-index:2}.featured-course-list-wrapper:before{background:linear-gradient(to right,var(--background-color) 0,#fff0 100%);left:0}.featured-course-list-wrapper:after{background:linear-gradient(to left,var(--background-color) 0,#fff0 100%);right:0}.featured-course-list{animation:scroll 60s linear infinite;animation:scroll var(--animation-duration,60s) linear infinite;display:flex;gap:20px}.featured-course-list-wrapper:hover .featured-course-list{animation-play-state:paused}@keyframes scroll{0%{transform:translateX(-2600px);transform:translateX(var(--scroll-distance,-2600px))}to{transform:translateX(0)}}.featured-course-card{background-color:var(--card-background-color);border-radius:12px;box-shadow:0 6px 18px var(--shadow-color);flex:0 0 240px;overflow:hidden;position:relative;transition:transform .3s ease,box-shadow .3s ease;width:240px;.featured-course-card.featured-noninteractive{cursor:default}.featured-course-card.featured-noninteractive:hover{box-shadow:0 6px 18px var(--shadow-color);transform:none}.featured-course-card.featured-noninteractive .featured-course-button{opacity:0!important;pointer-events:none!important;visibility:hidden!important}}.featured-course-image-container{align-items:center;display:flex;height:180px;justify-content:center;overflow:hidden}.featured-course-image{border-radius:8px;display:block;height:85%;object-fit:cover;width:85%}.featured-course-info{padding:15px;position:relative;text-align:center;z-index:2}.featured-course-card h3{color:var(--text-color);font-size:1.2em;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;transition:color .3s ease;white-space:nowrap}.featured-course-card:hover{box-shadow:0 12px 30px var(--shadow-color);transform:translateY(-8px)}.featured-course-card:hover:after{background:linear-gradient(0deg,#000000b3 0,#0000 80%);bottom:0;content:"";height:100%;left:0;pointer-events:none;position:absolute;right:0;z-index:1}.featured-course-card:hover h3{color:#fff}.featured-course-button{background-color:var(--primary-color);border:none;border-radius:8px;bottom:15px;color:var(--button-text-color);cursor:pointer;font-size:.9em;left:50%;opacity:0;padding:8px 16px;position:absolute;transform:translate(-50%,150%);transition:transform .4s cubic-bezier(.175,.885,.32,1.275),opacity .3s ease,visibility .3s ease;visibility:hidden;width:75%;z-index:3}.featured-course-card:hover .featured-course-button{opacity:1;transform:translate(-50%);visibility:visible}.featured-course-button:hover{background-color:var(--secondary-color)}.featured-course-card.featured-noninteractive{pointer-events:none}.featured-course-card.featured-noninteractive:hover:after{display:none!important}.featured-course-card.featured-noninteractive:hover h3{color:var(--text-color)!important}.featured-course-card.featured-noninteractive:hover .featured-course-button{opacity:0!important;pointer-events:none!important;transform:translate(-50%,150%)!important;visibility:hidden!important}.course-list-container{margin:0 auto;max-width:1200px;padding:0 20px}.course-list-title{color:var(--text-color);font-size:2.2em;font-weight:700;margin-bottom:40px;margin-top:50px;text-align:center}.course-list{grid-gap:30px;background-color:initial;display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));padding:40px 0}.course-card{background-color:var(--card-background-color)!important;box-shadow:0 8px 24px var(--shadow-color);flex-direction:column;transition:transform .3s ease,box-shadow .3s ease}.course-card:hover{box-shadow:0 12px 36px var(--shadow-color);transform:translateY(-5px)}.course-image-container{background-color:var(--background-color);height:200px;overflow:hidden;width:100%}.course-image{display:block;height:100%;object-fit:cover;width:100%}.course-info{display:flex;flex-direction:column;flex-grow:1;padding:20px}.course-card h3{color:var(--text-color)!important;font-size:1.4em;font-weight:600;margin-bottom:10px;margin-top:0;text-align:center}.course-description{color:var(--text-color)!important;font-size:.95em;line-height:1.5;margin-bottom:15px}.course-instructor{color:var(--text-color)!important;font-size:.85em;margin-bottom:20px}.course-button{background-color:var(--primary-color);border:none;border-radius:999px;color:var(--button-text-color);cursor:pointer;margin-top:auto;padding:10px 20px;transition:background-color .3s ease,transform .2s ease}.course-button:hover{background-color:var(--secondary-color);transform:translateY(-2px)}.footer{background-color:var(--background-color);border-top:none;color:var(--text-color);font-size:.8em;padding:30px 20px;text-align:center}.footer-content{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:1000px}.copyright{margin:0}.copyright-row{align-items:center;display:flex;gap:12px;justify-content:center;margin:0 auto 10px;max-width:1000px;width:100%}.uptime{color:var(--text-color);font-size:.9em;margin:0;opacity:.5}.footer-links{display:flex;flex-wrap:wrap;justify-content:center;list-style:none;margin:0;padding:0}.footer-links li{margin:0 10px 10px}.footer-links a{color:var(--text-color);text-decoration:none;transition:color .3s ease}.footer-links a:hover{color:var(--primary-color)}.social-links{gap:20px;margin:15px 0}.social-link,.social-links{align-items:center;display:flex;justify-content:center}.social-link{background-color:var(--hover-bg-color);border-radius:50%;color:var(--text-color-secondary);height:36px;transition:all .3s ease;width:36px}.social-link:hover{background-color:var(--primary-color);color:var(--button-text-color);transform:translateY(-3px)}.social-link svg{height:20px;width:20px}.quiz-page-container{align-items:center;background-color:var(--background-color);display:flex;justify-content:center;min-height:calc(100vh - 120px);padding:20px}.quiz-card{background-color:var(--card-background-color);border-radius:12px;box-shadow:0 8px 24px var(--shadow-color);max-width:700px;padding:40px;text-align:center;width:100%}.question-number{color:var(--text-color);font-size:1.1em;margin-bottom:10px}.question-text{font-size:1.8em;font-weight:600;line-height:1.4;margin-bottom:30px}.options-container{display:flex;flex-direction:column;gap:15px;margin-bottom:30px}.option-button{background-color:var(--background-color);color:var(--text-color);font-size:1.1em;padding:15px 20px;text-align:left;transition:background-color .3s ease,border-color .3s ease;width:100%}.option-button.selected{border-color:var(--primary-color)}.next-button,.option-button.selected{background-color:var(--primary-color);color:var(--button-text-color)}.next-button{border-radius:8px;font-size:1.1em;padding:12px 24px;transition:background-color .3s ease,transform .2s ease}.next-button:disabled{background-color:var(--border-color);cursor:not-allowed;transform:none}.next-button:hover:not(:disabled){background-color:var(--secondary-color);transform:translateY(-2px)}.quiz-result h2{margin-bottom:15px}.quiz-result p{font-size:1.2em}.login-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#0003;display:flex;height:100%;justify-content:center;left:0;opacity:0;position:fixed;top:0;transition:opacity .3s ease;width:100%;z-index:1000}.login-modal-overlay.show{opacity:1}.login-modal-overlay.show .login-modal-content{opacity:1;transform:scale(1)}.login-modal-content{background-color:var(--card-background-color);border-radius:12px;box-shadow:0 8px 24px #00000026;color:var(--text-color);max-width:600px;min-height:450px;opacity:0;padding:40px;position:relative;transform:scale(.8);transition:all .3s cubic-bezier(.34,1.56,.64,1);width:90%}.login-modal-content :not(button):not(.back-button){color:inherit}.login-modal-content label,.login-modal-content p{color:var(--text-color)}.login-modal-overlay.fade-out{opacity:0;transition:opacity .3s ease}.login-modal-overlay.fade-out .login-modal-content{opacity:0;transform:scale(.8);transition:all .3s ease}.login-modal-close-button{background:none;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:24px;position:absolute;right:15px;top:15px;transition:color .2s ease}.login-modal-close-button:hover{color:var(--text-color)}.login-modal-content h2{color:var(--text-color);font-size:2em;font-weight:600;margin-bottom:30px}.form-group{margin-bottom:20px;text-align:left}.form-group label{color:var(--text-color);font-size:.95em;margin-bottom:8px}.password-input-wrapper{align-items:center;display:flex;position:relative;width:100%}.password-input-icon{color:#ffc107;color:var(--primary-color,#ffc107);flex-shrink:0;left:12px;position:absolute;z-index:1}.form-group .password-input-with-icon,.password-input-with-icon,.password-input-wrapper .password-input-with-icon{background:#fff!important;background:var(--card-background-color,#fff)!important;border:1px solid var(--border-color)!important;border-radius:8px!important;box-sizing:border-box!important;color:var(--text-color)!important;display:block!important;font-size:1.1em!important;height:auto!important;margin:0!important;max-width:none!important;min-width:0!important;padding:14px 25px 14px 45px!important;width:100%!important}.form-group input[type=password]:not(.password-input-with-icon),.form-group input[type=text]{background-color:var(--background-color);background-color:var(--input-background-color,var(--background-color));border:1px solid var(--border-color);border-radius:8px;box-sizing:border-box;color:var(--text-color);font-size:1em;padding:12px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-group input[type=password]::placeholder,.form-group input[type=text]::placeholder{color:var(--text-color-secondary)}.form-group input[type=password]:not(.password-input-with-icon):focus,.form-group input[type=text]:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #ffc10733;outline:none}.password-input-with-icon:focus{border-color:var(--primary-color)!important;box-shadow:0 0 0 3px #ffc10733!important;outline:none}.login-button{background-color:var(--primary-color);border:none;border-radius:8px;color:var(--button-text-color);cursor:pointer;font-size:1.1em;font-weight:600;margin-top:15px;padding:14px 25px;transition:background-color .3s ease,transform .2s ease;width:100%}.login-button:hover{background-color:#e6b800;transform:translateY(-2px)}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-50px)}}.login-terms-notice{background-color:var(--background-color);border-left:4px solid var(--primary-color);border-radius:8px;margin-top:20px;padding:15px}.login-terms-notice .terms-line1,.login-terms-notice .terms-line2{color:var(--text-color-secondary);font-size:13px;line-height:1.4;margin:5px 0;text-align:center}.login-terms-notice .terms-line1{margin-bottom:8px}.login-terms-notice .terms-link{color:var(--primary-color);font-weight:500;text-decoration:none;transition:color .3s ease}.login-terms-notice .terms-link:hover{color:var(--secondary-color);text-decoration:underline}.login-modal-content .form-group input[type=password]:not(.password-input-with-icon),.login-modal-content .form-group input[type=text]:not(.password-input-with-icon){background-color:var(--background-color);background-color:var(--input-background-color,var(--background-color));border:1px solid var(--border-color);color:var(--text-color)}.login-modal-content .form-group input[type=password]:not(.password-input-with-icon):focus,.login-modal-content .form-group input[type=text]:not(.password-input-with-icon):focus{background-color:var(--background-color);background-color:var(--input-background-color,var(--background-color));border-color:var(--primary-color)}.login-modal-content .alipay-login-button{background-color:#1677ff;color:#fff}.login-modal-content .alipay-login-button:hover{background-color:#0958d9}.sms-code-input-group{display:flex;gap:10px}.sms-code-input-group input{flex:1 1;font-size:1.2em;letter-spacing:4px;text-align:center}.resend-button{background-color:#f5f5f5;background-color:var(--background-color-secondary,#f5f5f5);border:1px solid var(--border-color);border-radius:8px;color:var(--text-color);cursor:pointer;font-size:.9em;padding:12px 16px;transition:all .2s ease;white-space:nowrap}.resend-button:hover:not(:disabled){background-color:var(--primary-color);border-color:var(--primary-color);color:#000}.resend-button:disabled{cursor:not-allowed;opacity:.6}.login-modal-back-button{background-color:initial!important;border:1px solid #ddd!important;border:1px solid var(--border-color,#ddd)!important;border-radius:8px!important;box-shadow:none!important;color:#666!important;color:var(--text-color-secondary,#666)!important;cursor:pointer!important;display:block!important;filter:none!important;font-size:1em!important;font-weight:500!important;margin-top:12px!important;padding:12px 25px!important;text-decoration:none!important;transition:all .3s ease!important;width:100%!important}.login-modal-back-button:hover{background-color:#f5f5f5!important;background-color:var(--hover-bg-color,#f5f5f5)!important;border-color:#999!important;border-color:var(--text-color-secondary,#999)!important;box-shadow:none!important;color:#333!important;color:var(--text-color,#333)!important;filter:none!important;transform:translateY(-1px)!important}.login-modal-content .phone-display{background-color:var(--input-background-color);border:1px solid var(--border-color);border-radius:8px;box-sizing:border-box;color:var(--text-color);font-size:1.1em;font-weight:600;margin-bottom:15px;padding:12px;text-align:center;width:100%}.password-input-group{margin:0;padding:0;width:100%}.password-input-group .password-input{background-color:var(--background-color);background-color:var(--input-background-color,var(--background-color));border:1px solid var(--border-color);border-radius:8px;box-sizing:border-box;color:var(--text-color);font-size:1.1em;padding:14px 25px;width:100%}.password-input-group .password-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #ffc10733;outline:none}.input-valid{background-color:#28a7450d!important;border-color:#28a745!important}.input-valid:focus{border-color:#28a745!important;box-shadow:0 0 0 3px #28a74533!important}.input-error{background-color:#dc35450d!important;border-color:#dc3545!important}.input-error:focus{border-color:#dc3545!important;box-shadow:0 0 0 3px #dc354533!important}.new-user-confirm-overlay{background-color:#00000080;z-index:2000}.new-user-confirm-dialog{background-color:var(--card-background-color);border-radius:12px;box-shadow:0 8px 24px #00000026;max-width:480px;padding:35px 40px;text-align:center;width:90%}.new-user-confirm-dialog h3{color:var(--text-color);font-size:1.4em;font-weight:600;margin:0 0 20px}.new-user-confirm-dialog .confirm-phone{color:var(--text-color);font-size:1.05em;margin:15px 0}.new-user-confirm-dialog .confirm-question{color:var(--text-color);font-size:1.1em;font-weight:500;margin:15px 0 25px}.new-user-confirm-dialog strong{color:var(--primary-color);font-weight:600}.new-user-confirm-buttons{display:flex;gap:15px;justify-content:center;margin-bottom:25px;margin-top:25px}.confirm-cancel-btn,.confirm-send-btn{border:none;border-radius:8px;cursor:pointer;font-size:1em;font-weight:500;min-width:120px;padding:12px 24px;transition:all .2s ease}.confirm-cancel-btn{background-color:#f5f5f5;background-color:var(--background-color-secondary,#f5f5f5);color:var(--text-color)}.confirm-cancel-btn:hover{background-color:var(--border-color)}.confirm-send-btn{background-color:#ffc107;background-color:var(--primary-color,#ffc107);color:#000;color:var(--button-text-color,#000)}.confirm-send-btn:hover:not(:disabled){background-color:#e6ac00;transform:translateY(-1px)}.confirm-send-btn:disabled{background-color:#e0e0e0;background-color:var(--background-color-secondary,#e0e0e0);color:var(--text-color-secondary);cursor:not-allowed}.new-user-2fa-notice{margin-top:20px;text-align:left}.notice-divider{background-color:var(--border-color);height:1px;margin-bottom:20px}.new-user-2fa-notice h4{color:#dc3545;font-size:1.1em;font-weight:600;margin:0 0 12px;text-align:center}.new-user-2fa-notice p{color:var(--text-color-secondary);font-size:.9em;line-height:1.5;margin:8px 0}.new-user-2fa-notice .notice-help{border-top:1px dashed var(--border-color);color:var(--primary-color);font-weight:500;margin-top:12px;padding-top:12px}.login-success-toast{animation:toastIn .3s ease-out;background-color:#fffffff2;border-radius:12px;box-shadow:0 10px 40px #0003;left:50%;padding:30px 50px;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:3000}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.success-toast-content{align-items:center;display:flex;flex-direction:column;gap:15px}.success-icon{height:60px;width:60px}.success-icon-circle{stroke:#4caf50;stroke-width:3;stroke-dasharray:166;stroke-dashoffset:166;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.success-icon-check{stroke:#4caf50;stroke-width:4;stroke-dasharray:48;stroke-dashoffset:48;animation:stroke .3s cubic-bezier(.65,0,.45,1) .4s forwards}@keyframes stroke{to{stroke-dashoffset:0}}.success-toast-text{color:#4caf50;font-size:1.2em;font-weight:600}.divider{display:block;margin:20px 0;width:100%}.divider:before{display:block;width:100%;z-index:1}.divider-text{background-color:var(--card-background-color);color:var(--text-color-secondary);display:inline-block;font-size:.9em;padding:0 15px;position:relative;z-index:2}.google-login-wrapper{align-items:center;display:flex;flex-direction:column;justify-content:center;width:100%}.google-button-container{display:inline-block;position:relative}.google-login-overlay{background:#0000;bottom:0;cursor:not-allowed;left:0;position:absolute;right:0;top:0;z-index:100}.google-login-hint{color:var(--text-color-secondary);font-size:.85em;margin-bottom:0;margin-top:10px;text-align:center}.alipay-login-button{background-color:#1677ff;border-radius:8px;font-size:1em;gap:8px;margin-bottom:12px;padding:12px 20px;transition:background-color .2s}.alipay-login-button:hover:not(:disabled){background-color:#0958d9}.alipay-login-button:disabled{cursor:not-allowed;opacity:.7}.login-message{border-radius:8px;font-size:.9em;margin-top:15px;padding:10px;text-align:center}.login-message:empty{display:none}@media (max-width:768px){.login-modal-content{margin:20px;max-width:500px;min-height:auto;padding:30px 20px;width:95%}.sms-code-input-group{flex-direction:column}.resend-button{padding:10px;width:100%}}.turnstile-container{align-items:center;display:flex;flex-direction:column;margin:15px 0}.turnstile-widget{align-items:center;display:flex;justify-content:center;max-width:300px;width:100%}.turnstile-error{background-color:#fee;border:1px solid #fcc;border-radius:5px;color:#c33;font-size:.9em;margin-top:10px;padding:10px;text-align:center}.turnstile-error p{margin:0 0 10px}.turnstile-retry-btn{background-color:#007cba;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:.8em;padding:5px 15px;transition:background-color .3s ease}.turnstile-retry-btn:hover{background-color:#005a87}.turnstile-retry-btn:disabled{background-color:#ccc;cursor:not-allowed}@media (max-width:768px){.turnstile-container{margin:10px 0}.turnstile-widget{max-width:100%}}[data-theme=dark] .turnstile-error{background-color:#2d1b1b;border-color:#5c2e2e;color:#ff6b6b}[data-theme=dark] .turnstile-retry-btn{background-color:#4a90e2}[data-theme=dark] .turnstile-retry-btn:hover{background-color:#357abd}.twofa-setup-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.twofa-setup-dialog{animation:dialogSlideIn .3s ease;background:#fff;background:var(--card-background-color,#fff);border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:1000px;overflow-y:auto;width:100%}.twofa-setup-header{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color,#e0e0e0);padding:20px 24px 16px;text-align:center}.twofa-setup-header h2{color:#333;color:var(--text-color,#333);font-size:1.4em;margin:0 0 8px}.twofa-setup-subtitle{color:#666;color:var(--text-color-secondary,#666);font-size:.9em;margin:0}.twofa-setup-time{color:#ffc107;color:var(--primary-color,#ffc107);font-size:.85em;font-weight:500;margin:8px 0 0}.twofa-setup-content{padding:20px 24px}.twofa-setup-layout{align-items:flex-start;display:flex;gap:32px}.twofa-setup-left{align-items:center;display:flex;flex:0 0 320px;flex-direction:column}.twofa-setup-right{flex:1 1;min-width:0}.qr-panels{display:flex;gap:16px;width:100%}.qr-panel{background:#f5f5f5;background:var(--background-color,#f5f5f5);border-radius:10px;flex:1 1;padding:28px 8px 12px;position:relative;text-align:center}.qr-badge{background:#ffc107;background:var(--primary-color,#ffc107);border:2px solid #fff;border-radius:50%;box-shadow:0 2px 8px #ffc10780;color:#333;font-size:.9em;font-weight:700;height:28px;justify-content:center;left:50%;position:absolute;top:-10px;transform:translateX(-50%);width:28px}.qr-badge,.qr-panel-content{align-items:center;display:flex}.qr-panel-content{flex-direction:column}.qr-panel-image{background:#fff;border:2px solid #e0e0e0;border:2px solid var(--border-color,#e0e0e0);border-radius:8px;height:100px;padding:6px;width:100px}.qr-panel-image.main-qr{height:110px;width:110px}.qr-panel-hint{color:#666;color:var(--text-color-secondary,#666);font-size:.75em;line-height:1.3;margin:6px 0 0}.qr-panel-note{color:#888;color:var(--text-color-secondary,#888);font-size:.7em;font-style:italic;margin:2px 0 0}.qr-panel-link{color:#ffc107;color:var(--primary-color,#ffc107);font-size:.75em;font-weight:600;margin-top:6px;text-decoration:underline}.qr-loading-small{align-items:center;display:flex;height:110px;justify-content:center;width:110px}.loading-spinner-small{border:3px solid #e0e0e0;border-top-color:#ffc107;border:3px solid var(--border-color,#e0e0e0);border-top-color:var(--primary-color,#ffc107);height:30px;width:30px}.manual-secret-compact{background:#f5f5f5;background:var(--background-color,#f5f5f5);border-radius:8px;margin-top:12px;padding:10px;text-align:center;width:100%}.manual-secret-compact p{color:#666;color:var(--text-color-secondary,#666);font-size:.8em;margin:0 0 6px}.security-notice{background:#ffebee;border:1px solid #ef5350;border-radius:8px;margin-top:12px;padding:10px;width:100%}.security-title{color:#c62828;font-size:.85em;font-weight:700;margin-bottom:6px;text-align:center}.security-list{color:#d32f2f;font-size:.75em;line-height:1.5;margin:0;padding-left:16px}.security-list li{margin-bottom:2px}.qr-code-loading{align-items:center;border:2px dashed #e0e0e0;border:2px dashed var(--border-color,#e0e0e0);border-radius:12px;color:#666;color:var(--text-color-secondary,#666);display:flex;flex-direction:column;height:180px;justify-content:center;width:180px}.manual-secret{background:#f5f5f5;background:var(--background-color-secondary,#f5f5f5);border-radius:8px;margin-top:16px;padding:12px;text-align:center;width:100%}.manual-secret p{color:#666;color:var(--text-color-secondary,#666);font-size:.8em;margin:0 0 8px}.secret-code{background:#fff;border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:6px;color:#333;color:var(--text-color,#333);display:inline-block;font-family:Courier New,monospace;font-size:.8em;letter-spacing:1px;padding:6px 10px;word-break:break-all}.twofa-steps{margin-bottom:16px}.twofa-step{display:flex;gap:10px;margin-bottom:12px}.twofa-step:last-child{margin-bottom:0}.step-number{align-items:center;background:#ffc107;background:var(--primary-color,#ffc107);border-radius:50%;color:#000;display:flex;flex-shrink:0;font-size:.85em;font-weight:600;height:24px;justify-content:center;width:24px}.step-content h4{color:#333;color:var(--text-color,#333);font-size:.95em;margin:0 0 4px}.step-content p{color:#666;color:var(--text-color-secondary,#666);font-size:.85em;line-height:1.4;margin:0}.app-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.app-tag{background:#fff8e1;background:var(--primary-color-light,#fff8e1);border-radius:10px;color:#f57c00;color:var(--primary-color-dark,#f57c00);font-size:.75em;font-weight:500;padding:3px 8px}.app-tag.recommended{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;font-weight:600}.download-links{margin-top:12px}.download-guide-compact,.download-links{background:#f5f5f5;background:var(--hover-bg-color,#f5f5f5);border-radius:8px;padding:10px}.download-guide-compact{border-left:3px solid #ffc107;border-left:3px solid var(--primary-color,#ffc107);margin-top:10px}.guide-tip{color:#333;color:var(--text-color,#333);font-size:.85em;margin-bottom:8px}.platform-row{display:flex;gap:8px}.platform-box{background:#fff;border-radius:6px;flex:1 1;font-size:.8em;padding:8px}.platform-label{color:#ffc107;color:var(--primary-color,#ffc107);display:block;font-size:.9em;margin-bottom:2px}.platform-desc{color:#666;color:var(--text-color-secondary,#666);line-height:1.4}.download-hint{color:#333;color:var(--text-color,#333);font-size:.85em;line-height:1.5;margin:0 0 8px}.download-hint:last-child{margin-bottom:0}.download-link{color:#ffc107;color:var(--primary-color,#ffc107);cursor:pointer;font-weight:600;text-decoration:underline}.download-link:hover{color:#ff9800;color:var(--secondary-color,#ff9800)}.qr-code-section{background:#f5f5f5;border-radius:8px;margin-top:12px;padding:12px;text-align:center}.qr-hint{color:#333;color:var(--text-color,#333);font-size:.9em;margin:0 0 10px}.qr-code-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:inline-block;padding:10px}.qr-code-image{display:block;height:120px;margin:0 auto;width:120px}.qr-caption{color:#666;color:var(--text-color-secondary,#666);font-size:.8em;margin:8px 0 0}.account-notice-compact{background:#e3f2fd;border-left:3px solid #2196f3;border-radius:4px;color:#333;color:var(--text-color,#333);font-size:.8em;margin-top:8px;padding:8px 10px}.step-3-section{background:#f5f5f5;background:var(--background-color,#f5f5f5);border-radius:10px;margin-top:16px;padding:16px;text-align:center}.step-3-header{align-items:center;display:flex;gap:10px;justify-content:center;margin-bottom:8px}.step-3-header h4{color:#333;color:var(--text-color,#333);font-size:1em;margin:0}.step-3-desc{color:#666;color:var(--text-color-secondary,#666);font-size:.9em;margin:0}.code-input-section{margin-top:12px}.code-inputs{gap:8px;margin-bottom:8px}.code-input{border-radius:8px;font-size:1.4em;height:52px;width:44px}.code-input:focus{box-shadow:0 0 0 3px #ffc10733}.code-hint{font-size:.8em}.twofa-error{border-radius:6px;font-size:.85em;gap:6px;margin-top:12px;padding:10px 12px}.twofa-setup-footer{border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color,#e0e0e0);display:flex;gap:12px;justify-content:flex-end;padding:16px 24px 20px}.twofa-setup-footer button{align-items:center;border-radius:8px;cursor:pointer;display:flex;font-size:.95em;font-weight:500;gap:6px;justify-content:center;padding:10px 24px;transition:all .2s ease}.btn-primary{background:#ffc107;background:var(--primary-color,#ffc107);border:none;color:#000}.btn-primary:hover:not(:disabled){background:#ffb300;background:var(--primary-color-dark,#ffb300);box-shadow:0 4px 12px #ffc1074d;transform:translateY(-1px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}.loading-spinner{border:3px solid #e0e0e0;border-top-color:#ffc107;border:3px solid var(--border-color,#e0e0e0);border-top-color:var(--primary-color,#ffc107);height:32px;width:32px}.loading-spinner-small{height:14px;width:14px}@media (max-width:768px){.twofa-setup-dialog{margin:10px;max-height:calc(100vh - 20px);max-width:100%}.twofa-setup-layout{flex-direction:column;gap:20px}.twofa-setup-left{flex:none;width:100%}.twofa-setup-right{width:100%}.qr-code-image{height:150px;width:150px}.code-input{font-size:1.2em;height:48px;width:40px}}.twofa-verify-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.twofa-verify-dialog{animation:dialogSlideIn .3s ease;background:#fff;background:var(--card-background-color,#fff);border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:420px;width:100%}@keyframes dialogSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.twofa-verify-header{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color,#e0e0e0);padding:32px 24px 20px;text-align:center}.twofa-verify-header h2{color:#333;color:var(--text-color,#333);font-size:1.5em;margin:0 0 8px}.twofa-verify-subtitle{color:#666;color:var(--text-color-secondary,#666);font-size:.95em;margin:0}.twofa-verify-content{align-items:center;display:flex;flex-direction:column;padding:24px}.security-icon{color:#ffc107;color:var(--primary-color,#ffc107);margin-bottom:20px}.countdown-section{align-items:center;display:flex;flex-direction:column;margin-bottom:24px}.countdown-ring{height:80px;position:relative;width:80px}.countdown-svg{height:100%;transform:rotate(-90deg);width:100%}.countdown-bg{fill:none;stroke:#e0e0e0;stroke:var(--border-color,#e0e0e0);stroke-width:3}.countdown-progress{fill:none;stroke:#ffc107;stroke:var(--primary-color,#ffc107);stroke-width:3;stroke-linecap:round;transition:stroke-dasharray 1s linear}.countdown-number{color:#333;color:var(--text-color,#333);font-size:1.3em;font-weight:600;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.countdown-hint{color:#666;color:var(--text-color-secondary,#666);font-size:.85em;margin:12px 0 0}.code-input-section{align-items:center;display:flex;flex-direction:column;width:100%}.code-inputs{display:flex;gap:10px;justify-content:center;margin-bottom:12px}.code-input{background:#fff;background:var(--card-background-color,#fff);border:2px solid #e0e0e0;border:2px solid var(--border-color,#e0e0e0);border-radius:12px;color:#333;color:var(--text-color,#333);font-size:1.6em;font-weight:600;height:60px;text-align:center;transition:all .2s ease;width:52px}.code-input:focus{border-color:#ffc107;border-color:var(--primary-color,#ffc107);box-shadow:0 0 0 4px #ffc10733;outline:none;transform:scale(1.05)}.code-input:disabled{background:#f5f5f5;background:var(--background-color-secondary,#f5f5f5);cursor:not-allowed}.code-hint{color:#666;color:var(--text-color-secondary,#666);font-size:.85em;margin:0;text-align:center}.twofa-error{background:#ffebee;border-radius:8px;color:#c62828;font-size:.9em;gap:8px;margin-top:16px;padding:12px 16px;width:100%}.error-icon,.twofa-error{align-items:center;display:flex;justify-content:center}.error-icon{background:#c62828;border-radius:50%;color:#fff;flex-shrink:0;font-size:.8em;font-weight:700;height:18px;width:18px}.twofa-verify-footer{border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color,#e0e0e0);display:flex;gap:12px;justify-content:flex-end;padding:16px 24px 24px}.twofa-verify-footer button{align-items:center;border-radius:8px;cursor:pointer;display:flex;font-size:1em;font-weight:500;gap:8px;justify-content:center;padding:12px 24px;transition:all .2s ease}.btn-secondary{background:#0000;border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);color:#666;color:var(--text-color-secondary,#666)}.btn-secondary:hover:not(:disabled){background:#f5f5f5;background:var(--background-color-secondary,#f5f5f5)}.twofa-verify-footer .btn-primary{background:#ffc107!important;border:none!important;color:#000!important}.twofa-verify-footer .btn-primary:hover:not(:disabled){background:#ffb300!important;box-shadow:0 4px 12px #ffc1074d;transform:translateY(-1px)}.twofa-verify-footer .btn-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}.loading-spinner-small{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:initial;height:16px;width:16px}@media (max-width:480px){.twofa-verify-dialog{margin:10px}.twofa-verify-content{padding:16px}.code-input{font-size:1.4em;height:54px;width:46px}.countdown-ring{height:70px;width:70px}}.courses-by-category-page{color:var(--text-color);margin:0 auto;max-width:1200px;padding:40px 20px}.courses-by-category-page h1{color:var(--text-color);font-size:2.5em;font-weight:700;margin-bottom:50px;text-align:center}.category-course-list{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.category-course-card{background-color:var(--card-background-color);border-radius:12px;box-shadow:0 4px 15px var(--shadow-color);display:flex;flex-direction:column;overflow:hidden;text-align:left;transition:transform .3s ease,box-shadow .3s ease}.category-course-card:hover{box-shadow:0 8px 25px var(--shadow-color);transform:translateY(-5px)}.category-course-image{border-bottom:1px solid var(--border-color);height:200px;object-fit:cover;width:100%}.category-course-info{display:flex;flex-direction:column;flex-grow:1;padding:20px}.category-course-info h3{color:var(--text-color);font-size:1.5em;font-weight:600;margin-bottom:10px;text-align:center}.category-course-info p{color:var(--text-color);flex-grow:1;font-size:.95em;line-height:1.6;margin-bottom:15px}.category-course-instructor{color:var(--text-color);font-size:.85em;margin-bottom:15px;margin-top:auto}.category-course-button{align-self:center;background-color:var(--primary-color);border:none;border-radius:999px;color:var(--button-text-color);cursor:pointer;font-size:1em;font-weight:600;padding:12px 25px;text-align:center;transition:background-color .3s ease,transform .2s ease}.category-course-button:hover{background-color:var(--secondary-color);transform:translateY(-2px)}.courses-by-category-page p{color:var(--text-color);font-size:1.1em;margin-top:50px;text-align:center}.error-display{align-items:center;background-color:initial;border:none;border-radius:12px;display:flex;flex-direction:column;justify-content:center;margin:20px 0;min-height:200px;padding:40px 20px;text-align:center}.error-icon-container{animation:fadeInScale .6s ease-out;margin-bottom:20px;opacity:.7}.error-skull-icon{filter:grayscale(100%);height:64px;opacity:.8;width:64px}.error-skull-icon path,[data-theme=dark] .error-skull-icon path{fill:#888!important}.error-content{animation:fadeInUp .8s ease-out;max-width:500px}.error-title{color:var(--text-color);font-size:1.4em;font-weight:600;line-height:1.4;margin:0 0 12px}.error-message{color:var(--text-secondary-color);font-size:1.1em;line-height:1.5;margin:0 0 8px}.error-details{background-color:#f8f9fa;background-color:var(--error-details-bg,#f8f9fa);border-left:4px solid #dc3545;border-radius:8px;margin-top:15px;padding:12px 16px}.error-details p{color:#6c757d;color:var(--error-details-text,#6c757d);font-family:Courier New,monospace;font-size:.95em;margin:0;word-break:break-word}[data-theme=dark] .error-details{background-color:#2d1b1b;border-left-color:#dc3545}[data-theme=dark] .error-details p{color:#ff6b6b}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:.7;transform:scale(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.error-display.compact{min-height:120px;padding:20px 15px}.error-display.compact .error-skull-icon{height:48px;width:48px}.error-display.compact .error-title{font-size:1.2em}.error-display.compact .error-message{font-size:1em}.error-display.inline{flex-direction:row;min-height:auto;padding:15px;text-align:left}.error-display.inline .error-icon-container{margin-bottom:0;margin-right:15px}.error-display.inline .error-skull-icon{height:32px;width:32px}.error-display.inline .error-title{font-size:1.1em;margin-bottom:5px}.error-display.inline .error-message{font-size:.95em}@media (max-width:768px){.error-display{margin:15px 0;padding:30px 15px}.error-title{font-size:1.2em}.error-message{font-size:1em}.error-skull-icon{height:40px;width:40px}}.learning-page-wrapper{transition:filter .5s ease-in-out}.learning-page-wrapper.blurred{filter:blur(5px)}.learning-page-loading{align-items:center;color:var(--text-color);display:flex;font-size:1.5em;height:80vh;justify-content:center}.learning-page{align-items:flex-start;background-color:var(--background-color);display:flex;flex-direction:row;gap:30px;justify-content:center;margin:20px auto;max-width:1400px;padding-top:30px;position:relative}.learning-page-main-title{box-sizing:border-box;color:var(--text-color);font-size:2.5em;margin:20px auto 30px;max-width:1200px;padding:50px;text-align:center}.learning-page h1{color:var(--text-color);margin-bottom:10px;text-align:center}.knowledge-graph-area,.quiz-learning-area{background-color:var(--card-background-color);border-radius:10px;box-shadow:0 4px 8px var(--shadow-color);display:flex;flex-direction:column;overflow-y:auto;padding:10px}.knowledge-graph-area{flex:1 1;height:-webkit-fit-content;height:fit-content;max-width:45%;position:-webkit-sticky;position:sticky;top:90px}.quiz-learning-area{flex:1.5 1;max-width:55%;min-height:500px}.knowledge-graph-area h2,.quiz-learning-area h2{margin-bottom:20px}.knowledge-graph-area h2,.quiz-learning-area h2{border-bottom:2px solid var(--border-color);color:var(--text-color);font-size:1.8em;padding-bottom:10px}.knowledge-graph-area h2{margin-bottom:10px;text-align:center}.knowledge-graph-controls{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px;padding:0 10px}.knowledge-graph-header h2{color:var(--text-color);font-size:1.8em;margin:0}.report-question-button{align-items:center;background-color:initial;border:1px solid var(--border-color);border-radius:8px;color:var(--text-color);cursor:pointer;display:flex;font-size:.9em;gap:8px;padding:8px 12px;transition:all .3s ease}.report-question-button:hover{background-color:var(--hover-bg-color);border-color:var(--primary-color)}.report-question-button .report-icon{color:var(--primary-color);height:18px;width:18px}.mermaid-graph-container{align-items:center;display:flex;height:auto;justify-content:center;margin-bottom:20px;min-height:200px;width:100%}.mermaid-graph-container svg{height:auto;max-width:100%}.knowledge-graph-area p,.quiz-learning-area p{color:var(--text-color);line-height:1.8}.question-card{background-color:var(--card-background-color);border-radius:10px;box-shadow:none;flex-direction:column;flex-grow:1;padding:20px 30px}.question-card,.question-header{display:flex;justify-content:space-between}.question-header{align-items:center;margin-bottom:20px}.question-counter-wrapper{align-items:center;display:flex;gap:10px}.difficulty-display{align-items:center;color:#ffc107;display:flex;gap:2px}.difficulty-icon{height:18px;width:18px}.question-actions{align-items:center;display:flex;gap:10px}.favorite-button{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:28px;line-height:1;padding:0;transition:transform .2s ease}.favorite-button:hover{transform:scale(1.2)}.question-counter{color:var(--text-color);font-size:1.1em}.timer-display{background-color:var(--card-background-color-secondary);border-radius:5px;box-shadow:0 2px 4px var(--shadow-color);color:var(--text-color);font-size:1.2em;font-weight:700;padding:5px 10px}.timer-display.time-up{animation:pulse 1s ease-in-out infinite;color:var(--primary-color)}[data-theme=light] .timer-display.time-up{background-color:#fff;border:2px solid var(--primary-color);box-shadow:0 0 10px #ffc10780}[data-theme=dark] .timer-display.time-up{background-color:#000c;border:2px solid var(--primary-color);box-shadow:0 0 10px #ffc10780}.question-card h3{color:var(--text-color);font-size:1.2em;font-weight:500;line-height:1.6;margin-bottom:20px;text-align:left}.question-content-wrapper{display:block;margin-bottom:20px}.question-content-wrapper h3{margin-bottom:0}.markdown-table{background-color:var(--background-color);border-collapse:collapse;margin:15px 0;width:100%}.markdown-table,.markdown-table td{border:1px solid var(--border-color)}.markdown-table td{color:var(--text-color);padding:8px 12px;text-align:center}.markdown-table tr:nth-child(2n){background-color:#0000000d;background-color:var(--card-background,#0000000d)}.markdown-table tr:first-child td{background-color:var(--primary-color);color:#fff;font-weight:700}.question-card strong{color:var(--text-color);font-weight:700}.question-card em{color:var(--text-color);font-style:italic}.question-card hr{border:none;border-top:2px solid var(--border-color);margin:20px 0}.read-aloud-button{align-items:center;background:none;border:none;color:var(--primary-color);cursor:pointer;display:flex;justify-content:center;padding:5px;transition:transform .2s ease}.read-aloud-button:hover{transform:scale(1.1)}.read-aloud-button svg{height:24px;width:24px}.explanation-images-container,.question-images-container{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-start;margin-top:15px}.explanation-image,.question-image{border:1px solid var(--border-color);flex-grow:1;max-width:calc(50% - 5px);object-fit:contain}@media (max-width:768px){.explanation-image,.question-image{max-width:100%}}.choices-container{grid-template-columns:1fr;margin-bottom:20px}.choice-item{align-items:center;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:8px;color:var(--text-color);cursor:pointer;display:flex;flex-direction:column;font-size:1.1em;padding:15px 20px;text-align:center;transition:all .3s ease}.choice-item:hover{background-color:var(--hover-bg-color);border-color:var(--border-color)}.choice-item.selected{background-color:var(--primary-color);border-color:var(--secondary-color);box-shadow:0 2px 5px var(--shadow-color);color:var(--button-text-color)}.choice-item.correct-answer{background-color:#4caf5026;border:2px solid #4caf50;color:var(--text-color)}.choice-item.correct-answer.selected{background-color:#4caf504d;border:2px solid #4caf50}.choice-item.locked-choice{background-color:var(--card-background-color);border-color:var(--border-color);cursor:not-allowed;opacity:.7;pointer-events:none}.choice-item input[type=checkbox],.choice-item input[type=radio]{display:none}.restart-button,.submit-button{background-color:var(--primary-color);border:none;border-radius:8px;color:var(--button-text-color);cursor:pointer;font-size:1.2em;font-weight:600;margin-top:auto;padding:15px 25px;transition:background-color .3s ease,transform .2s ease}.restart-button:hover,.submit-button:hover{background-color:var(--secondary-color);transform:translateY(-2px)}.submit-button:disabled{background-color:var(--border-color);cursor:not-allowed;opacity:.7}.quiz-navigation-buttons{align-items:center;display:flex;gap:15px;justify-content:space-between;margin-top:20px}.navigation-button{background-color:var(--button-secondary-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--button-secondary-text);cursor:pointer;flex:1 1;font-size:1.1em;min-width:120px;padding:12px 20px;transition:background-color .3s ease,transform .2s ease}.navigation-button.next-button,.navigation-button.previous-button{background-color:var(--primary-color);border-color:var(--primary-color);color:var(--button-text-color);font-size:1.1em;font-weight:600;min-height:48px;min-width:120px;padding:12px 20px}.navigation-button.next-button:hover,.navigation-button.previous-button:hover{background-color:var(--secondary-color);border-color:var(--secondary-color)}.navigation-button.continue-button{background-color:var(--primary-color);border-color:var(--primary-color);color:var(--button-text-color)}.navigation-button.continue-button:hover{background-color:var(--secondary-color)}.navigation-button:hover{background-color:var(--hover-bg-color);transform:translateY(-2px)}.navigation-button:disabled{background-color:var(--disabled-button-bg);color:var(--disabled-button-text);cursor:not-allowed;opacity:.6;transform:none}.feedback-buttons{align-items:center;display:flex;gap:15px;justify-content:space-between;margin-top:15px}.feedback-button{background-color:var(--button-secondary-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--button-secondary-text);cursor:pointer;flex:1 1;font-size:.95em;font-weight:600;min-width:120px;padding:12px 20px;transition:background-color .3s ease,transform .2s ease}.feedback-button:hover{background-color:var(--hover-bg-color);transform:translateY(-2px)}.feedback-button:disabled{background-color:var(--disabled-button-bg);color:var(--disabled-button-text);cursor:not-allowed;opacity:.6;transform:none}.quiz-result{align-items:center;background-color:var(--card-background-color);border-radius:10px;box-shadow:0 4px 8px var(--shadow-color);display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:40px;text-align:center}.quiz-result h2{color:var(--text-color);font-size:2em;margin-bottom:20px}.quiz-result p{color:var(--text-color);font-size:1.3em;margin-bottom:30px}@keyframes fadeInScaleUp{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.feedback-animation-container{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center}.feedback-animation-container h3{color:var(--text-color);font-size:1.8em;margin-bottom:30px}.feedback-icons-wrapper{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}.feedback-icon-container{animation:fadeInScaleUp .5s ease-out forwards;opacity:0}.feedback-icon{height:60px;width:60px}.feedback-icon.correct path{fill:#4caf50}.feedback-icon.incorrect path{fill:#f44336}.post-feedback-actions{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:40px;text-align:center}.post-feedback-actions h2{color:var(--text-color);font-size:2em;margin-bottom:10px}.post-feedback-actions p{color:var(--text-color);font-size:1.3em;margin-bottom:30px}.post-feedback-buttons{display:flex;gap:20px}.feedback-button.review-button{background-color:var(--button-secondary-bg);color:var(--button-secondary-text)}.feedback-button.review-button:hover{background-color:var(--hover-bg-color)}.feedback-button.continue-button{background-color:var(--primary-color);color:var(--button-text-color)}.feedback-button.continue-button:hover{background-color:var(--secondary-color)}.explanation-box{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:8px;box-shadow:inset 0 1px 3px var(--shadow-color);margin-top:25px;padding:20px}.explanation-box h4{border-bottom:1px solid var(--border-color);color:var(--text-color);font-size:1.3em;margin-bottom:15px;padding-bottom:10px}.explanation-box p,.explanation-box span{color:var(--text-color);font-size:1.1em;line-height:1.7}.choice-image,.question-image{border-radius:8px;box-shadow:0 2px 4px #0000001a;display:block;height:auto;margin:10px auto;max-width:100%}.choice-formula,.question-formula{color:var(--text-color);display:block;font-size:1.2em;margin-bottom:10px;margin-top:10px;text-align:center}.choice-item .choice-formula,.choice-item .choice-image{margin-left:0;margin-top:10px}.node.highlighted polygon,.node.highlighted rect{fill:var(--primary-color)!important;stroke:var(--secondary-color)!important;stroke-width:2px!important}.node.highlighted text{fill:var(--button-text-color)!important;font-weight:700!important}.mastery-progress-section{margin-top:30px;padding-top:20px}.mastery-progress-section h3{font-size:1.6em;margin-bottom:20px}.progress-bar-container{flex:3 1}@media (max-width:1024px){.learning-page{align-items:center;flex-direction:column;gap:20px;padding-top:60px}.knowledge-graph-area,.quiz-learning-area{height:auto;max-width:90%;position:static;width:100%}.knowledge-graph-area h2,.quiz-learning-area h2{font-size:1.6em}}@media (max-width:768px){.learning-page{margin:10px auto;padding:10px}.knowledge-graph-area h2,.quiz-learning-area h2{font-size:1.4em}.question-card h3{font-size:1.2em;margin-bottom:15px}.choice-item{font-size:1em;padding:12px 15px}.restart-button,.submit-button{font-size:1.1em;padding:12px 20px}.quiz-result h2{font-size:1.8em}.quiz-result p{font-size:1.1em}.quiz-navigation-buttons{flex-direction:column}.navigation-button,.navigation-button.next-button,.navigation-button.previous-button{min-height:44px;width:100%}}.pause-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#000000b3;height:100vh;left:0;position:fixed;top:0;transform:none;width:100vw;z-index:1000}.pause-overlay,.play-button{align-items:center;display:flex;justify-content:center}.play-button{background-color:var(--primary-color);border:none;border-radius:50%;box-shadow:0 5px 15px #0000004d;color:var(--button-text-color);cursor:pointer;height:100px;transition:background-color .3s ease,transform .2s ease;width:100px}.play-button:hover{background-color:var(--secondary-color);transform:scale(1.05)}.play-button svg{height:50px;width:50px}.blurred-content{filter:blur(5px);pointer-events:none;transition:filter .3s ease;-webkit-user-select:none;user-select:none}.hidden-content{height:0;opacity:0;overflow:hidden;pointer-events:none;transition:opacity .3s ease,height .3s ease}.pause-button{align-items:center;background-color:var(--button-secondary-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--button-secondary-text);cursor:pointer;display:flex;height:40px;justify-content:center;transition:background-color .3s ease,transform .2s ease;width:40px}.pause-button:hover{background-color:var(--hover-bg-color);transform:translateY(-2px)}.pause-button:disabled{background-color:var(--disabled-button-bg);color:var(--disabled-button-text);cursor:not-allowed;opacity:.6;transform:none}.fullscreen-knowledge-graph-overlay{background-color:var(--card-background-color);box-sizing:border-box;flex-direction:column;padding:20px;z-index:1001}.fullscreen-knowledge-graph-overlay .knowledge-graph-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px;margin-top:60px;max-width:90%;position:relative;width:100%;z-index:1002}.fullscreen-knowledge-graph-overlay h2{align-items:center;color:var(--text-color);display:flex;font-size:1.8em;margin:0}.fullscreen-knowledge-graph-overlay .mermaid-graph-container{align-items:center;display:flex;flex-grow:1;justify-content:center;max-height:90%;max-width:90%;overflow:auto}.fullscreen-knowledge-graph-overlay .mermaid-graph-container svg{height:100%!important;object-fit:contain;width:100%!important}.fullscreen-knowledge-graph-overlay .mermaid-graph-container svg .edgeLabel text,.fullscreen-knowledge-graph-overlay .mermaid-graph-container svg .label text,.fullscreen-knowledge-graph-overlay .mermaid-graph-container svg .node text,.fullscreen-knowledge-graph-overlay .mermaid-graph-container svg text{fill:#fff!important;stroke:none!important;font-weight:600!important;text-shadow:0 0 3px #000c,0 0 6px #0009!important}.fullscreen-knowledge-graph-overlay .mermaid-graph-container svg .node .label-container,.fullscreen-knowledge-graph-overlay .mermaid-graph-container svg .node circle,.fullscreen-knowledge-graph-overlay .mermaid-graph-container svg .node polygon,.fullscreen-knowledge-graph-overlay .mermaid-graph-container svg .node rect{stroke:#fff!important;stroke-width:2px!important}.fullscreen-toggle-button{background-color:var(--primary-color);border:2px solid var(--primary-color);border-radius:8px;color:var(--button-text-color);margin-left:15px;min-height:44px;min-width:44px;padding:8px 12px;transition:all .2s ease;z-index:1003}.fullscreen-toggle-button:hover{background-color:var(--secondary-color);border-color:var(--secondary-color);transform:scale(1.1)}.fullscreen-toggle-button svg{fill:currentColor;height:24px;width:24px}.fullscreen-close-button{align-items:center;background-color:var(--primary-color);border:2px solid var(--primary-color);border-radius:8px;color:var(--button-text-color);cursor:pointer;display:flex;justify-content:center;min-height:44px;min-width:44px;padding:10px;transition:all .2s ease;z-index:1003}.fullscreen-close-button:hover{background-color:var(--secondary-color);border-color:var(--secondary-color);transform:scale(1.05)}.fullscreen-close-button svg{fill:currentColor;stroke-width:2px;height:24px;width:24px}.watermark-overlay{background-size:300px 225px;opacity:.12;z-index:1}.modal-content.confirm-modal{align-items:stretch;overflow:hidden;padding:0}.confirmation-dialog{background:#0000;flex:1 1;padding:40px}.confirmation-dialog h3{background:#0000;color:var(--text-color);font-size:1.5em;font-weight:600;margin:0 0 20px}.confirmation-dialog p{background:#0000;color:var(--text-color);font-size:1.1em;line-height:1.6;margin:0 0 30px}.confirmation-dialog .dialog-actions{background:#0000;display:flex;gap:25px;justify-content:center}.confirmation-dialog .cancel-button,.confirmation-dialog .confirm-button{border:none;border-radius:8px;cursor:pointer;font-size:1em;font-weight:600;min-width:120px;padding:14px 32px;transition:all .2s ease}.confirmation-dialog .confirm-button{background-color:var(--primary-color);border:2px solid var(--primary-color);color:var(--button-text-color)}.confirmation-dialog .confirm-button:hover{background-color:var(--secondary-color);border-color:var(--secondary-color);box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.confirmation-dialog .cancel-button{background-color:initial;border:2px solid var(--border-color);color:var(--text-color)}.confirmation-dialog .cancel-button:hover{background-color:var(--hover-bg-color);box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.report-dialog{max-width:500px;padding:20px 30px;width:100%}.report-dialog h3{color:var(--text-color);font-size:1.3em;margin-bottom:10px}.report-dialog p{color:var(--text-color-secondary);font-size:.95em;margin-bottom:20px}.report-textarea{background-color:var(--input-background-color);border:1px solid var(--border-color);border-radius:8px;box-sizing:border-box;color:var(--text-color);display:block;font-size:1em;margin:0 auto 5px;min-height:120px;padding:10px;resize:vertical;text-align:center;width:calc(100% - 20px)}.report-textarea:focus{border-color:var(--primary-color);outline:none}.report-char-count{color:var(--text-color-secondary);font-size:.85em;margin-bottom:15px}.report-error{color:var(--error-color)}.report-error,.report-success{font-size:.9em;margin-bottom:15px;min-height:1.2em}.report-success{color:#4caf50}.report-dialog .dialog-actions{display:flex;justify-content:center;width:100%}.report-dialog .cancel-button,.report-dialog .confirm-button{border:none;border-radius:5px;cursor:pointer;font-size:.9em;padding:10px 20px;transition:background-color .3s ease,transform .2s ease}.report-dialog .confirm-button{background-color:var(--primary-color);color:var(--button-text-color)}.report-dialog .confirm-button:hover{background-color:var(--secondary-color);transform:translateY(-1px)}.report-dialog .cancel-button{background-color:var(--button-secondary-bg);color:var(--button-secondary-text)}.report-dialog .cancel-button:hover{background-color:var(--hover-bg-color);transform:translateY(-1px)}.note-card-section{background-color:var(--background-color);border-radius:10px;border-top:1px solid var(--border-color);box-shadow:0 2px 5px var(--shadow-color);margin-top:30px;padding:20px}.note-card-section h3{color:var(--text-color);font-size:1.6em;margin-bottom:15px;text-align:center}.note-textarea{background-color:var(--input-background-color);border:1px solid var(--border-color);border-radius:8px;box-sizing:border-box;color:var(--text-color);font-size:1em;margin-bottom:10px;min-height:100px;padding:10px;resize:vertical;transition:border-color .3s ease;width:100%}.note-textarea:focus{border-color:var(--primary-color);outline:none}.note-actions{align-items:center;display:flex;gap:10px;justify-content:space-between}.note-char-count{color:var(--text-color-secondary);font-size:.9em}.save-note-button{background-color:var(--primary-color);border:none;border-radius:5px;color:var(--button-text-color);cursor:pointer;font-size:1em;padding:8px 15px;transition:background-color .3s ease,transform .2s ease}.save-note-button:hover{background-color:var(--secondary-color);transform:translateY(-1px)}.save-note-button:disabled{background-color:var(--disabled-button-bg);color:var(--disabled-button-text);cursor:not-allowed;opacity:.7;transform:none}.note-error{color:var(--error-color);font-size:.95em;margin-top:10px;text-align:center}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_AMS-Regular.73ea273a72f4aca30ca5.woff2) format("woff2"),url(/static/media/KaTeX_AMS-Regular.d562e886c52f12660a41.woff) format("woff"),url(/static/media/KaTeX_AMS-Regular.853be92419a6c3766b9a.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Caligraphic-Bold.a1abf90dfd72792a577a.woff2) format("woff2"),url(/static/media/KaTeX_Caligraphic-Bold.d757c535a2e5902f1325.woff) format("woff"),url(/static/media/KaTeX_Caligraphic-Bold.7489a2fbfb9bfe704420.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Caligraphic-Regular.d6484fce1ef428d5bd94.woff2) format("woff2"),url(/static/media/KaTeX_Caligraphic-Regular.db074fa22cf224af93d7.woff) format("woff"),url(/static/media/KaTeX_Caligraphic-Regular.7e873d3833eb108a0758.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Fraktur-Bold.931d67ea207ab37ee693.woff2) format("woff2"),url(/static/media/KaTeX_Fraktur-Bold.354501bac435c3264834.woff) format("woff"),url(/static/media/KaTeX_Fraktur-Bold.4c761b3711973ab04edf.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Fraktur-Regular.172d3529b26f8cedef6b.woff2) format("woff2"),url(/static/media/KaTeX_Fraktur-Regular.6fdf0ac577be0ba82a4c.woff) format("woff"),url(/static/media/KaTeX_Fraktur-Regular.ed305b5434865e06ffde.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Main-Bold.39890742bc957b368704.woff2) format("woff2"),url(/static/media/KaTeX_Main-Bold.0c3b8929d377c0e9b2f3.woff) format("woff"),url(/static/media/KaTeX_Main-Bold.8169508bf58f8bd92ad8.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/static/media/KaTeX_Main-BoldItalic.20f389c4120be058d80a.woff2) format("woff2"),url(/static/media/KaTeX_Main-BoldItalic.428978dc7837d46de091.woff) format("woff"),url(/static/media/KaTeX_Main-BoldItalic.828abcb200061cffbaae.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/static/media/KaTeX_Main-Italic.fe2176f79edaa716e621.woff2) format("woff2"),url(/static/media/KaTeX_Main-Italic.fd947498bc16392e76c2.woff) format("woff"),url(/static/media/KaTeX_Main-Italic.fa675e5e4bec9eb250b6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Main-Regular.f650f111a3b890d116f1.woff2) format("woff2"),url(/static/media/KaTeX_Main-Regular.4f35fbcc9ee8614c2bcc.woff) format("woff"),url(/static/media/KaTeX_Main-Regular.9eba1d77abcf2aa6e94e.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/static/media/KaTeX_Math-BoldItalic.dcbcbd93bac0470b462d.woff2) format("woff2"),url(/static/media/KaTeX_Math-BoldItalic.3f07ed67f06c720120ce.woff) format("woff"),url(/static/media/KaTeX_Math-BoldItalic.bf2d440b3a42ea78a998.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/static/media/KaTeX_Math-Italic.6d3d25f4820d0da8f01f.woff2) format("woff2"),url(/static/media/KaTeX_Math-Italic.96759856b4e70f3a8338.woff) format("woff"),url(/static/media/KaTeX_Math-Italic.8a5f936332e8028c7278.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(/static/media/KaTeX_SansSerif-Bold.95591a929f0d32aa282a.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Bold.b9cd458ac6d5889ff9c3.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Bold.5b49f4993ae22d7975b4.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(/static/media/KaTeX_SansSerif-Italic.7d393d382f3e7fb1c637.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Italic.8d593cfaa96238d5e2f8.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Italic.b257a18c016f37ee4543.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(/static/media/KaTeX_SansSerif-Regular.cd5e231e0cc53b2cb2c0.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Regular.02271ec5cb9f5b4588ac.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Regular.2f7bc363fc5424ebda59.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Script-Regular.c81d1b2a4b75d3eded60.woff2) format("woff2"),url(/static/media/KaTeX_Script-Regular.073b3402d036714b4370.woff) format("woff"),url(/static/media/KaTeX_Script-Regular.fc9ba5249878cd8f8d88.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size1-Regular.6eec866c69313624be60.woff2) format("woff2"),url(/static/media/KaTeX_Size1-Regular.0108e89c9003e8c14ea3.woff) format("woff"),url(/static/media/KaTeX_Size1-Regular.6de7d4b539221a49e9e2.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size2-Regular.2960900c4f271311eb36.woff2) format("woff2"),url(/static/media/KaTeX_Size2-Regular.3a99e70aee4076660d38.woff) format("woff"),url(/static/media/KaTeX_Size2-Regular.57f5c1837853986ea1db.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size3-Regular.e1951519f6f0596f7356.woff2) format("woff2"),url(/static/media/KaTeX_Size3-Regular.7947224e8a9914fa332b.woff) format("woff"),url(/static/media/KaTeX_Size3-Regular.8d6b6822586eea3d3b20.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size4-Regular.e418bf257af1052628d8.woff2) format("woff2"),url(/static/media/KaTeX_Size4-Regular.aeffd8025cba3647f1a6.woff) format("woff"),url(/static/media/KaTeX_Size4-Regular.4ad7c7e8bb8d10a34bb7.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Typewriter-Regular.c295e7f71970f03c0549.woff2) format("woff2"),url(/static/media/KaTeX_Typewriter-Regular.4c6b94fd1d07f8beff7c.woff) format("woff"),url(/static/media/KaTeX_Typewriter-Regular.c5c02d763c89380dcb4e.ttf) format("truetype")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.25"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.transition-wave-overlay{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:rgba(var(--card-background-color-rgb),.1);display:flex;height:100vh;justify-content:center;left:0;opacity:0;position:fixed;top:0;transition:opacity .5s ease-in-out;width:100vw;z-index:2000}.transition-wave-overlay.visible{opacity:1}.ripple-container{align-items:center;display:flex;height:600px;justify-content:center;position:relative;width:600px}.ripple-container:before{display:none}.ripple{animation:radar-sweep 3s ease 1;background:conic-gradient(from 0deg,#0000 0deg,#0000 270deg,#ffc1071a 280deg,#ffc1074d 300deg,#ffc10799 320deg,#ffc107e6 340deg,var(--primary-color) 350deg,var(--primary-color) 1turn);border-radius:50%;height:100%;opacity:.9;position:absolute;width:100%}.ripple:nth-child(2),.ripple:nth-child(3){display:none}@keyframes radar-sweep{0%{opacity:0;transform:rotate(0deg)}10%{opacity:.8}20%{transform:rotate(36deg)}50%{transform:rotate(180deg)}80%{transform:rotate(324deg)}95%{opacity:.8;transform:rotate(1turn)}to{opacity:0;transform:rotate(1turn)}}.notification-toast{align-items:flex-start;background-color:var(--card-background-color);border-left:5px solid var(--primary-color);border-radius:8px;bottom:20px;box-shadow:0 4px 12px #00000026;color:var(--text-color);display:flex;justify-content:space-between;opacity:0;padding:15px 20px;position:fixed;right:20px;transform:translateX(120%);transition:transform .3s ease-in-out,opacity .3s ease-in-out;width:350px;z-index:2000}.notification-toast.show{opacity:1;transform:translateX(0)}.notification-toast.hiding{opacity:0;transform:translateX(120%)}.notification-content{flex-grow:1;text-align:left}.notification-content h4{font-size:1.1em;font-weight:700;margin:0 0 5px}.notification-content p{font-size:.95em;line-height:1.4;margin:0}.notification-close-btn{background:#0000;border:none;color:var(--text-color-secondary);cursor:pointer;font-size:1.8em;line-height:.5;opacity:.7;padding:0 0 0 15px;transition:opacity .2s ease}.notification-close-btn:hover{opacity:1}.my-courses-container{background-color:var(--background-color);color:var(--text-color);margin:0 auto;max-width:1200px;min-height:calc(100vh - var(--navbar-height) - var(--footer-height));padding:40px 20px;text-align:center}.my-courses-container h1{color:var(--primary-color);font-size:2.5rem;font-weight:700;margin-bottom:30px}.my-courses-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));padding:20px 0;width:100%}.my-course-card{align-items:center;background-color:var(--card-background-color);border-radius:12px;box-shadow:0 6px 18px var(--shadow-color);cursor:pointer;display:flex;flex-direction:column;padding:25px;text-align:center;transition:transform .3s ease-in-out,box-shadow .3s ease-in-out}.my-course-card:hover{box-shadow:0 10px 25px var(--shadow-color-dark);transform:translateY(-8px)}.my-course-image{border-radius:8px;box-shadow:0 2px 8px #0000001a;height:200px;margin-bottom:20px;object-fit:cover;width:100%}.my-course-info{display:flex;flex-direction:column;flex-grow:1;justify-content:space-between;width:100%}.my-course-card h2{color:var(--heading-color);font-size:1.8em;font-weight:600;margin-bottom:15px}.my-course-card p{color:var(--text-color-secondary);font-size:1em;line-height:1.5;margin-bottom:20px}.enter-course-button{background-color:var(--button-background-color);border:none;border-radius:8px;color:var(--button-text-color);cursor:pointer;font-size:1.1em;font-weight:700;margin-top:auto;padding:12px 25px;transition:background-color .3s ease,transform .2s ease;width:100%}.enter-course-button:hover{background-color:var(--button-hover-background-color);transform:translateY(-2px)}.no-courses-message{font-size:1.2rem;margin-top:50px}@media (max-width:768px){.my-courses-container{padding:20px 15px}.my-courses-container h1{font-size:2rem}.my-courses-grid{gap:20px;grid-template-columns:1fr}.my-course-card{padding:20px}.my-course-image{height:180px}.my-course-card h2{font-size:1.5em}.enter-course-button{font-size:1em;padding:10px 20px}.no-courses-message{font-size:1rem}}.simple-page-transition{transition:all .3s ease-in-out;width:100%}.simple-page-transition.visible{opacity:1;transform:translateY(0)}.simple-page-transition.hidden{opacity:0;transform:translateY(10px)}.page-enter{animation:pageEnter .4s ease-out forwards}.page-exit{animation:pageExit .3s ease-in forwards}@keyframes pageEnter{0%{opacity:0;transform:translateX(20px) scale(.98)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes pageExit{0%{opacity:1;transform:translateX(0) scale(1)}to{opacity:0;transform:translateX(-20px) scale(.98)}}.card-enter{animation:cardEnter .5s ease-out forwards}@keyframes cardEnter{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.bundle-card{animation:cardEnter .6s ease-out forwards;opacity:0}.bundle-card:first-child{animation-delay:.1s}.bundle-card:nth-child(2){animation-delay:.2s}.bundle-card:nth-child(3){animation-delay:.3s}.bundle-card:nth-child(4){animation-delay:.4s}.bundle-card:nth-child(5){animation-delay:.5s}.bundle-card:nth-child(6){animation-delay:.6s}.course-bundles-container{background-color:var(--background-color);color:var(--text-color);margin:40px auto;max-width:1200px;padding:20px}.page-header{margin-bottom:40px;text-align:center}.header-content{align-items:center;display:grid;grid-template-columns:1fr auto 1fr;margin-bottom:15px;width:100%}.search-bar-container{grid-column:3;justify-self:end}.search-bar{background-color:var(--card-background-color);border:1px solid var(--border-color);border-radius:25px;color:var(--text-color);font-size:1em;outline:none;padding:12px 20px;transition:all .3s ease;width:300px}.search-bar:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #ffc10733}.search-bar::placeholder{color:var(--text-color-secondary)}.page-title{color:var(--primary-color);font-size:2.5em;font-weight:700;grid-column:2;margin:0;text-align:center}.page-description{color:var(--text-color-secondary);font-size:1.1em;line-height:1.6;margin:0 auto;max-width:800px}.bundles-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:40px;margin-left:auto;margin-right:auto;max-width:1200px}@media (min-width:1200px){.bundles-grid{grid-template-columns:repeat(3,1fr)}}.bundle-card{background-color:var(--card-background-color);border:1px solid var(--border-color);border-radius:15px;box-shadow:0 4px 15px var(--shadow-color);display:flex;flex-direction:column;height:100%;overflow:hidden;transition:all .3s ease}.bundle-card:hover{box-shadow:0 8px 25px var(--shadow-color);transform:translateY(-5px)}.bundle-image{height:200px;overflow:hidden;position:relative}.bundle-image img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.bundle-card:hover .bundle-image img{transform:scale(1.05)}.discount-badge{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-radius:20px;box-shadow:0 2px 8px #0003;color:var(--button-text-color);font-size:.9em;font-weight:700;padding:8px 12px;position:absolute;right:15px;top:15px}.bundle-content{padding:25px}.bundle-content,.bundle-variable-content{display:flex;flex-direction:column;flex-grow:1}.bundle-fixed-bottom{display:flex;flex-direction:column;gap:15px;margin-top:auto}.bundle-name{color:var(--text-color);font-size:1.4em;font-weight:700;margin-bottom:10px}.bundle-description{color:var(--text-color-secondary);line-height:1.5;margin-bottom:20px}.bundle-courses h4{color:var(--text-color);font-size:1em;margin-bottom:10px}.courses-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.course-tag{background-color:var(--hover-bg-color);border:1px solid var(--border-color);border-radius:15px;color:var(--text-color);font-size:.85em;padding:6px 12px}.bundle-pricing{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:12px;margin-bottom:0;padding:20px;position:relative}.price-comparison{display:flex;flex-direction:column;gap:12px;margin-bottom:15px}.original-price{align-self:flex-start;color:var(--text-color-secondary);font-size:1em;text-decoration:line-through}.bundle-price{align-self:flex-start;color:var(--primary-color);font-size:1.6em;font-weight:700}.savings-info{background:linear-gradient(135deg,#28a745,#20c997);border-radius:20px;box-shadow:0 2px 8px #28a7454d;padding:8px 12px;position:absolute;right:15px;top:15px}.savings-amount,.savings-info{color:#fff;font-size:.9em;font-weight:700}.bundle-meta{display:flex;gap:10px;margin-bottom:0}.grade-level,.subject-category{background-color:var(--primary-color);border-radius:12px;color:var(--button-text-color);font-size:.8em;font-weight:500;padding:4px 10px}.subject-category{background-color:var(--secondary-color)}.query-price-btn{background-color:var(--primary-color);border:none;border-radius:8px;box-shadow:0 2px 8px #0000001a;color:var(--button-text-color);cursor:pointer;font-size:1em;font-weight:700;padding:12px 20px;transition:all .3s ease;width:100%}.query-price-btn:hover{background-color:#e6a800;box-shadow:0 4px 15px #0003;transform:translateY(-2px)}.error-message,.loading-message{color:var(--text-color-secondary);font-size:1.1em;padding:40px;text-align:center}.error-message{color:#dc3545}.empty-state{color:var(--text-color-secondary);padding:60px 20px;text-align:center}.empty-state h3{color:var(--text-color);margin-bottom:10px}@media (max-width:768px){.course-bundles-container{margin:20px auto;padding:15px}.header-content{gap:15px;grid-template-columns:1fr}.search-bar-container{grid-column:1;justify-self:center}.search-bar{max-width:300px;width:100%}.bundles-grid{gap:20px;grid-template-columns:1fr}}@media (min-width:768px) and (max-width:1199px){.bundles-grid{gap:20px;grid-template-columns:repeat(2,1fr)}.page-title{font-size:2em;grid-column:1}.bundle-content{padding:20px}.price-comparison{align-items:flex-start;flex-direction:column;gap:8px}.bundle-price{font-size:1.4em}.savings-info{align-self:flex-end;margin-top:10px;position:static}}.payment-modal-content{align-items:center;display:flex;flex-direction:column;gap:20px;padding:20px}.payment-modal-content h2{color:var(--text-color);font-size:2em;margin-bottom:10px}.payment-plan-summary{color:var(--text-color-secondary);font-size:1.1em;text-align:center}.payment-plan-summary strong{color:var(--primary-color)}.payment-options{display:flex;flex-direction:column;gap:15px;max-width:300px;width:100%}.payment-option-button{align-items:center;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:8px;color:var(--text-color);cursor:pointer;display:flex;font-size:.95em;justify-content:center;padding:15px 20px;transition:all .3s ease}.payment-option-button:hover{background-color:var(--hover-bg-color);border-color:var(--primary-color);transform:translateY(-2px)}.payment-option-button:disabled{background-color:var(--disabled-button-bg);border-color:var(--disabled-button-border);cursor:not-allowed;opacity:.6;transform:none}.payment-option-button.stripe:hover{background-color:#635bff1a;border-color:#635bff}.payment-option-button.creem:hover{background-color:#00d4aa1a;border-color:#00d4aa}.payment-option-button.xunhupay-wechat:hover{background-color:#07c1601a;border-color:#07c160}.payment-option-button.xunhupay-alipay:hover{background-color:#1677ff1a;border-color:#1677ff}.payment-loading{color:var(--text-color-secondary)}.payment-loading,.payment-no-methods{font-size:.95em;padding:30px 20px;text-align:center}.payment-no-methods{background-color:#ff4d4f0d;border:1px dashed var(--error-color);border-radius:8px;color:var(--error-color)}.payment-logo{height:30px;margin-right:15px;width:30px}.terms-agreement{color:var(--text-color);font-size:.95em;gap:10px;margin-top:20px}.terms-read-prompt{color:var(--error-color);margin-left:5px}.terms-agreement .terms-link{color:var(--primary-color);cursor:pointer;display:inline;margin-left:5px;text-decoration:underline;-webkit-user-select:none;user-select:none}.terms-agreement{align-items:flex-start;display:flex;flex-wrap:wrap;gap:8px}.terms-modal-overlay{height:100vh!important;left:0!important;opacity:0;position:fixed!important;top:0!important;transition:opacity .3s ease;width:100vw!important;z-index:99999!important}.terms-modal-overlay.show{opacity:1}.terms-modal-content{opacity:0;position:relative!important;transform:scale(.8);transition:all .3s cubic-bezier(.34,1.56,.64,1);z-index:100000!important}.terms-modal-overlay.show .terms-modal-content{opacity:1;transform:scale(1)}.modal-actions{margin-top:20px}.cancel-button{background-color:var(--button-secondary-bg);border-radius:8px;color:var(--button-secondary-text);cursor:pointer;font-size:1em;padding:10px 20px;transition:background-color .3s ease,transform .2s ease}.cancel-button:hover{background-color:var(--hover-bg-color);transform:translateY(-2px)}.legal-info-modal-content{display:flex;flex-direction:column;max-height:70vh;padding:20px}.terms-content-container{flex-grow:1;margin-bottom:20px;overflow-y:auto;padding-right:15px}.legal-info-modal-content .modal-close-button{background-color:var(--primary-color);border:none;border-radius:12px;color:var(--button-text-color);cursor:pointer;font-size:1em;font-weight:600;margin-top:auto;padding:12px 24px;transition:all .3s ease}.legal-info-modal-content .modal-close-button:hover{background-color:var(--secondary-color)}.legal-info-modal-content .modal-close-button:disabled{background-color:var(--border-color);color:var(--text-color-secondary);cursor:not-allowed}.payment-status{background-color:var(--info-bg-color);border:1px solid var(--info-border-color);border-radius:8px;margin-top:20px;padding:15px;text-align:center}.payment-polling-indicator{color:var(--secondary-text-color);font-size:.9em;margin-top:10px}.xunhupay-qrcode-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.xunhupay-qrcode-modal.stripe-style{animation:slideUp .3s ease;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-wrap:wrap;max-width:700px;overflow:hidden;width:100%}.qrcode-left-panel{background:linear-gradient(135deg,#f8f9fa,#e9ecef);display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:280px;padding:40px}.product-brand{color:#6c757d;font-size:.85em;font-weight:600;letter-spacing:.1em;margin-bottom:12px;text-transform:uppercase}.product-name{color:#212529;font-size:1.8em;font-weight:700;line-height:1.2;margin:0 0 20px}.product-price{align-items:baseline;display:flex;margin-bottom:30px}.product-price .currency{color:#212529;font-size:1.5em;font-weight:600;margin-right:4px}.product-price .amount{color:#212529;font-size:3em;font-weight:700;letter-spacing:-.02em}.product-features{display:flex;flex-direction:column;gap:10px}.feature-item{align-items:center;color:#495057;display:flex;font-size:.95em;gap:8px}.qrcode-right-panel{align-items:center;background:#fff;display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:280px;padding:40px}.qrcode-box{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 4px 16px #00000014;margin-bottom:20px;padding:16px}.xunhupay-qrcode-image{display:block;height:160px;object-fit:contain;width:160px}.qrcode-instruction{color:#495057;font-size:.95em;font-weight:500;margin:0 0 8px}.qrcode-countdown{color:#6c757d;font-size:.85em;margin:0 0 20px}.security-badge{align-items:center;background:#ffc10726;border-radius:20px;color:var(--primary-color);display:flex;font-size:.8em;gap:6px;margin-bottom:24px;padding:8px 16px}.refresh-status-btn{background:var(--primary-color);border:1px solid var(--primary-color);border-radius:6px;color:#000;cursor:pointer;font-size:.9em;font-weight:500;margin-bottom:12px;padding:10px 24px;transition:all .2s ease}.refresh-status-btn:hover{background:#e6b000;border-color:#e6b000;box-shadow:0 4px 12px #ffc1074d;transform:translateY(-1px)}.cancel-payment-btn{background:#fff;border:1px solid #dee2e6;border-radius:6px;color:#6c757d;cursor:pointer;font-size:.9em;font-weight:500;padding:10px 24px;transition:all .2s ease}.cancel-payment-btn:hover{background:#fff5f5;border-color:#dc3545;color:#dc3545}.stripe-footer{background:#f8f9fa;border-top:1px solid #e9ecef;padding:16px 40px;text-align:center;width:100%}.stripe-footer p{color:#6c757d;font-size:.8em;margin:0}@media (max-width:640px){.xunhupay-qrcode-modal.stripe-style{flex-direction:column;max-width:400px}.qrcode-left-panel,.qrcode-right-panel{min-width:auto;padding:30px}}.group-buy-modal-overlay{align-items:center;background-color:#0009;display:flex;height:100%;justify-content:center;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:10000}.group-buy-modal{animation:slideUp .3s ease;border-radius:12px;box-shadow:0 8px 30px #00000040;flex-direction:column;max-height:90vh;max-width:900px;overflow:hidden;width:90%}.group-buy-modal,.group-buy-modal-header{background-color:#fff;background-color:var(--card-background-color,#fff);display:flex;position:relative}.group-buy-modal-header{align-items:center;border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color,#e0e0e0);flex-shrink:0;justify-content:center;padding:20px 25px}.group-buy-modal-header h2{color:#333;color:var(--text-color,#333);font-size:1.5em;margin:0;text-align:center}.group-buy-close-button{align-items:center;background:none;border:none;border-radius:50%;color:#666;color:var(--text-color-secondary,#666);cursor:pointer;display:flex;font-size:1.8em;height:36px;justify-content:center;padding:0;position:absolute;right:20px;top:50%;transform:translateY(-50%);transition:all .2s ease;width:36px}.group-buy-close-button:hover{background-color:#f5f5f5;background-color:var(--hover-bg-color,#f5f5f5);color:#333;color:var(--text-color,#333)}.group-buy-modal-content{display:flex;flex-direction:column;gap:15px;max-height:calc(90vh - 80px);overflow-y:auto;padding:20px 25px}.group-buy-warning{background:linear-gradient(135deg,#ffc10726,#ff980026);border:2px solid #ffc107;border-radius:8px;color:#856404;font-size:1em;font-weight:600;margin-bottom:5px;padding:15px;text-align:center;width:100%}.group-buy-warning strong{color:#d32f2f;font-weight:700}.group-buy-layout{display:flex;gap:25px;width:100%}.group-buy-left-panel{display:flex;flex:1 1;flex-direction:column;gap:15px;min-width:0}.group-buy-course-summary{background:linear-gradient(135deg,#ffc1071a,#ff98001a);border:2px solid #ffc1074d;border-radius:12px;padding:20px;text-align:center;width:100%}.group-buy-course-summary h3{color:#333;color:var(--text-color,#333);font-size:1.8em;font-weight:700;margin:0 0 10px}.group-buy-course-summary .price{color:#ffc107;font-size:2.5em;font-weight:700;margin:0}.group-buy-info{background-color:#ffc1071a;border:1px solid #ffc1074d;border-radius:8px;padding:20px;text-align:left;width:100%}.group-buy-info h4{font-size:1.2em;font-weight:600;margin-bottom:15px}.group-buy-info h4,.group-buy-info ul{color:#333;color:var(--text-color,#333)}.group-buy-info ul{margin:0;padding-left:20px}.group-buy-info li{font-size:.95em;line-height:1.5;margin-bottom:6px}.group-buy-tips{background:#ffc1071a;border-radius:6px;font-size:.9em;margin-top:15px;padding:10px}.group-buy-next-steps{background-color:#f5f5f5;background-color:var(--background-color-secondary,#f5f5f5);border-radius:8px;padding:15px;text-align:left}.group-buy-next-steps p{color:#333;color:var(--text-color,#333);font-weight:600;margin-bottom:10px}.group-buy-next-steps ol{color:#666;color:var(--text-color-secondary,#666);margin:0;padding-left:20px}.group-buy-next-steps li{margin-bottom:5px}.group-buy-confirm-info{background-color:#28a7451a;border:1px solid #28a745;border-radius:8px;padding:15px;text-align:left}.group-buy-confirm-info h4{color:#28a745;margin-bottom:10px}.group-buy-confirm-info ol{color:#333;color:var(--text-color,#333);margin:0;padding-left:20px}.group-buy-confirm-info li{margin-bottom:5px}.group-buy-right-panel{display:flex;flex:0 0 320px;flex-direction:column;gap:15px}.group-buy-icon-wrapper{align-items:center;display:flex;justify-content:center;padding:10px 0}.group-buy-honeycomb-icon{height:80px;width:80px}.group-buy-tabs{border:2px solid #ffc107;border-radius:16px;display:flex;overflow:hidden;width:100%}.group-buy-tab-button,.group-buy-tabs{background-color:#fff;background-color:var(--card-background-color,#fff)}.group-buy-tab-button{border:none;color:#333;color:var(--text-color,#333);cursor:pointer;flex:1 1;font-size:1em;font-weight:500;padding:14px 20px;position:relative;transition:all .3s ease}.group-buy-tab-button:hover{background-color:#ffc10726;color:#333;color:var(--text-color,#333)}.group-buy-tab-button.active{font-weight:700}.group-buy-tab-button.active,.group-buy-tab-button.active:hover{background-color:#ffc107;color:#000!important}.group-buy-action-area{display:flex;flex-direction:column;gap:15px;width:100%}.group-buy-main-button{align-items:center;background:linear-gradient(135deg,#ffc107,#e6b000);border:none;border-radius:8px;color:#000;cursor:pointer;display:flex;font-size:1.1em;font-weight:600;justify-content:center;padding:15px 30px;transition:all .3s ease;width:100%}.group-buy-main-button:hover{background:linear-gradient(135deg,#e6b000,#c90);box-shadow:0 4px 12px #ffc10766;transform:translateY(-2px)}.group-buy-main-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.group-buy-secondary-button{align-items:center;background-color:initial;border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:8px;color:#333;color:var(--text-color,#333);cursor:pointer;display:flex;font-size:1em;font-weight:500;justify-content:center;padding:12px 24px;transition:all .3s ease;width:100%}.group-buy-secondary-button:hover{background-color:#f5f5f5;background-color:var(--hover-bg-color,#f5f5f5);border-color:#ffc107}.group-buy-secondary-button:disabled{cursor:not-allowed;opacity:.6}.group-buy-payment-options{margin-bottom:10px;width:100%}.group-buy-payment-option{align-items:center;border:2px solid #e0e0e0;border:2px solid var(--border-color,#e0e0e0);border-radius:8px;cursor:pointer;display:flex;gap:10px;padding:12px;transition:all .3s ease}.group-buy-payment-option:hover{background-color:#ffc1071a;border-color:#ffc107}.group-buy-payment-option input[type=radio]{accent-color:#ffc107;height:18px;width:18px}.group-buy-payment-option span{color:#333;color:var(--text-color,#333);font-size:1em;font-weight:500}.group-buy-input-section{text-align:left;width:100%}.group-buy-input-section label{color:#333;color:var(--text-color,#333);display:block;font-weight:500;margin-bottom:8px}.group-buy-input{border:2px solid #e0e0e0;border:2px solid var(--border-color,#e0e0e0);border-radius:8px;box-sizing:border-box;font-size:1.2em;letter-spacing:.1em;padding:12px 15px;text-align:center;text-transform:uppercase;transition:border-color .3s ease;width:100%}.group-buy-input:focus{border-color:#ffc107;outline:none}.group-buy-code-section{background-color:#ffc1071a;border-radius:8px;padding:15px;text-align:center;width:100%}.group-buy-code-section h4{color:#333;color:var(--text-color,#333);margin:0 0 15px}.group-buy-code-display{align-items:center;background-color:#ffc10726;border:2px dashed #ffc107;border-radius:8px;display:flex;gap:10px;justify-content:center;margin:15px 0}.group-buy-code-display .code{color:#ffc107;font-family:monospace;font-size:2em;font-weight:700;letter-spacing:.1em}.group-buy-copy-button{background-color:#ffc107;border:1px solid #ffc107;border-radius:6px;color:#000;cursor:pointer;font-size:.9em;padding:8px 16px;transition:all .3s ease}.group-buy-copy-button:hover{background-color:#e6b000;transform:translateY(-2px)}.group-buy-hint{color:#666;color:var(--text-color-secondary,#666);font-size:.9em;margin:10px 0 0}.group-buy-confirm{background-color:#28a7451a;border:1px solid #28a745;border-radius:8px;padding:15px;text-align:left;width:100%}.group-buy-confirm h4{color:#28a745;margin-bottom:15px;text-align:center}.group-buy-details{margin-bottom:15px}.group-buy-details p{color:#333;color:var(--text-color,#333);margin:5px 0}.group-buy-success{background-color:#28a7451a;border:1px solid #28a745;border-radius:8px;color:#28a745}.group-buy-error,.group-buy-success{padding:12px;text-align:center;width:100%}.group-buy-error{background-color:#dc35451a;border:1px solid #dc3545;border-radius:8px;color:#dc3545}.group-buy-email-notice{background-color:#ffc1071a;border:1px solid #ffc1074d;border-radius:8px;margin-top:20px;padding:12px 15px;text-align:center}.group-buy-email-notice p{color:#666;color:var(--text-color-secondary,#666);font-size:.9em;margin:0}@media (max-width:768px){.group-buy-layout{flex-direction:column}.group-buy-right-panel{flex:1 1;width:100%}.group-buy-modal{max-width:95%}}.course-detail-page{align-items:center;background-color:var(--background-color);box-sizing:border-box;color:var(--text-color);display:flex;flex-direction:column;margin:0 auto;max-width:1200px;min-height:calc(100vh - 160px);min-height:calc(100vh - var(--navbar-height, 60px) - var(--footer-height, 100px));padding:40px 20px}.course-detail-header{margin-bottom:40px;text-align:center}.course-detail-page-title{color:var(--primary-color);font-size:3.5rem;font-weight:700;margin-bottom:10px}.course-detail-page-subtitle{color:var(--text-color-secondary);font-size:1.5rem;line-height:1.5;margin:0 auto;max-width:800px}.course-detail-content{align-items:stretch;flex-wrap:nowrap;gap:20px;margin:0 auto;max-width:1200px;overflow-x:hidden;padding:0 15px}.course-detail-content,.course-image-container{box-sizing:border-box;display:flex;justify-content:center}.course-image-container{align-items:center;align-self:flex-start;flex-basis:calc(50% - 20px);flex-grow:0;flex-shrink:0;max-width:450px;min-width:300px}.course-detail-image{border-radius:15px;box-shadow:0 8px 25px #0003;height:auto;object-fit:cover;width:100%}.course-info-container{align-items:center;background-color:var(--card-background-color);border-radius:15px;box-shadow:0 8px 25px var(--shadow-color-light);box-sizing:border-box;display:flex;flex:0 0 340px;flex-direction:column;padding:20px;transition:transform .3s ease,box-shadow .3s ease;width:340px}.course-info-container:hover{box-shadow:0 12px 30px var(--shadow-color);transform:translateY(-5px)}.group-buy-card{align-items:center;background-color:var(--card-background-color);border-radius:15px;box-shadow:0 8px 25px var(--shadow-color-light);box-sizing:border-box;display:flex;flex:0 0 340px;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease;width:340px}.group-buy-card:hover{box-shadow:0 12px 30px var(--shadow-color);transform:translateY(-5px)}.dummy-card{background-color:var(--card-background-color-disabled);cursor:not-allowed;flex:0 0 340px;opacity:.6;pointer-events:none;width:340px}.dummy-card .course-description,.dummy-card .course-features h3,.dummy-card .course-features li,.dummy-card .course-title,.dummy-card .original-price,.dummy-card .price-label,.dummy-card .purchase-message{color:var(--text-color-disabled)}.dummy-card .original-price{font-size:1.8rem;font-weight:600;text-decoration:line-through}.dummy-card .purchase-button{color:var(--button-text-color-disabled);cursor:not-allowed}.dummy-card .purchase-button,.dummy-card .purchase-button:hover{background-color:var(--button-background-color-disabled);transform:none}.course-title{color:var(--heading-color);font-size:2.5rem;margin-bottom:15px}.course-description{color:var(--text-color);font-size:1.1rem;line-height:1.6;margin-bottom:30px}.course-features{margin-bottom:30px;width:100%}.course-features h3{border-bottom:2px solid var(--border-color);color:var(--primary-color);font-size:1.6rem;margin-bottom:15px;padding-bottom:8px}.course-features ul{list-style:none;padding:0;width:100%}.course-features li{color:var(--text-color);font-size:1.1rem;margin-bottom:10px;padding-left:30px;position:relative;text-align:left}.course-features li:before{color:var(--accent-color);content:"\2713";font-weight:700;left:0;position:absolute;top:0}.course-price-section{align-items:baseline;display:flex;justify-content:center;margin-bottom:30px}.price-label{color:var(--text-color-secondary);font-size:1.3rem;margin-right:10px}.actual-price{color:var(--accent-color);font-size:2.8rem;font-weight:700}.group-buy-badge{border-radius:20px;box-shadow:0 2px 8px #ffc10766;display:inline-block;font-size:.9rem;font-weight:700;margin-left:10px;padding:5px 12px;text-transform:uppercase}.group-buy-badge,.group-buy-button{background-color:#ffc107;color:#000}.group-buy-button{border:none;border-radius:10px;box-shadow:0 4px 15px var(--shadow-color-dark);box-sizing:border-box;cursor:pointer;display:block;font-size:1.4rem;font-weight:600;margin:0 auto;max-width:400px;padding:15px 30px;transition:background-color .3s ease,transform .2s ease;width:100%}.group-buy-button:hover{background-color:#e6b000;transform:translateY(-3px)}.group-buy-hint{color:var(--text-color-secondary);font-size:.9rem;margin-top:10px;text-align:center}.group-buy-code-display{background:linear-gradient(135deg,#ffc10726,#ff980026);border:2px solid #ffc107;border-radius:12px;padding:15px;text-align:center;width:100%}.group-buy-code-display h4{color:#333;color:var(--text-color,#333);font-size:1rem;margin:0 0 10px}.invite-code-box{align-items:center;display:flex;gap:10px;justify-content:center;margin:10px 0}.invite-code{background:#ffc10733;border:2px dashed #ffc107;border-radius:8px;color:#ffc107;font-family:monospace;font-size:1.8rem;font-weight:700;letter-spacing:.1em;padding:8px 16px}.copy-code-button{background-color:#ffc107;border:none;border-radius:6px;color:#000;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px;transition:all .3s ease}.copy-code-button:hover{background-color:#e6b000;transform:translateY(-2px)}.group-buy-code-hint{color:var(--text-color-secondary);font-size:.85rem;line-height:1.5;margin:10px 0 0}.purchase-button{background-color:var(--button-background-color);border:none;border-radius:10px;box-shadow:0 4px 15px var(--shadow-color-dark);box-sizing:border-box;color:var(--button-text-color);cursor:pointer;display:block;font-size:1.4rem;font-weight:600;margin:0 auto;max-width:400px;padding:15px 30px;transition:background-color .3s ease,transform .2s ease;width:100%}.purchase-button:hover{background-color:var(--button-hover-background-color);transform:translateY(-3px)}.purchase-button.purchased{background-color:var(--secondary-color);color:var(--button-text-color);cursor:default}.purchase-button.purchased:hover{background-color:var(--secondary-color);transform:none}.purchase-message{color:var(--accent-color);font-size:1.1rem;font-weight:500;margin-top:20px;text-align:center}@media (max-width:900px){.course-detail-content{align-items:center;flex-direction:column;max-width:600px}.course-image-container,.course-info-container,.dummy-card,.group-buy-card{align-self:center;flex:0 0 100%;max-width:600px}.course-detail-page-title{font-size:2.8rem}.course-detail-page-subtitle{font-size:1.2rem}.course-title{font-size:2rem}.actual-price{font-size:2.2rem}}@media (max-width:1150px){.course-detail-content{flex-wrap:wrap;gap:20px}.course-info-container,.dummy-card,.group-buy-card{flex:0 0 320px;width:320px}}@media (max-width:768px){.course-info-container,.dummy-card,.group-buy-card{flex:0 0 300px;width:300px}}@media (max-width:600px){.course-detail-page{padding:20px 15px}.course-detail-page-title{font-size:2.2rem}.course-detail-page-subtitle{font-size:1rem}.course-info-container,.dummy-card,.group-buy-card{flex:0 0 100%;margin:0 auto;max-width:350px;padding:20px;width:100%}.course-title{font-size:1.8rem}.course-description,.course-features li,.price-label,.purchase-message{font-size:1rem}.actual-price{font-size:2rem}.purchase-button{font-size:1.2rem;padding:12px 20px}}.register-container{align-items:center;background:linear-gradient(135deg,var(--background-color) 0,var(--card-background-color) 100%);display:flex;justify-content:center;min-height:100vh;padding:20px}.register-wrapper{max-width:520px;text-align:center;width:100%}.register-redirect-notice{background:linear-gradient(135deg,#ffc107,#ff9800);border-radius:12px;box-shadow:0 4px 15px #ffc1074d;color:#000;margin-bottom:2rem;padding:1.5rem}.register-redirect-notice h3{font-size:1.3rem;font-weight:700;margin:0 0 .5rem}.register-redirect-notice p{font-size:.95rem;margin:.25rem 0;opacity:.9}.register-title{color:var(--text-color);font-size:2.5rem;font-weight:700;margin-bottom:2rem;text-shadow:0 2px 4px #0000001a}.register-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:var(--card-background-color);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 10px 30px #0000001a;padding:2.5rem}.register-form{width:100%}.register-form .form-group{margin-bottom:1.5rem;text-align:center}.register-form label{color:var(--text-color);display:block;font-size:.95rem;font-weight:600;margin-bottom:.5rem}.register-form input[type=email],.register-form input[type=password],.register-form input[type=text]{-webkit-appearance:none!important;appearance:none!important;background-clip:padding-box!important;background-color:var(--background-color)!important;background-image:none!important;border:2px solid var(--border-color)!important;border-radius:12px!important;box-sizing:border-box!important;color:var(--text-color)!important;font-family:inherit!important;font-size:1rem!important;line-height:normal!important;margin:0!important;max-width:100%!important;padding:1rem!important;transition:all .3s ease!important;width:100%!important}.register-form input:focus{border-color:var(--primary-color);box-shadow:0 0 0 4px #ffc10726;outline:none;transform:translateY(-2px)}.register-form input::placeholder{color:var(--text-color-light)}.register-button{background-color:var(--primary-color);border:none;border-radius:12px;box-shadow:0 4px 12px #ffc1074d;color:var(--button-text-color);cursor:pointer;font-size:1.1rem;font-weight:600;margin-bottom:10px;margin-top:1.5rem;padding:1rem 2rem;transition:all .3s ease;width:100%}.register-button:hover{background-color:var(--secondary-color);box-shadow:0 6px 20px #ffc10766;transform:translateY(-2px)}.register-message{color:var(--text-color);font-size:1em;margin-top:20px}.divider{margin:30px 0;position:relative;text-align:center}.divider:before{background-color:var(--border-color);content:"";height:1px;left:0;position:absolute;right:0;top:50%}.divider span{background-color:var(--background-color);color:var(--text-color-secondary);font-size:14px;padding:0 20px;position:relative;z-index:1}.social-login-section{margin-top:20px}.alipay-login-button{align-items:center;background-color:#0ae;border:none;border-radius:5px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:10px;justify-content:center;padding:12px;transition:background-color .3s ease,transform .2s ease;width:100%}.alipay-login-button:hover{background-color:#08c;transform:translateY(-1px)}.alipay-login-button:active{transform:translateY(0)}.alipay-login-button .icon{flex-shrink:0}.terms-agreement{margin:20px 0;text-align:left}.terms-checkbox-container{align-items:flex-start;color:var(--text-color);cursor:pointer;display:flex;font-size:14px;gap:12px;line-height:1.5;padding-left:30px;position:relative}.terms-checkbox{cursor:pointer;height:0;opacity:0;position:absolute;width:0}.checkmark{background-color:var(--background-color);border:2px solid var(--border-color);border-radius:4px;height:18px;left:0;position:absolute;top:2px;transition:all .3s ease;width:18px}.terms-checkbox-container:hover .checkmark{border-color:var(--primary-color);transform:scale(1.05)}.terms-checkbox:checked~.checkmark{background-color:var(--primary-color);border-color:var(--primary-color);transform:scale(1)}.checkmark:after{animation:checkmarkSlide .3s ease;border:solid #fff;border-width:0 2px 2px 0;content:"";display:none;height:8px;left:5px;position:absolute;top:1px;transform:rotate(45deg);width:4px}.terms-checkbox:checked~.checkmark:after{display:block}@keyframes checkmarkSlide{0%{opacity:0;transform:rotate(45deg) scale(.5)}to{opacity:1;transform:rotate(45deg) scale(1)}}.terms-text{flex:1 1;margin-left:0}.terms-link{color:var(--primary-color);font-weight:500;text-decoration:none;transition:color .3s ease}.terms-link:hover{color:var(--secondary-color);text-decoration:underline}.alipay-login-button.disabled,.register-button.disabled{color:#666!important;cursor:not-allowed!important;opacity:.6}.alipay-login-button.disabled,.alipay-login-button.disabled:hover,.register-button.disabled,.register-button.disabled:hover{background-color:#ccc!important;transform:none!important}@media (max-width:768px){.register-wrapper{max-width:100%;padding:0 10px}.register-card{padding:1.5rem}.register-title{font-size:2rem}.terms-checkbox-container{font-size:13px}}.login-help-page{background-color:var(--background-color);min-height:100vh;padding:40px 20px}.login-help-container{background-color:var(--card-background-color);border-radius:16px;box-shadow:0 4px 20px #00000014;margin:0 auto;max-width:800px;padding:40px}.login-help-container h1{border-bottom:2px solid var(--primary-color);color:var(--text-color);font-size:2em;margin:0 0 30px;padding-bottom:20px;text-align:center}.help-nav-tabs{border:1px solid var(--border-color);border-radius:16px;display:flex;gap:0;margin-bottom:30px;overflow:hidden}.nav-tab{background-color:var(--background-color);border:none;color:var(--text-color-secondary);cursor:pointer;flex:1 1;font-size:1.1em;font-weight:500;padding:14px 24px;transition:all .3s ease}.nav-tab:hover{background-color:#ffc1071a}.nav-tab.active{background-color:var(--primary-color);color:#000;font-weight:600}.faq-note{color:var(--text-color-secondary);font-size:.9em;font-style:italic;margin-top:10px}.help-section{margin-bottom:35px}.help-section:last-child{margin-bottom:0}.help-section h2{border-left:4px solid var(--primary-color);color:var(--primary-color);font-size:1.4em;margin:0 0 20px;padding-left:15px}.help-content{padding-left:19px}.help-content h3{color:var(--text-color);font-size:1.15em;font-weight:600;margin:25px 0 12px}.help-content h3:first-child{margin-top:0}.help-content h4{color:var(--text-color);font-size:1.05em;font-weight:600;margin:15px 0 10px}.help-content p{color:var(--text-color-secondary);line-height:1.7;margin:10px 0}.help-content ol,.help-content ul{color:var(--text-color-secondary);line-height:1.8;margin:12px 0;padding-left:25px}.help-content li{margin:5px 0}.important-notice{background:linear-gradient(135deg,#ffc10726,#ff980026);border:1px solid #ffc10766;border-radius:10px;margin:20px 0;padding:20px}.important-notice h4{color:#e65100;margin-top:0}.warning-notice{background:linear-gradient(135deg,#dc35451a,#dc35450d);border:1px solid #dc35454d;border-radius:10px;margin:20px 0;padding:20px}.warning-notice h4{color:#dc3545;margin-top:0}.app-options{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin:15px 0}.app-option{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:10px;padding:20px}.app-option h4{color:var(--primary-color);margin-top:0}.app-option ul{margin:10px 0 0;padding-left:20px}.download-qr-section{background:var(--background-color);border-radius:10px;margin-top:15px;padding:15px;text-align:center}.download-link-button{background:var(--primary-color);border-radius:8px;color:var(--text-color);display:inline-block;font-weight:600;margin-bottom:15px;padding:10px 20px;text-decoration:none;transition:all .3s ease}.download-link-button:hover{background:var(--secondary-color);transform:translateY(-2px)}.qr-code-wrapper{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:inline-block;padding:10px}.help-qr-code{display:block;height:100px;margin:0 auto;width:100px}.qr-code-caption{color:var(--text-color-secondary);font-size:.8em;margin:8px 0 0}.faq-item{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:10px;margin:15px 0;padding:20px}.faq-item h4{color:var(--text-color);margin-bottom:10px;margin-top:0}.faq-item p{margin:8px 0}@media (max-width:768px){.login-help-container{padding:25px}.login-help-container h1{font-size:1.6em}.help-section h2{font-size:1.2em}.app-options{grid-template-columns:1fr}.help-content{padding-left:0}}[data-theme=dark] .login-help-page{background-color:var(--background-color)}[data-theme=dark] .app-option,[data-theme=dark] .faq-item{background-color:#ffffff0d}.preferences-page-container{background-color:var(--background-color);border-radius:12px;box-shadow:0 4px 20px var(--shadow-color);color:var(--text-color);margin:40px auto;max-width:800px;padding:20px;text-align:center}.preferences-title{color:var(--primary-color);font-size:2.5em;font-weight:700;margin-bottom:40px;text-align:center}.preference-category{background-color:var(--card-background-color);border-radius:10px;box-shadow:0 2px 10px var(--shadow-color-light);margin-bottom:30px;padding:25px;text-align:left}.preference-category h2{border-bottom:2px solid var(--border-color);color:var(--secondary-color);font-size:1.8em;margin-bottom:25px;padding-bottom:10px}.preference-option{align-items:center;border-bottom:1px solid var(--border-color-light);border-radius:8px;display:flex;justify-content:space-between;margin:5px 0;padding:20px 10px;transition:all .3s ease}.preference-option:hover{background-color:var(--hover-bg-color);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.preference-option:last-child{border-bottom:none}.option-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.option-info span{color:var(--text-color);font-size:1.1em;font-weight:500}.option-info small{color:var(--text-color-secondary);font-size:.9em;line-height:1.3;opacity:.8}.preference-option span{color:var(--text-color);font-size:1.1em}.switch{height:30px;margin-left:15px;width:60px}.slider{border-radius:30px;box-shadow:inset 0 2px 4px #0000001a}.slider,.slider:before{transition:all .3s ease}.slider:before{border-radius:50%;bottom:3px;box-shadow:0 2px 6px #0003;height:24px;left:3px;width:24px}input:checked+.slider{box-shadow:0 0 10px #ffc1074d}input:focus+.slider{box-shadow:0 0 8px #ffc10780;outline:none}input:checked+.slider:before{box-shadow:0 2px 8px #0000004d;transform:translateX(30px)}@media (max-width:768px){.preferences-page-container{margin:20px auto;padding:15px}.preferences-title{font-size:2em;margin-bottom:30px}.preference-category{margin-bottom:20px;padding:20px}.preference-category h2{font-size:1.5em;margin-bottom:20px}.preference-option span{font-size:1em}.switch{height:22px;width:45px}.slider:before{bottom:3px;height:16px;left:3px;width:16px}input:checked+.slider:before{transform:translateX(23px)}}.font-size-selector{display:flex;gap:8px}.font-size-btn{background-color:var(--background-color);border:2px solid var(--border-color);border-radius:6px;color:var(--text-color);cursor:pointer;font-size:14px;font-weight:500;min-width:40px;padding:8px 16px;transition:all .3s ease}.font-size-btn.active,.font-size-btn:hover{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.font-size-btn.active{box-shadow:0 2px 4px #ffc1074d}.question-detail-modal .modal-content{box-sizing:border-box;display:flex;flex-direction:column;margin:0 1vw!important;max-height:90vh;max-width:none!important;overflow-x:hidden;overflow-y:auto;padding:0!important;position:relative;width:min(2700px,98vw)!important}.question-detail-content{background-color:var(--card-background-color);box-sizing:border-box;color:var(--text-color);flex:1 1;overflow-y:auto;padding:20px;position:relative;width:100%}.watermark-layer{bottom:0;left:0;overflow:hidden;pointer-events:none;position:fixed;right:0;top:0;z-index:10001}.watermark-item{font-size:1.4em;opacity:.06;transform:rotate(-30deg)}.section-title{border-bottom:2px solid var(--border-color);font-weight:600;margin:20px 0 15px;padding-bottom:8px}.section-title:first-child{margin-top:0}.question-section{margin-bottom:25px}.question-content{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:10px;box-sizing:border-box;margin-bottom:15px;padding:20px;width:100%}.question-text{line-height:1.6;margin-bottom:15px}.question-formula,.question-text{color:var(--text-color);font-size:1.2em;text-align:center}.question-formula{display:block;margin:15px 0}.question-image{border:1px solid var(--border-color);border-radius:8px;box-shadow:0 2px 4px #0000001a;display:block;height:auto;margin:15px auto;max-width:100%}.question-images-container{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:15px}.question-images-container .question-image{flex-grow:1;max-width:calc(45% - 5px)}.choices-section{margin-bottom:25px}.choices-container{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.choice-item-detail{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:10px;padding:15px;transition:all .2s ease}.choice-item-detail:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #0000001a}.choice-content{align-items:center;display:flex;flex-direction:column;text-align:center}.choice-image{border-radius:6px;height:auto;margin-bottom:10px;max-width:100%}.choice-formula,.choice-text{color:var(--text-color);font-size:1.1em}.choice-text{line-height:1.5}.explanation-section{margin-bottom:25px}.explanation-content{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:10px;padding:20px}.explanation-image{border-radius:8px;display:block;height:auto;margin:15px auto;max-width:100%}.explanation-text{color:var(--text-color);font-size:1.1em;line-height:1.7}.meta-section{border-top:1px solid var(--border-color);margin-top:20px;padding-top:20px}.meta-grid{grid-gap:15px;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:8px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:15px}.meta-item{align-items:center;display:flex;gap:8px}.meta-label{color:var(--text-secondary-color);font-size:.95em;font-weight:600}.meta-value{color:var(--text-color);color:var(--primary-color);font-size:.95em}.question-detail-content table{background-color:var(--card-background-color);border-collapse:collapse;font-size:.95em;margin:15px 0;width:100%}.question-detail-content td,.question-detail-content th{border:1px solid var(--border-color);color:var(--text-color);padding:10px 12px;text-align:left}.question-detail-content th{background-color:var(--hover-bg-color);color:var(--primary-color);font-weight:600}.question-detail-content tr:nth-child(2n){background-color:var(--background-color)}.question-detail-content b,.question-detail-content strong{color:var(--primary-color);font-weight:600}.question-detail-content ol,.question-detail-content ul{color:var(--text-color);margin:10px 0;padding-left:25px}.question-detail-content li{line-height:1.6;margin:5px 0}.question-detail-content p{color:var(--text-color);line-height:1.7;margin:10px 0}@media (max-width:768px){.question-detail-modal .modal-content{margin:10px;max-width:95vw}.question-detail-content{padding:15px}.section-title{font-size:1.2em}.question-text{font-size:1.1em}.choice-item-detail{padding:12px}.choices-container{gap:10px}.choices-container,.meta-grid{grid-template-columns:1fr}.question-detail-content td,.question-detail-content th{font-size:.9em;padding:8px 10px}}.watermark-container{bottom:0;left:0;overflow:hidden;pointer-events:none;position:fixed;right:0;top:0;z-index:10001}.watermark-item{color:var(--text-color);font-size:1.2em;font-weight:600;letter-spacing:.05em;opacity:.05;position:absolute;transform:rotate(0deg);-webkit-user-select:none;user-select:none;white-space:nowrap}.page-transition-container{min-height:calc(100vh - 60px);position:relative;width:100%}.page-transition-overlay{animation:overlay-fade-in .3s ease-out;background-color:#0000001a;height:100%;left:0;position:fixed;top:0;width:100%;z-index:9999}.page-transition-overlay,.page-transition-radar{align-items:center;display:flex;justify-content:center}.page-transition-radar{height:200px;position:relative;width:200px}.radar-sweep{animation:page-radar-sweep 1s ease infinite;background:conic-gradient(from 0deg,#0000 0deg,#0000 270deg,#ffc1071a 280deg,#ffc1074d 300deg,#ffc10799 320deg,#ffc107e6 340deg,var(--primary-color) 350deg,var(--primary-color) 1turn);border-radius:50%;height:100%;opacity:.9;position:absolute;width:100%}.page-content{position:relative;transition:opacity .4s ease-in-out,transform .4s ease-in-out;width:100%}.page-content.fade-out{opacity:0;transform:translateY(20px)}.page-content.fade-in{opacity:1;transform:translateY(0)}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}@keyframes page-radar-sweep{0%{opacity:.5;transform:rotate(0deg)}50%{opacity:.9}to{opacity:.5;transform:rotate(1turn)}}.favorites-page-container{background-color:var(--background-color);border-radius:8px;color:var(--text-color);margin:40px auto 30px;max-width:1200px;padding:20px}.favorites-page-container h1{color:var(--text-color);margin-bottom:30px;text-align:center}.favorites-header{align-items:center;display:flex;gap:15px;justify-content:flex-end;margin-bottom:20px}.batch-delete-button,.trash-link-button{align-items:center;background-color:var(--button-secondary-bg);border:1px solid var(--border-color);border-radius:5px;color:var(--button-secondary-text);cursor:pointer;display:flex;font-size:1em;font-weight:700;height:40px;justify-content:center;line-height:40px;min-width:100px;padding:10px 18px;text-decoration:none;transition:all .3s ease}.batch-delete-button:hover,.trash-link-button:hover{background-color:var(--hover-bg-color);box-shadow:0 2px 5px var(--shadow-color)}.favorites-page-container.error p{color:#d9534f;font-size:1.2em;text-align:center}.filter-controls{background-color:var(--card-background-color-secondary);border-radius:8px;display:flex;gap:15px;margin-bottom:30px;padding:15px}.category-select,.search-input{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:5px;color:var(--text-color);font-size:1em;padding:12px;width:100%}.search-input{flex:2 1}.category-select{flex:1 1}.start-practice-button{background-color:var(--primary-color);border:none;border-radius:5px;color:var(--button-text-color);cursor:pointer;flex-basis:180px;font-size:1em;font-weight:700;padding:12px 20px;text-align:center;transition:all .3s ease}.start-practice-button:hover{background-color:var(--secondary-color);box-shadow:0 2px 5px var(--shadow-color);transform:translateY(-2px)}.start-practice-button:disabled{background-color:var(--disabled-button-bg);box-shadow:none;color:var(--disabled-button-text);cursor:not-allowed;transform:none}.favorites-list{display:flex;flex-direction:column;gap:12px}.favorite-item-card{background-color:var(--card-background-color);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 2px 6px var(--shadow-color);margin-bottom:15px;max-height:1000px;opacity:1;overflow:hidden;padding:15px;transform:translateY(0) scale(1);transition:all .4s cubic-bezier(.25,.8,.25,1);will-change:transform,opacity}.favorite-item-card:hover{box-shadow:0 4px 12px var(--shadow-color);transform:translateY(-5px) scale(1.01)}.favorite-item-card.fade-out{border-width:0;margin-bottom:0;max-height:0;opacity:0;padding-bottom:0;padding-top:0;transform:translateY(-15px) scale(.95);transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1),max-height .4s cubic-bezier(.4,0,.2,1) .1s,margin-bottom .4s cubic-bezier(.4,0,.2,1) .1s,padding .4s cubic-bezier(.4,0,.2,1) .1s,border-width .4s cubic-bezier(.4,0,.2,1) .1s}.question-content{flex:1 1;min-width:0}.answer-content{margin-bottom:10px}.explanation-text,.question-text{font-size:1.05em;line-height:1.5;margin-bottom:10px}.favorite-item-card .question-text{-webkit-line-clamp:6;-webkit-box-orient:vertical;display:-webkit-box;max-height:150px;overflow:hidden}.explanation-image,.question-image{margin-top:10px}.favorite-item-layout{align-items:flex-start;display:flex;gap:20px;width:100%}.favorite-item-left{align-items:flex-start;display:flex;flex:1 1;gap:15px;min-width:0}.favorite-item-right{align-items:stretch;align-self:stretch;display:flex;flex-shrink:0;min-height:100%}.favorite-item-actions{align-items:center;display:flex;gap:8px;justify-content:flex-end;margin-top:10px}.toggle-answer-button{align-items:center;background-color:var(--primary-color);border:none;border-radius:6px;color:var(--button-text-color);cursor:pointer;display:flex;font-size:1em;justify-content:center;min-height:100%;padding:15px 20px;transition:background-color .3s ease;white-space:nowrap}.toggle-answer-button:hover{background-color:var(--secondary-color)}.delete-favorite-button{background-color:#d9534f;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9em;padding:8px 12px;transition:background-color .3s ease}.delete-favorite-button:hover{background-color:#c9302c}.favorite-checkbox{accent-color:var(--primary-color);cursor:pointer;flex-shrink:0;height:20px;margin:2px 0 0;width:20px}.batch-delete-button:disabled{background-color:var(--disabled-button-bg);box-shadow:none;color:var(--disabled-button-text);cursor:not-allowed;opacity:.6}.answer-content{border-top:1px solid var(--border-color);margin-top:20px;padding-top:20px}.answer-content h4{color:var(--text-color-secondary);margin-bottom:10px}.favorites-page-container p{color:var(--text-color-secondary);font-size:1.2em;margin-top:50px;text-align:center}.confirmation-dialog{background-color:var(--background-color);color:var(--text-color);padding:20px;text-align:center}.confirmation-dialog h3{color:var(--primary-color);margin-top:0}.dialog-actions{display:flex;gap:15px;justify-content:center;margin-top:20px}.cancel-button,.confirm-button{border:none;border-radius:5px;cursor:pointer;font-size:1em;font-weight:700;padding:10px 20px;transition:all .2s ease}.confirm-button{background-color:#d9534f;color:#fff}.confirm-button:hover{background-color:#c9302c}.cancel-button{background-color:var(--card-background-color-secondary);border:1px solid var(--border-color);color:var(--text-color)}.cancel-button:hover{background-color:var(--border-color)}.question-text table{background-color:var(--card-background-color);border-collapse:collapse;font-size:.9em;margin:10px 0;width:100%}.question-text td,.question-text th{border:1px solid var(--border-color);color:var(--text-color);padding:6px 8px;text-align:left}.question-text th{background-color:var(--hover-bg-color);color:var(--primary-color);font-weight:600}.question-text tr:nth-child(2n){background-color:var(--background-color)}.question-text b,.question-text strong{color:var(--primary-color);font-weight:600}.question-text ol,.question-text ul{color:var(--text-color);margin:8px 0;padding-left:20px}.question-text li{line-height:1.5;margin:4px 0}.question-text p{color:var(--text-color);line-height:1.6;margin:8px 0}@media (max-width:768px){.favorites-page-container{margin:20px auto;padding:15px}.favorites-page-title{font-size:1.8em}.favorite-item-card{padding:15px}.favorite-item-layout{flex-direction:column;gap:15px}.favorite-item-left{gap:10px}.favorite-item-right{align-self:stretch}.question-text{font-size:1em}.delete-favorite-button,.toggle-answer-button{font-size:.9em;padding:8px 12px}}.practice-page-container{color:var(--text-color);margin:0 auto;max-width:1400px;padding:20px;position:relative}.practice-page-container.centered-message{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;justify-content:center;padding-top:50px;text-align:center;z-index:1050}.main-title{color:var(--text-color);font-size:2.5em;margin-bottom:30px;text-align:center}.practice-layout{align-items:flex-start;display:flex;gap:30px}.practice-overview-sidebar{background-color:var(--card-background-color);border-radius:8px;box-shadow:0 2px 4px var(--shadow-color);flex:0 0 300px;height:-webkit-fit-content;height:fit-content;max-height:80vh;overflow-y:auto;padding:20px;position:-webkit-sticky;position:sticky;top:90px}.practice-overview-sidebar h2{border-bottom:2px solid var(--border-color);color:var(--primary-color);font-size:1.3em;list-style-type:none;margin-bottom:20px;padding-bottom:10px;text-align:center}.sidebar-tabs{border-bottom:2px solid var(--border-color);display:flex;margin-bottom:15px}.tab-button{background-color:initial;border:none;border-bottom:3px solid #0000;color:var(--text-color-secondary);cursor:pointer;flex:1 1;font-size:1em;font-weight:500;padding:10px 15px;transition:all .3s ease}.tab-button.active{border-bottom:3px solid var(--primary-color);color:var(--primary-color)}.tab-button:hover:not(.active){background-color:var(--hover-bg-color);color:var(--text-color)}.knowledge-graph-container h2,.overview-container h2{color:var(--text-color);font-size:1.2em;margin-bottom:15px}.practice-overview-list{list-style:none;margin:0;max-height:65vh;overflow-y:auto;padding:0}.practice-overview-list li{border-radius:5px;color:var(--text-color-secondary);cursor:pointer;font-size:.95em;margin-bottom:5px;overflow:hidden;padding:10px;text-overflow:ellipsis;transition:background-color .2s;white-space:nowrap}.practice-overview-list li:hover{background-color:var(--hover-bg-color);color:var(--text-color)}.practice-overview-list li.active{background-color:var(--primary-color-light);color:var(--primary-color);font-weight:700}.practice-display-area{flex-grow:1;min-width:0}.practice-question-card{background-color:var(--card-background-color);border-radius:10px;box-shadow:0 4px 8px var(--shadow-color);padding:30px}.practice-question-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:25px;padding-bottom:15px}.practice-question-header h3{color:var(--text-color);font-size:1.3em;margin:0}.practice-question-content{font-size:1.2em;line-height:1.7;margin-bottom:30px}.choices-container{display:flex;flex-direction:column;gap:12px;margin-bottom:30px}.choice-item-practice{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:8px;padding:15px 20px;transition:all .3s ease}.choice-item-practice.correct{background-color:#28a745;border-color:#218838;color:#fff}.practice-navigation-buttons{display:flex;justify-content:space-between;margin-top:20px}.practice-navigation-buttons button{background-color:var(--button-secondary-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--button-secondary-text);cursor:pointer;font-size:1em;font-weight:700;padding:12px 25px;transition:all .3s ease}.practice-navigation-buttons button:disabled{cursor:not-allowed;opacity:.5;transform:none}.practice-navigation-buttons button:hover:not(:disabled){box-shadow:0 2px 5px var(--shadow-color);transform:translateY(-2px)}.practice-navigation-buttons .show-answer-button{background-color:var(--primary-color);border:none;color:var(--button-text-color)}.practice-mode-toggle{align-items:center;display:flex;gap:10px}.practice-mode-toggle span{color:var(--text-color-secondary);font-size:1em}.switch{display:inline-block;height:28px;position:relative;width:50px}.switch input{height:0;opacity:0;width:0}.slider{background-color:#ccc;bottom:0;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.4s}.slider:before{background-color:#fff;bottom:4px;content:"";height:20px;left:4px;width:20px}input:checked+.slider{background-color:var(--primary-color)}input:focus+.slider{box-shadow:0 0 1px var(--primary-color)}input:checked+.slider:before{transform:translateX(22px)}.slider.round{border-radius:28px}.slider.round:before{border-radius:50%}.explanation-image,.question-image{border-radius:8px;display:block;height:auto;margin-left:auto;margin-right:auto;margin-top:15px;max-width:100%}.explanation-text,.question-text{font-size:1.2em;line-height:1.7;margin-bottom:15px}.choice-item.correct-choice{background-color:#4caf50!important;border-color:#388e3c!important;color:#fff!important}.answer-content-practice{border-top:2px dashed var(--border-color);margin-top:25px;padding-top:25px}.answer-content-practice h4{color:var(--text-color-secondary);font-size:1.3em;margin-bottom:15px;text-align:center}.knowledge-graph-container{display:flex;flex-direction:column}.knowledge-graph-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.fullscreen-toggle-button{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-color);cursor:pointer;display:flex;justify-content:center;padding:5px;transition:background-color .2s}.fullscreen-toggle-button:hover{background-color:var(--hover-bg-color)}.mermaid-graph{align-items:center;display:flex;justify-content:center;min-height:200px;width:100%}.mermaid-graph svg{height:auto;max-width:100%}.mastery-progress-section{border-top:1px solid var(--border-color);margin-top:20px;padding-top:15px}.mastery-progress-section h3{color:var(--text-color);font-size:1.1em;margin-bottom:15px;text-align:center}.progress-item{display:flex;font-size:.9em;margin-bottom:8px}.progress-label{flex:1 1;margin-right:10px;overflow:hidden;text-align:right;text-overflow:ellipsis}.progress-bar-container{border-radius:4px;flex:2 1;height:8px}.progress-percentage{color:var(--button-text-color)}.fullscreen-knowledge-graph-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#000c;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:1050}.fullscreen-content{background-color:var(--card-background-color);border-radius:10px;box-shadow:0 5px 20px #0000004d;display:flex;flex-direction:column;height:90%;padding:20px;width:90%}.mermaid-graph-fullscreen{align-items:center;display:flex;flex-grow:1;justify-content:center;overflow:auto}.mermaid-graph-fullscreen svg{max-height:100%;max-width:100%;object-fit:contain}.watermark-overlay{background-position:50%;background-repeat:repeat;height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:100}.new-user-confirm-overlay{align-items:center;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.new-user-confirm-modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;max-height:90vh;max-width:480px;overflow-y:auto;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.new-user-confirm-header{border-bottom:1px solid #f0f0f0;padding:32px 32px 24px;text-align:center}.new-user-confirm-icon{display:flex;justify-content:center;margin-bottom:16px}.new-user-confirm-header h2{color:#ffc107;font-size:24px;font-weight:600;margin:0}.new-user-confirm-content{padding:24px 32px}.new-user-confirm-message{color:#495057;font-size:16px;line-height:1.5;margin:0 0 24px;text-align:center}.user-info-display{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;margin:20px 0;padding:20px}.user-info-item{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.user-info-item:last-child{margin-bottom:0}.user-info-label{color:#6c757d;font-size:14px;font-weight:500}.user-info-value{color:#ffc107;font-size:14px;font-weight:600;max-width:200px;text-align:right;word-break:break-all}.new-user-confirm-question{color:#495057;font-size:16px;font-weight:500;line-height:1.5;margin:24px 0 0;text-align:center}.new-user-confirm-actions{display:flex;gap:16px;justify-content:center;padding:24px 32px 32px}.new-user-confirm-cancel,.new-user-confirm-confirm{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:16px;font-weight:500;min-height:48px;padding:12px 24px;transition:all .2s ease}.new-user-confirm-cancel{background:#f8f9fa;border:1px solid #dee2e6;color:#6c757d}.new-user-confirm-cancel:hover{background:#e9ecef;color:#495057}.new-user-confirm-confirm{background:#ffc107;color:#fff}.new-user-confirm-confirm:hover{background:#e0a800;box-shadow:0 4px 12px #ffc1074d;transform:translateY(-1px)}.new-user-confirm-confirm:active{transform:translateY(0)}@media (max-width:576px){.new-user-confirm-modal{margin:10px;max-width:none}.new-user-confirm-actions,.new-user-confirm-content,.new-user-confirm-header{padding-left:20px;padding-right:20px}.new-user-confirm-actions,.user-info-item{flex-direction:column}.user-info-item{align-items:flex-start;gap:4px}.user-info-value{max-width:none;text-align:left}}.user-guide-container{background-color:var(--background-color);color:var(--text-color);margin:0 auto;max-width:1200px;padding:20px}.guide-title{color:var(--primary-color);font-size:2.5em;font-weight:700;margin-bottom:10px;text-align:center}.guide-subtitle{color:var(--text-color-secondary);font-size:1.1em;line-height:1.6;margin-bottom:30px;text-align:center}.guide-content{display:flex;gap:30px;min-height:600px}.guide-navigation{background-color:var(--card-background-color);border-radius:12px;box-shadow:0 2px 8px var(--shadow-color);flex:0 0 250px;height:-webkit-fit-content;height:fit-content;padding:20px;position:-webkit-sticky;position:sticky;top:20px}.guide-navigation h3{border-bottom:2px solid var(--primary-color);color:var(--primary-color);font-size:1.2em;margin-bottom:15px;padding-bottom:8px}.nav-item{border-left:3px solid #0000;border-radius:8px;cursor:pointer;font-weight:500;margin-bottom:8px;padding:12px 15px;transition:all .3s ease}.nav-item:hover{background-color:var(--hover-bg-color);transform:translateX(5px)}.nav-item.active{background-color:var(--primary-color);border-left-color:var(--secondary-color);box-shadow:0 2px 8px #ffc1074d;color:var(--button-text-color);transform:translateX(5px)}.guide-main-content{background-color:var(--card-background-color);border-radius:12px;box-shadow:0 2px 8px var(--shadow-color);flex:1 1;padding:30px}.section-title{border-bottom:3px solid var(--primary-color);font-size:2em;margin-bottom:25px;padding-bottom:10px}.guide-step{background-color:var(--background-color);border-left:4px solid var(--primary-color);border-radius:10px;margin-bottom:30px;padding:20px;transition:transform .2s ease,box-shadow .2s ease}.guide-step:hover{box-shadow:0 4px 12px var(--shadow-color);transform:translateY(-2px)}.step-title{color:var(--primary-color);font-size:1.3em;font-weight:700;margin-bottom:8px}.step-description{color:var(--text-color);font-size:1.1em;font-weight:500;margin-bottom:12px}.step-details{color:var(--text-color-secondary);line-height:1.6}.step-details ul{margin:10px 0;padding-left:20px}.step-details li{margin-bottom:6px;position:relative}.step-details li::marker{color:var(--primary-color)}.step-details p{margin:8px 0}.guide-footer{border-top:2px solid var(--border-color);margin-top:40px;padding-top:20px}.tip-box{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-radius:12px;box-shadow:0 4px 12px #ffc10733;color:var(--button-text-color);padding:20px}.tip-box h4{font-size:1.2em;margin-bottom:10px}.tip-box p{margin-bottom:10px;opacity:.9}.tip-box ul{margin:0;padding-left:20px}.tip-box li{margin-bottom:5px;opacity:.9}@media (max-width:768px){.guide-content{flex-direction:column;gap:20px}.guide-navigation{flex:none;position:static}.nav-item{text-align:center}.guide-main-content{padding:20px}.section-title{font-size:1.6em}.step-title{font-size:1.1em}}.guide-main-content::-webkit-scrollbar{width:6px}.guide-main-content::-webkit-scrollbar-track{background:var(--background-color);border-radius:3px}.guide-main-content::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:3px}.guide-main-content::-webkit-scrollbar-thumb:hover{background:var(--secondary-color)}.outer-container{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;min-height:100%;padding:1rem}@media (min-width:640px){.outer-container{aspect-ratio:4/3}}@media (min-width:768px){.outer-container{aspect-ratio:2/1}}.step-circle-container{border-radius:2rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;margin-left:auto;margin-right:auto;max-width:56rem;width:100%}.step-indicator-row{align-items:center;display:flex;padding:2rem;width:100%}.step-content-default{overflow:hidden;position:relative}.step-default{padding-left:2rem;padding-right:2rem}.step-default h4{font-size:1.05rem;font-weight:700;margin:0 0 8px}.step-default p{color:#222;color:var(--text-color,#222);font-size:1rem;line-height:1.6;margin:0 0 8px}.step-circle-container .back-button,.step-circle-container .next-button,.step-circle-container .stepper-btn{background-color:#fce107!important;border:none!important;border-radius:12px!important;color:#000!important;font-size:.95rem!important;padding:.5rem 1rem!important}.step-circle-container .back-button.inactive{background-color:#ccc!important;background-color:var(--button-background-color-disabled,#ccc)!important;color:#a0a0a0!important;color:var(--text-color-disabled,#a0a0a0)!important;opacity:.6;pointer-events:none}.footer-container{padding-bottom:2rem;padding-left:2rem;padding-right:2rem}.footer-nav{display:flex;margin-top:2.5rem}.footer-nav.spread{justify-content:space-between}.footer-nav.end{justify-content:flex-end}.back-button{background-color:#fce107;border:none;border-radius:12px;color:#000;cursor:pointer;font-size:.95rem;padding:.5rem 1rem;transition:all .2s}.back-button:hover{filter:brightness(.95)}.back-button.inactive{color:#a3a3a3;opacity:.6;pointer-events:none}.next-button{align-items:center;background-color:#fce107;border:none;border-radius:12px;color:#000;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;justify-content:center;letter-spacing:-.02em;padding:.5rem 1rem;transition:all .2s}.next-button:hover{filter:brightness(.95)}.next-button:active{filter:brightness(.9)}.step-indicator{cursor:pointer;outline:none;position:relative}.step-indicator-inner{align-items:center;border-radius:9999px;display:flex;font-weight:600;height:2rem;justify-content:center;width:2rem}.active-dot{background-color:#fff;border-radius:9999px;height:.75rem;width:.75rem}.step-number{font-size:.875rem}.step-connector{background-color:#52525b;border-radius:.25rem;flex:1 1;height:.125rem;margin-left:.5rem;margin-right:.5rem;overflow:hidden;position:relative}.step-connector-inner{height:100%;left:0;position:absolute;top:0}.check-icon{height:1rem;width:1rem}.personalization-container{background-color:var(--background-color);color:var(--text-color);margin:0 auto;max-width:1000px;padding:20px}.personalization-title{color:var(--primary-color);font-size:2.2em;font-weight:700;margin-bottom:10px;text-align:center}.personalization-subtitle{color:var(--text-color-secondary);font-size:1.1em;line-height:1.6;margin-bottom:40px;text-align:center}.setting-section{background-color:var(--card-background-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px var(--shadow-color);margin-bottom:25px;padding:25px}.section-title{color:var(--primary-color);font-size:1.4em;font-weight:700;margin-bottom:8px}.section-description{color:var(--text-color-secondary);line-height:1.5;margin-bottom:20px}.dark-mode-toggle{align-items:center;display:flex;gap:15px}.toggle-container{align-items:center;display:flex;gap:12px}.toggle-input{display:none}.toggle-label{align-items:center;cursor:pointer;display:flex;gap:12px;-webkit-user-select:none;user-select:none}.toggle-slider{background-color:var(--border-color);border-radius:12px;height:24px;position:relative;transition:all .3s ease;width:50px}.toggle-slider:before{background-color:#fff;border-radius:50%;box-shadow:0 2px 4px #0003;content:"";height:20px;left:2px;position:absolute;top:2px;transition:all .3s ease;width:20px}.toggle-input:checked+.toggle-label .toggle-slider{background-color:var(--primary-color)}.toggle-input:checked+.toggle-label .toggle-slider:before{transform:translateX(26px)}.toggle-text{color:var(--text-color);font-size:1.1em;font-weight:500}.theme-grid{grid-gap:20px;-webkit-backface-visibility:hidden;backface-visibility:hidden;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:20px}.theme-card{background-color:var(--background-color);border:2px solid var(--border-color);border-radius:12px;cursor:pointer;overflow:hidden;padding:20px;position:relative;transition:all .3s ease}.theme-card:hover{border-color:var(--primary-color);box-shadow:0 6px 20px var(--shadow-color);transform:translateY(-3px)}.theme-card.active{border-color:var(--primary-color);box-shadow:0 4px 16px #ffc1074d;transform:translateY(-2px)}.theme-preview{display:flex;gap:8px;margin-bottom:15px}.color-primary,.color-secondary{border:2px solid var(--border-color);border-radius:8px;height:40px;transition:transform .2s ease;width:40px}.theme-card:hover .color-primary,.theme-card:hover .color-secondary{transform:scale(1.1)}.theme-info{flex:1 1}.animation-style-grid{gap:16px;grid-template-columns:repeat(2,1fr)}.animation-style-grid .theme-preview{display:none}.animation-style-grid .theme-info{text-align:center}.theme-caption{color:var(--text-color-secondary);font-size:12px;margin-top:6px}.theme-name{color:var(--text-color);font-size:1.1em;font-weight:700;margin-bottom:8px}.theme-description{color:var(--text-color-secondary);font-size:.9em;line-height:1.4}.active-indicator{align-items:center;background-color:var(--primary-color);border-radius:50%;color:var(--button-text-color);display:flex;font-size:14px;font-weight:700;height:24px;justify-content:center;position:absolute;right:15px;top:15px;width:24px}.preview-area{margin-top:20px}.preview-card{background-color:var(--card-background-color);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 2px 8px var(--shadow-color);padding:20px}.preview-card h4{font-size:1.2em;margin-bottom:10px}.preview-card p{color:var(--text-color-secondary);margin-bottom:15px}.preview-button{border:none;border-radius:6px;cursor:pointer;font-weight:700;padding:10px 20px;transition:all .3s ease}.preview-button:hover{box-shadow:0 2px 8px #0003;transform:translateY(-1px)}.reset-button{background-color:#dc3545;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1em;font-weight:700;padding:12px 24px;transition:all .3s ease}.reset-button:hover{background-color:#c82333;box-shadow:0 4px 12px #dc35454d;transform:translateY(-1px)}@media (max-width:768px){.theme-grid{grid-template-columns:1fr}.personalization-title{font-size:1.8em}.setting-section{padding:20px}.theme-card{padding:15px}}.lanyard-wrapper{align-items:center;display:flex;height:320px;justify-content:center;position:relative;transform:scale(1);transform-origin:center;width:100%;z-index:0}.lanyard-wrapper canvas{display:block;height:100%!important;width:100%!important}.changelog-viewer{background:var(--card-background-color);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 6px 18px #0000000f;padding:16px}.clv-inner{color:var(--text-color);font-size:14px}.clv-main-title{font-size:16px;font-weight:700;margin-bottom:6px}.clv-section-title{font-weight:700;margin-top:10px}.clv-item{border-bottom:1px dashed #0000000a;padding:6px 0}.clv-plain{color:var(--text-color-secondary);padding:2px 0}*{box-sizing:border-box}.account-page-container{background-color:var(--background-color);color:var(--text-color);margin:40px auto;max-width:1200px;padding:20px}.account-page-main-title{color:var(--text-color);font-size:2.8em;margin-bottom:40px;text-align:center}.account-page-content{display:flex;gap:30px}.account-sidebar{background-color:var(--card-background-color);border-radius:10px;box-shadow:0 2px 5px var(--shadow-color);flex:0 0 220px;height:-webkit-fit-content;height:fit-content;overflow:hidden;padding:20px}.sidebar-title{border-bottom:1px solid var(--border-color);color:var(--text-color-secondary);font-size:.9em;font-weight:700;letter-spacing:.5px;margin-bottom:10px;margin-top:15px;padding:10px 0;text-transform:uppercase}.sidebar-title:first-child{margin-top:0}.sidebar-item{align-items:center;background:none;border:none;border-radius:8px;color:var(--text-color);cursor:pointer;display:flex;font-weight:500;gap:10px;margin-bottom:5px;padding:12px 15px;text-align:left;transition:background-color .2s ease,color .2s ease;width:100%}.sidebar-item:hover{background-color:var(--hover-bg-color)}.sidebar-item.active{background-color:var(--primary-color);box-shadow:0 2px 4px #0000001a;color:var(--button-text-color)}.account-main-content{background-color:var(--card-background-color);border-radius:10px;box-shadow:0 2px 5px var(--shadow-color);flex-grow:1;min-height:500px;padding:30px 40px}.account-main-content h2{border-bottom:2px solid var(--border-color);color:var(--text-color);font-size:2em;margin-bottom:30px;padding-bottom:15px}.account-main-content h3{color:var(--text-color);font-size:1.5em;margin-bottom:20px}.action-button{background-color:var(--primary-color);border:none;border-radius:12px;box-shadow:0 2px 8px #ffc1074d;color:#fff;cursor:pointer;display:block;font-size:16px;font-weight:600;margin:10px auto;min-width:150px;padding:14px 30px;transition:all .3s ease}.action-button:hover{background-color:var(--secondary-color);box-shadow:0 4px 15px #ffc10766;transform:translateY(-3px)}.secondary-button{background-color:var(--primary-color);border:none;border-radius:10px;box-shadow:0 2px 6px #ffc10733;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .3s ease}.secondary-button:hover{background-color:var(--secondary-color);box-shadow:0 3px 10px #ffc1074d;transform:translateY(-2px)}.account-settings-content{display:flex;flex-direction:column;gap:40px}.setting-block{border-bottom:1px solid var(--border-color);padding-bottom:30px}.setting-block:last-child{border-bottom:none}.form-group{align-items:center;display:flex;flex-direction:column;margin-bottom:25px}.form-group label{display:block;font-weight:500;margin-bottom:10px;text-align:center;width:100%}.form-group input[type=email],.form-group input[type=password],.form-group input[type=tel],.form-group input[type=text]{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:10px;color:var(--text-color);font-size:16px;max-width:450px;padding:14px 16px;text-align:center;transition:all .3s ease;width:100%}.form-group input[type=email]:focus,.form-group input[type=password]:focus,.form-group input[type=tel]:focus,.form-group input[type=text]:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #ffc10733;outline:none;transform:translateY(-2px)}.current-info{color:var(--text-color-secondary);font-style:italic;margin-bottom:15px}.input-with-button{align-items:center;display:flex;gap:15px;justify-content:center;max-width:600px;width:100%}.input-with-button input{flex:2 1;min-width:0}.input-with-button button{flex:1 1;min-width:120px;white-space:nowrap}.membership-content .membership-plans{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:20px}.plan-card{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:10px;overflow:hidden;padding:30px;position:relative;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.plan-card:hover{box-shadow:0 8px 15px var(--shadow-color);transform:translateY(-5px)}.plan-card.recommended{border:2px solid var(--primary-color)}.plan-card h4{font-size:1.4em;margin-bottom:15px}.plan-card .price{color:var(--primary-color);font-size:2.5em;font-weight:700;margin-bottom:25px}.save-badge{background-color:var(--secondary-color);color:var(--button-text-color);font-size:.8em;padding:5px 30px;position:absolute;right:-30px;top:15px;transform:rotate(45deg)}.plan-card.test-plan{background-color:var(--background-color);border:2px dashed var(--secondary-color)}.plan-card.test-plan:hover{background-color:#ffc1070d;border-style:solid}.plan-card.test-plan h4{color:var(--secondary-color)}.test-badge{background-color:#ff6b6b;color:#fff;font-size:.8em;font-weight:700;padding:5px 30px;position:absolute;right:-30px;top:15px;transform:rotate(45deg)}.user-courses-grid-horizontal{align-items:center;display:flex;flex-direction:column;gap:20px}.course-card-horizontal{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 2px 5px var(--shadow-color);display:flex;flex-direction:row;justify-content:space-between;max-width:700px;padding:20px 20px 36px;position:relative;transition:transform .3s ease,box-shadow .3s ease;width:90%}.course-info-left{align-items:flex-start;display:flex;flex:1 1;flex-direction:row;gap:12px}.course-icon{flex-shrink:0;height:20px;margin-top:6px;width:20px}.course-icon,.purchased-icon{color:var(--primary-color)}.course-text-left h3{font-size:1.2em;margin:0}.course-text-left p{color:var(--text-color-secondary);margin:6px 0 0}.course-card-horizontal:hover{box-shadow:0 8px 15px var(--shadow-color);transform:translateY(-5px)}.course-card-horizontal h3{color:var(--text-color);font-size:1.2em}.course-card-horizontal h3,.course-card-horizontal p{margin-bottom:10px;overflow-wrap:break-word;word-break:break-word}.course-card-horizontal p{color:var(--text-color-secondary);flex-grow:1;font-size:.9em;line-height:1.5}.purchased-checkmark{color:var(--primary-color);flex-shrink:0;height:20px;margin-right:8px;position:static;width:20px}.expired-icon{color:#e74c3c;height:24px;width:24px}.renew-button.action-button{background:var(--primary-color);border:none;border-radius:10px;box-shadow:0 2px 6px #00000014;color:var(--button-text-color);font-size:.95em;min-width:auto}.course-meta-right .action-button,.renew-button.action-button{display:inline-block;margin:0;padding:8px 14px}.course-meta-right{align-items:flex-end;bottom:12px;display:flex;flex-direction:column;gap:8px;max-width:240px;min-width:120px;position:absolute;right:16px;z-index:10}.course-expiry-info{color:#666;font-size:.95em}.expiry-date{color:#666;opacity:.95}.expiry-lifetime{color:#4caf50;font-weight:600}.expiry-unknown{color:#666}@media (max-width:1200px){.course-card-horizontal{width:100%}}@media (max-width:768px){.course-card-horizontal{width:100%}}.course-card-small{align-items:center;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:8px;display:flex;gap:20px;padding:15px}.course-thumb-small{border-radius:5px;height:80px;object-fit:cover;width:120px}.course-info-small{flex-grow:1}.course-info-small h3{font-size:1.2em;margin:0 0 10px}.course-info-small p{color:var(--text-color-secondary);font-size:.9em;margin-bottom:15px}.check-in-content{padding-top:50px;text-align:center}.check-in-content p{font-size:1.2em;margin-bottom:30px}.action-button.large{border-radius:50px;font-size:1.5em;padding:20px 40px}.company-news-content ul,.contact-us-content ul{list-style:none;padding:0}.company-news-content li,.contact-us-content li{border-bottom:1px solid var(--border-color-light);font-size:1.1em;padding:10px 0}.contact-us-content a{color:var(--primary-color);text-decoration:none}.contact-us-content a:hover{text-decoration:underline}.contact-channels{display:flex;flex-wrap:wrap;gap:20px;margin-top:12px}.contact-channel{background:var(--card-background-color);border:1px solid var(--border-color);border-radius:8px;flex:1 1 300px;padding:16px}.contact-channel h3{color:var(--primary-color);margin-top:0}.contact-channel ul{margin:8px 0 0 16px}.qq-group-section{margin-top:20px}.qq-channel{background:linear-gradient(135deg,#ffc1070d,#ffc10705);border:2px solid var(--primary-color)}.qq-channel h3{color:var(--primary-color);margin-bottom:12px}.qq-group-list{margin-top:12px}.qq-group-item{align-items:center;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:8px;display:flex;font-size:1.1em;justify-content:center;padding:12px 16px}.qq-group-item strong{color:var(--text-color)}.qq-group-number{background-color:#ffc1071a;border-radius:4px;color:var(--primary-color);font-family:Courier New,monospace;font-size:1.2em;font-weight:700;margin-left:8px;padding:4px 12px}.contact-note{color:var(--text-color-secondary);font-size:.95rem;margin-top:16px}.company-news-content .news-item{line-height:1.6}.company-news-content .news-item strong{color:var(--primary-color)}.legal-info-content{padding:20px 0}.legal-info-content h2{border-bottom:2px solid var(--primary-color);color:var(--text-color);font-size:2em;margin-bottom:30px;padding-bottom:15px}.legal-section{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px var(--shadow-color);margin-bottom:40px;padding:25px 30px}.legal-section:last-child{margin-bottom:0}.legal-section h3{border-bottom:1px solid var(--border-color);color:var(--primary-color);font-size:1.5em;margin-bottom:20px;padding-bottom:10px}.legal-text{color:var(--text-color);font-size:.95em;line-height:1.8}.legal-text p{margin-bottom:16px;text-align:justify}.legal-text p strong{color:var(--text-color);display:block;font-size:1.05em;font-weight:600;margin-bottom:8px;margin-top:20px}.legal-text p:first-of-type{margin-top:0}.legal-text p:last-child{margin-bottom:0}.thank-you-content{margin:0 auto;max-width:800px;padding:20px 0}.thank-you-header{background:linear-gradient(135deg,#ffc1071a,#ffc1070d);border:2px solid #ffc1074d;border-radius:16px;margin-bottom:30px;padding:30px 20px;text-align:center}.thank-you-icon{animation:bounce 2s ease infinite;font-size:4em;margin-bottom:15px}.thank-you-title{color:var(--primary-color);font-size:2.2em;font-weight:700;margin-bottom:10px}.thank-you-subtitle{color:var(--text-color-secondary);font-size:1.1em;font-style:italic}.thank-you-card{background-color:var(--card-background-color);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 4px 20px var(--shadow-color);margin-bottom:25px;padding:35px 40px}.thank-you-message p{color:var(--text-color);font-size:1.1em;line-height:2;margin:0;text-align:justify}.thank-you-footer{background:linear-gradient(135deg,#ffc10714,#ffc10705);border:1px solid #ffc10733;border-radius:12px;padding:25px;text-align:center}.team-signature{color:var(--text-color);font-size:1.2em;font-weight:600;margin-bottom:8px}.team-motto{color:var(--text-color-secondary);font-size:.95em;font-style:italic}@media (max-width:992px){.account-page-content{flex-direction:column}.account-sidebar{flex:1 1;height:auto}}@media (max-width:768px){.account-page-container{padding:10px}.account-main-content{padding:20px}.input-with-button{align-items:stretch;flex-direction:column}}.course-progress-list{gap:20px;grid-template-columns:1fr}.progress-notification-content{margin:0 auto;max-width:700px;padding:20px}.progress-notification-content h2{color:var(--text-color);font-size:2.2em;margin-bottom:40px;text-align:center}.progress-notification-content .setting-block h3{align-items:center;color:var(--text-color);display:flex;font-size:1.4em;justify-content:space-between;margin-bottom:20px}.progress-notification-content .status-tag{border-radius:20px;font-size:.75em;font-weight:500;padding:6px 14px}.progress-notification-content .status-tag.bound{background-color:#0b804326;color:#0b8043}.progress-notification-content .status-tag.unbound{background-color:var(--border-color);color:var(--text-color-secondary)}.progress-notification-content .setting-description{color:var(--text-color-secondary);font-size:1.1em;line-height:1.7;margin-bottom:25px}.progress-notification-content .current-email-box{background-color:#ffc10714;border-radius:10px;margin-bottom:25px;padding:16px 20px}.progress-notification-content .current-email-box .label{color:var(--text-color-secondary);display:block;font-size:.9em;margin-bottom:6px}.progress-notification-content .current-email-box .email{color:var(--text-color);font-size:1.15em;font-weight:500}.progress-notification-content .email-form{display:flex;gap:12px;margin-bottom:20px}.progress-notification-content .email-form input{background-color:var(--input-background-color);border:1px solid var(--border-color);border-radius:10px;box-sizing:border-box;color:var(--text-color);flex:1 1;font-size:1.05em;height:50px;padding:14px 18px}.progress-notification-content .email-form input:focus{border-color:var(--primary-color);outline:none}.progress-notification-content .email-form button{background-color:var(--primary-color);border:none;border-radius:10px;box-sizing:border-box;color:#000;cursor:pointer;font-size:1em;font-weight:600;height:50px;padding:14px 28px;white-space:nowrap}.progress-notification-content .email-form button:disabled{cursor:not-allowed;opacity:.5}.progress-notification-content .message{border-radius:8px;font-size:1em;margin-bottom:20px;padding:14px 18px}.progress-notification-content .message.success{background-color:#0b80431a;border:1px solid #0b804333;color:#0b8043}.progress-notification-content .message.error{background-color:#d930251a;border:1px solid #d9302533;color:#d93025}.progress-notification-content .hint-text{border-top:1px solid var(--border-color);color:var(--text-color-secondary);font-size:1em;line-height:1.6;margin:25px 0;padding-top:25px}.progress-notification-content .push-section{border-top:1px solid var(--border-color);margin-top:25px;padding-top:25px}.progress-notification-content .push-section button{background-color:var(--primary-color);border:none;border-radius:10px;color:#000;cursor:pointer;font-size:1.1em;font-weight:600;height:54px;padding:16px;width:100%}.progress-notification-content .push-section button:disabled{cursor:not-allowed;opacity:.5}.progress-notification-content .push-section .message{margin-bottom:0;margin-top:15px}.progress-notification-content .form-group{margin-bottom:20px}.progress-notification-content label{color:var(--text-color);display:block;font-size:.95em;font-weight:500;margin-bottom:8px}.progress-notification-content .input-with-button{display:flex;gap:10px}.progress-notification-content input[type=email]{background-color:var(--input-background-color);border:1px solid var(--border-color);border-radius:8px;box-sizing:border-box;color:var(--text-color);flex:1 1;font-size:.95em;height:42px;padding:10px 14px}.progress-notification-content .action-button{background-color:var(--primary-color);border:none;border-radius:8px;box-sizing:border-box;color:#000;cursor:pointer;font-size:.9em;font-weight:600;height:42px;padding:10px 20px}.progress-notification-content .current-info{background-color:#ffc10714;border:1px solid #ffc10733;border-radius:8px;font-size:.95em;margin-bottom:20px;padding:12px 15px}.progress-notification-content .email-config-hint{border-top:1px solid var(--border-color);color:var(--text-color-secondary);font-size:.85em;line-height:1.5;margin:15px 0;padding-top:15px}.progress-notification-content .push-button-section{border-top:1px solid var(--border-color);margin-top:20px;padding-top:20px}.progress-notification-content .push-button-section .action-button{font-size:.95em;height:44px;padding:12px;width:100%}.progress-notification-content .checkbox-group{align-items:center;display:flex;margin-bottom:15px}.progress-notification-content .checkbox-group input[type=checkbox]{height:18px;margin-right:8px;width:18px}.progress-notification-content .checkbox-group label{cursor:pointer;margin-bottom:0}.email-status-message{background-color:var(--success-bg-color);border:1px solid var(--success-border-color);border-radius:6px;font-size:.9em;font-weight:500;margin-top:15px;padding:10px 14px;text-align:center}.email-status-message.error{background-color:var(--error-bg-color);border:1px solid var(--error-border-color);color:var(--error-color)}.email-config-hint{background-color:#f8f9fa;background-color:var(--card-background,#f8f9fa);border-left:3px solid var(--primary-color);border:1px solid var(--border-color);border-radius:4px;margin-top:15px;padding:12px}.email-config-hint small{color:#666!important;color:var(--text-secondary,#666)!important;display:block;font-size:.9em!important;line-height:1.4!important}[data-theme=dark] .email-config-hint{background-color:var(--card-background);border-color:var(--border-color)}[data-theme=dark] .email-config-hint small{color:var(--text-secondary)!important}.my-messages-content{padding:10px 0}.notification-history-list{list-style:none;margin-top:20px;padding:0}.notification-item{background-color:var(--background-color);border:1px solid var(--border-color);border-left:5px solid #0000;border-radius:8px;margin-bottom:15px;padding:15px 20px;position:relative;transition:background-color .3s}.notification-item.unread{background-color:var(--card-background-color);border-left:5px solid var(--primary-color);font-weight:500}.notification-item.read{border-left:5px solid var(--border-color-light);opacity:.8}.notification-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.notification-title{color:var(--text-color);font-size:1.1em;font-weight:700}.notification-date{color:var(--text-color-secondary);font-size:.85em}.notification-message{color:var(--text-color-secondary);line-height:1.6;margin:0}.notification-item.unread .notification-message{color:var(--text-color)}.unread-indicator-dot{background-color:var(--primary-color);border-radius:50%;height:10px;position:absolute;right:20px;top:20px;width:10px}.alipay-qr-modal-content{padding:20px;text-align:center}.alipay-qr-modal-content h3{color:#333;margin-bottom:20px}.alipay-qr-modal-content img{border:1px solid #ddd;border-radius:8px}.payment-test-buttons{display:flex;flex-direction:column;gap:24px;margin-top:20px}.payment-method-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:20px}.payment-method-section h3{color:#2c3e50;font-size:18px;margin-bottom:8px}.payment-method-section p{color:#6c757d;font-size:14px;margin-bottom:16px}.action-button.secondary{background:#6c757d;color:#fff}.action-button.secondary:hover{background:#5a6268}@media (min-width:768px){.payment-test-buttons{flex-direction:row;gap:20px}.payment-method-section{flex:1 1}}.payment-status-section{background:#e8f5e8;border:1px solid #4caf50;border-radius:12px;margin-top:20px;padding:20px}.payment-status-section h3{color:#2e7d32;font-size:18px;margin-bottom:16px}.status-indicator{align-items:center;display:flex;flex-direction:column;text-align:center}.status-indicator .spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#4caf50;height:30px;margin-bottom:16px;width:30px}.status-indicator p{color:#2e7d32;margin:4px 0}.status-tip{color:#666;font-size:14px;font-style:italic}.purchase-history-content{padding:20px}.purchase-history-list{margin-top:20px}.purchase-item{background:var(--card-background-color);border:1px solid var(--border-color);border-radius:8px;margin-bottom:15px;padding:20px;transition:box-shadow .3s ease}.purchase-item:hover{box-shadow:0 2px 8px var(--shadow-color)}.purchase-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.order-id{color:var(--text-color-secondary);font-family:Courier New,monospace;font-size:14px;font-weight:500}.status{border-radius:20px;font-size:12px;font-weight:600;padding:4px 12px;text-transform:uppercase}.status.pending{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404}.status.completed{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.status.failed{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.status.closed{background-color:#e2e3e5;border:1px solid #d6d8db;color:#383d41}.purchase-details{align-items:flex-start;display:flex;justify-content:space-between}.product-info h4{color:var(--text-color);font-size:18px;font-weight:600;margin:0 0 8px}.product-info .amount{color:#e74c3c;font-size:20px;font-weight:700;margin:0}.order-meta{color:var(--text-color-secondary);font-size:14px;text-align:right}.order-meta p{margin:4px 0}.trade-no{font-family:Courier New,monospace;font-size:12px}.no-purchase-history{color:var(--text-color-secondary);padding:40px 20px;text-align:center}.support-help{border-top:1px solid var(--border-color);margin-top:30px;padding-top:20px;text-align:center}.support-link{color:var(--primary-color);cursor:pointer;font-size:14px;text-decoration:underline;transition:color .3s ease}.support-link:hover{color:var(--secondary-color)}.invoice-link{color:var(--primary-color);cursor:pointer;font-size:14px;margin-top:10px;text-decoration:underline;transition:color .3s ease}.invoice-link:hover{color:var(--secondary-color)}.purchase-disclaimer{background-color:var(--card-background-color);border:1px solid var(--border-color);border-radius:8px;margin-top:40px;padding:20px}.purchase-disclaimer p{color:var(--text-color-secondary);font-size:12px;line-height:1.6;margin:0;text-align:justify}.support-modal-content{max-width:500px;padding:30px}.support-modal-title{color:var(--primary-color)!important;font-size:24px!important;font-weight:600;margin-bottom:20px}.support-modal-body{color:var(--text-color-secondary);line-height:1.6}.support-modal-body p{margin-bottom:15px}.support-modal-body ul{margin-bottom:20px;padding-left:20px}.support-modal-body li{margin-bottom:8px}.support-highlight{color:#e74c3c!important;font-weight:700}.support-modal-button{background-color:var(--primary-color);border:none;border-radius:5px;color:var(--text-color);cursor:pointer;font-size:14px;font-weight:500;margin-top:20px;padding:8px 16px;transition:background-color .3s ease}.support-modal-button:hover{background-color:var(--secondary-color)}@media (max-width:768px){.purchase-details{flex-direction:column;gap:15px}.order-meta{text-align:left}.purchase-header{align-items:flex-start;flex-direction:column;gap:10px}}.redeem-code-section{align-items:center;display:flex;justify-content:center;margin:80px 0 18px}.card{--background:var(--primary-color);background:var(--background);border-radius:1rem;height:300px;overflow:visible;padding:12px;position:relative;width:420px;z-index:1}.card:before{box-shadow:0 0 30px 8px var(--background),0 0 60px 16px var(--background),0 0 90px 24px #ffc10766;opacity:.8;z-index:-1}.card:after,.card:before{border-radius:1rem;bottom:0;content:"";left:0;position:absolute;right:0;top:0;transition:opacity .5s}.card:after{box-shadow:0 0 50px 20px var(--background),0 0 100px 40px #ffc1074d;opacity:.6;z-index:-2}.card-info{--color:#181818;align-items:center;background:var(--color);border-radius:.7rem;color:var(--color);display:flex;height:100%;justify-content:center;overflow:visible;padding:14px;width:100%}.card .title{font-weight:700;letter-spacing:.1em}.card:hover:after{opacity:0}.card:hover .card-info{color:var(--primary-color);transition:color 1s}.card .form-group.redeem-input-group{margin:0 auto;max-width:300px;width:100%}.card .form-group.redeem-input-group input[type=text]{border:none;border-radius:8px;margin-bottom:8px;padding:10px 12px;width:100%}.card .action-button{font-size:15px;min-width:160px;padding:12px 18px}.member-card-wrapper{display:flex;justify-content:center;padding:24px 0}.member-card{background-color:var(--primary-color);background-image:linear-gradient(43deg,var(--primary-color) 0,#c87800e6 46%,#ffcc70 100%);border-radius:8px;color:#fff;cursor:pointer;height:220px;overflow:hidden;perspective:1000px;position:relative;transform-style:preserve-3d;transition:all .5s cubic-bezier(.23,1,.32,1);width:320px}.member-card .card-content{align-items:center;color:#fff;display:flex;flex-direction:column;gap:8px;height:100%;justify-content:center;padding:20px;position:relative;text-align:center;z-index:1}.member-card .card-content .card-title{color:inherit;font-size:22px;font-weight:700;text-transform:none}.member-card .card-content .card-para{color:inherit;font-size:14px;opacity:.95}.member-card:hover{box-shadow:0 10px 20px #0000002e;transform:rotateY(6deg) rotateX(6deg) scale(1.03)}.member-card:before{background:linear-gradient(#0000,#0000000f);content:"";height:100%;left:0;position:absolute;top:0;transition:transform .5s cubic-bezier(.23,1,.32,1);width:100%;z-index:1}.member-card:hover:before{transform:translateX(-100%)}.member-card:after{background:linear-gradient(#0000,#0000000f);content:"";height:100%;position:absolute;right:0;top:0;transition:transform .5s cubic-bezier(.23,1,.32,1);width:100%;z-index:1}.member-card:hover:after{transform:translateX(100%)}.group-buys-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.group-buy-card{background:var(--background-color);border:2px solid var(--border-color);border-radius:12px;padding:20px}@media (max-width:768px){.group-buys-list{grid-template-columns:1fr}}.group-buy-card:hover{box-shadow:0 5px 15px #0000001a;transform:translateY(-3px)}.group-buy-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:10px}.group-buy-header h3{color:var(--text-color);font-size:1.1em;margin:0}.group-buy-header .status-badge{border-radius:12px;font-size:.75em;font-weight:600;padding:4px 10px}.group-buy-header .status-badge.pending{background:#ffc107;color:#000}.group-buy-header .status-badge.completed{background:#28a745;color:#fff}.group-buy-details{display:flex;flex-direction:column;font-size:.9em;gap:8px}.group-buy-details .detail-row{display:flex;justify-content:space-between}.group-buy-details .label{color:var(--text-color-secondary)}.group-buy-details .value{color:var(--text-color);font-weight:500}.group-buy-details .value.role{border-radius:10px;font-size:.8em;padding:2px 8px}.group-buy-details .value.role.initiator{background:#ffc107;color:#000}.group-buy-details .value.role.participant{background:#17a2b8;color:#fff}.group-buy-actions{border-top:1px solid var(--border-color);margin-top:12px;padding-top:12px;text-align:center}.group-buy-actions .share-hint{background:#ffc1071a;border:1px solid #ffc107;border-radius:8px;font-size:.85em;margin:0;padding:10px}.progress-page-container{background-color:var(--background-color);color:var(--text-color);margin:20px auto;max-width:1200px;min-height:80vh;padding:30px 20px}.progress-page-error,.progress-page-loading{align-items:center;color:var(--text-color);display:flex;font-size:1.5em;height:60vh;justify-content:center}.progress-page-header{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-bottom:40px;position:relative}.progress-page-title{color:var(--text-color);flex:1 1;font-size:2.8em;margin:0;text-align:center;text-shadow:1px 1px 2px #0000001a}.generate-pdf-button{align-items:center;background-color:var(--primary-color);border:none;border-radius:8px;box-shadow:0 2px 4px var(--shadow-color);color:var(--button-text-color);cursor:pointer;display:flex;font-size:1em;font-weight:600;gap:8px;padding:12px 20px;position:absolute;right:0;top:50%;transform:translateY(-50%);transition:all .3s ease}.generate-pdf-button:hover{background-color:var(--secondary-color);box-shadow:0 4px 8px var(--shadow-color);transform:translateY(-50%) translateY(-2px)}.generate-pdf-button svg{flex-shrink:0}.progress-filter-section{align-items:center;display:flex;gap:15px;justify-content:center;margin-bottom:30px;text-align:center}.progress-filter-section label{font-size:1.1em;font-weight:500}.progress-filter-section select{background-color:var(--input-background-color);border:1px solid var(--border-color);border-radius:8px;color:var(--text-color);cursor:pointer;font-size:1em;padding:10px 15px;transition:border-color .3s ease,box-shadow .3s ease}.progress-filter-section select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #ffc1074d;outline:none}.weakness-analysis-section{background-color:var(--card-background-color);border-radius:10px;box-shadow:0 4px 8px var(--shadow-color);margin-bottom:40px;padding:25px;text-align:center}.weakness-analysis-section h3{color:var(--primary-color);font-size:2em;margin-bottom:15px}.weakness-analysis-section p{color:var(--text-color);font-size:1.1em;line-height:1.6}.weak-kp-group{align-items:center;background-color:var(--background-color-light);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 2px 4px var(--shadow-color-light);display:flex;flex-direction:column;margin-bottom:15px;padding:15px 20px;text-align:left}.weak-kp-course-title{color:var(--text-color);font-size:1.3em;margin-bottom:0}.weak-kp-course-title,.weak-kp-list{text-align:center;width:100%}.weakness-analysis-section p .highlight-kps{background-color:#ffc1071a;border-radius:4px;color:var(--primary-color);font-weight:700;margin:0 2px;padding:2px 5px}.course-progress-list{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));justify-content:center}.no-progress-message{color:var(--text-color-secondary);font-size:1.2em;grid-column:1/-1;padding:60px 20px;text-align:center}.progress-course-card{align-items:center;background-color:var(--card-background-color);border-radius:12px;box-shadow:0 6px 12px var(--shadow-color);display:flex;flex-direction:column;padding:25px;transition:transform .3s ease,box-shadow .3s ease}.progress-course-card:hover{box-shadow:0 8px 16px #0003;transform:translateY(-5px)}.progress-course-card h3{color:var(--primary-color);font-size:1.8em;text-align:center}.course-mastery-summary,.progress-course-card h3{margin-bottom:20px;width:100%}.progress-item{grid-gap:15px;align-items:center;display:grid;gap:15px;grid-template-columns:minmax(0,1fr) auto;margin-bottom:10px;position:relative}.progress-label{color:var(--text-color);font-weight:500;-webkit-mask-image:linear-gradient(90deg,#000 80%,#0000);mask-image:linear-gradient(90deg,#000 80%,#0000);overflow:visible;padding-right:15px;position:relative;text-align:left;white-space:nowrap;z-index:2}.progress-bar-container{background-color:var(--border-color);border-radius:5px;height:10px;min-width:100px;overflow:hidden;position:relative;width:150px;z-index:1}.progress-bar{background-color:var(--primary-color);border-radius:5px;height:100%;transition:width .5s ease-in-out}.progress-percentage{color:var(--text-color-secondary);font-size:.8em;position:absolute;right:5px;top:50%;transform:translateY(-50%)}.expand-arrow-container{border-top:1px dashed var(--border-color);cursor:pointer;margin-top:15px;padding-top:10px;text-align:center;width:100%}.expand-arrow{color:var(--secondary-color);display:inline-block;font-size:2em;transition:transform .3s ease}.expand-arrow.expanded{transform:rotate(180deg)}.full-course-mastery{border-top:1px solid var(--border-color);margin-top:20px;padding-top:20px;width:100%}.full-course-mastery h4{color:var(--text-color);font-size:1.4em;margin-bottom:15px;text-align:center}.progress-page-container>p{color:var(--text-color-secondary);font-size:1.2em;margin-top:50px;text-align:center}@media (max-width:1024px){.progress-page-title{font-size:2.2em}.course-progress-list{gap:25px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width:768px){.progress-page-container{padding:20px 10px}.progress-page-header{align-items:center;flex-direction:column;position:static;text-align:center}.progress-page-title{font-size:1.8em;margin-bottom:15px;text-align:center}.generate-pdf-button{align-self:center;margin:0 auto;position:static;transform:none;width:-webkit-fit-content;width:fit-content}.generate-pdf-button:hover{transform:translateY(-2px)}.weakness-analysis-section{padding:20px}.weakness-analysis-section h2{font-size:1.6em}.weakness-analysis-section p{font-size:1em}.course-progress-list{gap:20px;grid-template-columns:1fr}.progress-course-card{padding:20px}.progress-course-card h3{font-size:1.5em}}.mastery-chart-section{background-color:var(--card-background-color);border-radius:10px;box-shadow:0 4px 8px var(--shadow-color);margin-bottom:40px;padding:25px;text-align:center}.progress-tooltip{bottom:24px;position:fixed;right:20px;z-index:12000}.progress-tooltip .tooltip-inner{align-items:center;display:flex;gap:8px}.progress-tooltip .tooltip-button{align-items:center;background:#e6b800;border-radius:50%;box-shadow:0 6px 18px #e6b8002e;cursor:default;display:flex;height:44px;justify-content:center;width:44px}.progress-tooltip .tooltip-button .tooltip-icon path{fill:#212121}.progress-tooltip .tooltip-box{background:#000000bf;border-radius:8px;box-shadow:0 6px 18px #0003;color:#fff;font-size:13px;max-width:220px;opacity:0;padding:10px 12px;transform:translateY(8px);transition:opacity .22s ease,transform .22s ease}.progress-tooltip:focus-within .tooltip-box,.progress-tooltip:hover .tooltip-box{opacity:1;transform:translateY(0)}.mastery-chart-section h2{color:var(--secondary-color);font-size:2em;margin-bottom:15px}.mastery-chart-section p{color:var(--text-color);font-size:1.1em;line-height:1.6}.mastery-chart-section .chart-container{height:400px;margin:0 auto;position:relative;width:100%}@media (max-width:768px){.mastery-chart-section .chart-container{height:300px}}.promo-section{background-color:var(--card-background-color);padding:40px 20px;text-align:center}.promo-content{margin:0 auto;max-width:800px}.promo-content h2{color:var(--text-color);font-size:2.8em;font-weight:700;line-height:1.2;margin-bottom:25px}.promo-content p{color:var(--text-color);font-size:1.3em;line-height:1.6;margin-bottom:15px}.promo-illustration{border:none;border-radius:0;box-shadow:none;display:block;height:auto;margin:30px auto 0;max-width:100%}@media (max-width:768px){.promo-section{padding:30px 15px}.promo-content h2{font-size:2.2em}.promo-content p{font-size:1em}}.vision-section{background-color:var(--background-color);color:var(--text-color);padding:40px 0;text-align:center}.vision-content{margin:0 auto;max-width:800px;padding:0 20px}.vision-content h2{color:var(--primary-color);font-size:2.8rem;margin-bottom:1.5rem}.vision-content p{color:var(--text-color);font-size:1.2rem;line-height:1.8;margin-bottom:2rem}.testimonials-section{background-color:var(--background-color);overflow:hidden;padding:40px 0;text-align:center}.testimonials-section h2{color:var(--text-color);font-size:2.5rem;margin-bottom:3rem}.testimonials-container{margin:0 auto;max-width:1200px;position:relative}.testimonials-carousel{display:flex;overflow:hidden;padding:20px 0;width:100%}.testimonials-track{animation:scroll-left 40s linear infinite;display:flex}.testimonial-card{background-color:var(--card-background-color);border-radius:12px;box-shadow:0 8px 24px var(--shadow-color);display:flex;flex:0 0 auto;flex-direction:column;justify-content:space-between;margin:0 1.5rem;min-height:180px;padding:2rem;text-align:left;width:350px}.testimonial-feedback{color:var(--text-color);font-size:1.1rem;font-style:italic;line-height:1.6;margin-bottom:1rem}.testimonial-feedback,.testimonial-user{user-select:none;-webkit-user-select:none;-ms-user-select:none}.testimonial-user{color:var(--primary-color);font-size:1rem;font-weight:700;text-align:right}@keyframes scroll-left{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.testimonials-track:hover{animation-play-state:paused}.comparison-section{background-color:var(--background-color);color:var(--text-color);padding:40px 20px;text-align:center}.comparison-title{color:var(--text-color);font-size:2.8em;font-weight:700;margin-bottom:20px}.comparison-subtitle{color:var(--text-color-secondary);font-size:1.2em;line-height:1.6;margin:0 auto 30px;max-width:600px}.comparison-image-container{margin:15px auto 0;max-width:1000px;padding:0 20px}.comparison-image{border:none;border-radius:0;box-shadow:none;display:block;height:auto;width:100%}.feature-list-container{margin:20px auto;max-width:1000px;padding:0 20px}.feature-list-title{color:var(--text-color);font-size:1.6em;margin-bottom:30px;text-align:center}.feature-list{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;list-style:none;padding:0}.feature-list-item{background-color:var(--card-background-color-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 2px 5px var(--shadow-color);color:var(--text-color);flex-basis:250px;font-size:1.1em;font-weight:500;padding:20px 25px;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.feature-list-item:hover{box-shadow:0 4px 10px var(--shadow-color);transform:translateY(-5px)}.rank-page-container{align-items:center;color:var(--text-color);display:flex;flex-direction:column;margin:0 auto;max-width:1200px;padding:30px 20px}.rank-page-title{color:var(--primary-color);font-size:2.8em;margin-bottom:40px;text-align:center}.rank-page-error,.rank-page-loading{align-items:center;color:var(--text-color);display:flex;font-size:1.5em;height:50vh;justify-content:center}.rank-page-content{background-color:var(--card-background-color);border-radius:12px;box-shadow:0 4px 15px var(--shadow-color);display:flex;gap:30px;padding:25px;width:100%}.rank-sidebar{display:none}.rank-sidebar h3{border-bottom:2px solid var(--border-color);color:var(--text-color);font-size:1.8em;margin-bottom:25px;margin-top:0;padding-bottom:10px}.rank-sidebar ul{list-style:none;margin:0;padding:0}.rank-sidebar li{margin-bottom:15px}.rank-sidebar-button{background-color:var(--button-secondary-bg);border:none;border-radius:8px;color:var(--button-secondary-text);cursor:pointer;font-size:1.1em;padding:12px 15px;text-align:left;transition:background-color .3s ease,transform .2s ease;width:100%}.rank-sidebar-button:hover{background-color:var(--hover-bg-color);transform:translateY(-2px)}.rank-sidebar-button.active{background-color:var(--primary-color);box-shadow:0 2px 8px #00000026;color:var(--button-text-color);font-weight:700}.rank-main-content{flex-grow:1;padding-left:20px}.rank-page-content.simple{padding:30px}.rank-main-content.full-width{padding-left:0;width:100%}.rank-main-content h2{color:var(--text-color);font-size:2.2em;margin-bottom:10px;margin-top:0}.wordcloud-section{display:flex;flex-direction:column}.wordcloud-search-row{display:flex;justify-content:flex-end;margin-bottom:12px}.ask-ai-wrapper{display:inline-block;position:relative;width:320px}.ask-ai-wrapper .ai-input-container{align-items:center;background:#fff;border:2px solid #4a4a4a;border-radius:12px;box-shadow:0 4px 12px #0000001a;display:flex;overflow:hidden;padding:10px 14px;position:relative;transition:all .5s cubic-bezier(.65,0,.35,1)}.ask-ai-wrapper .ai-input{background:#0000;border:none;color:#333;flex-grow:1;font-family:sans-serif;font-size:1rem;outline:none;padding:6px 10px;position:relative;transition:color .4s cubic-bezier(.4,0,.2,1);width:100%;z-index:2}.ask-ai-wrapper .ai-input::placeholder{color:#888;font-style:italic}.ask-ai-wrapper .underline-effect{background:#e6b800;bottom:0;height:2px;left:0;position:absolute;transition:all .6s cubic-bezier(.25,.8,.25,1);width:0;z-index:1}.ask-ai-wrapper .ripple-circle{background:#e6b8001f;border-radius:50%;height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:all .7s cubic-bezier(.4,0,.2,1);width:0;z-index:0}.ask-ai-wrapper .floating-dots{inset:0;pointer-events:none;position:absolute;z-index:1}.ask-ai-wrapper .floating-dots span{background:#e6b800;border-radius:50%;height:3px;opacity:0;position:absolute;transition:opacity .3s ease,transform .6s cubic-bezier(.7,-.5,.3,1.5);width:3px}.ask-ai-wrapper .bg-fade{background:linear-gradient(90deg,#e6b8000a,#e6ebd20f);inset:0;opacity:0;position:absolute;transition:all .5s cubic-bezier(.25,.8,.25,1);z-index:0}.ask-ai-wrapper .ai-input-container:hover,.ask-ai-wrapper .ai-input:focus-within .ai-input-container{border-color:#e6b800;box-shadow:0 6px 20px #e6b8002e;transform:translateY(-4px)}.ask-ai-wrapper .ai-input-container:hover .underline-effect,.ask-ai-wrapper .ai-input:focus-within .underline-effect{width:100%}.ask-ai-wrapper .ai-input:focus{color:#e6b800}.ask-ai-wrapper .ai-input-container:hover .ripple-circle,.ask-ai-wrapper .ai-input:focus-within .ripple-circle{height:200px;width:200px}.ask-ai-wrapper .ai-input-container:hover .floating-dots span,.ask-ai-wrapper .ai-input:focus-within .floating-dots span{animation:floatUp 1.2s cubic-bezier(.65,0,.35,1) infinite;opacity:1}.ask-ai-wrapper .ai-input-container:hover .bg-fade,.ask-ai-wrapper .ai-input:focus-within .bg-fade{opacity:1}.ask-ai-wrapper .floating-dots span:first-child{--x:10px;--y:10px;animation-delay:0s}.ask-ai-wrapper .floating-dots span:nth-child(2){--x:-5px;--y:5px;animation-delay:.2s}.ask-ai-wrapper .floating-dots span:nth-child(3){--x:15px;--y:0px;animation-delay:.4s}.ask-ai-wrapper .floating-dots span:nth-child(4){--x:-10px;--y:15px;animation-delay:.6s}.ask-ai-wrapper .ai-input-container:hover .ai-icon path,.ask-ai-wrapper .ai-input:focus-within .ai-icon path{fill:#e6b800}.score-rank-section table{border-collapse:collapse;margin-top:20px;width:100%}.score-rank-section td,.score-rank-section th{border-bottom:1px solid var(--border-color);padding:15px;text-align:left}.score-rank-section th{background-color:var(--background-color);color:var(--text-color-secondary);font-size:1.1em;font-weight:700}.score-rank-section tr:last-child td{border-bottom:none}.score-rank-section tr:nth-child(2n){background-color:var(--secondary-background-color)}.score-rank-section tr:hover{background-color:var(--hover-bg-color)}.sponsor-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:20px}.sponsor-item{background-color:var(--background-color);border-radius:10px;box-shadow:0 2px 10px #0000001a;font-size:1.1em;font-weight:500;padding:20px;text-align:center;transition:transform .2s ease}.sponsor-item:hover{box-shadow:0 6px 20px #00000026;transform:translateY(-5px)}.rank-main-content p{color:var(--text-color-secondary);font-size:1.2em;margin-top:50px;text-align:center}@media (max-width:1024px){.rank-page-content{flex-direction:column}.rank-sidebar{border-bottom:1px solid var(--border-color);border-right:none;flex:none;margin-bottom:20px;padding-bottom:20px;padding-right:0;width:100%}.rank-sidebar ul{display:flex;gap:15px;justify-content:center}.rank-sidebar li{margin-bottom:0}.rank-main-content{padding-left:0}}@media (max-width:768px){.rank-page-title{font-size:2.2em}.rank-page-content{gap:15px;padding:15px}.rank-sidebar h3{font-size:1.6em}.rank-sidebar-button{font-size:1em;padding:10px}.rank-main-content h2{font-size:1.8em}.score-rank-section td,.score-rank-section th{font-size:.9em;padding:10px}.sponsor-grid{gap:15px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.sponsor-item{font-size:1em;padding:15px}}.courses-page-container{align-items:center;color:var(--text-color);display:flex;flex-direction:column;margin:0 auto;max-width:1400px;padding:80px 20px 20px}.courses-page-header{align-items:center;display:grid;grid-template-columns:1fr auto 1fr;margin-bottom:30px;width:100%}.courses-page-title{color:var(--text-color);font-size:2.5em;grid-column:2;margin:0;text-align:center}.courses-page-error,.courses-page-loading{align-items:center;color:var(--text-color);display:flex;font-size:1.5em;height:50vh;justify-content:center}.courses-search-bar-container{grid-column:3;justify-self:end}.courses-search-bar{background-color:var(--card-background-color);border:1px solid var(--border-color);border-radius:25px;color:var(--text-color);font-size:1em;outline:none;padding:12px 20px;transition:all .3s ease;width:300px}.courses-search-bar:focus{border-color:var(--primary-color);box-shadow:0 0 8px #ffc10780}.all-course-list{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));width:100%}.all-course-card{background-color:var(--card-background-color);border-radius:10px;box-shadow:0 4px 12px var(--shadow-color);display:flex;flex-direction:column;overflow:hidden;position:relative;transition:transform .3s ease,box-shadow .3s ease}.all-course-card:hover{box-shadow:0 8px 25px #0003;transform:translateY(-8px)}.all-course-image{aspect-ratio:1/1;object-fit:cover;width:100%}.all-course-info{align-items:center;display:flex;flex-direction:column;flex-grow:1;padding:10px;position:relative;z-index:2}.all-course-card:hover:after{background:linear-gradient(0deg,#00000080 0,#0000 60%);bottom:0;content:"";height:100%;left:0;pointer-events:none;position:absolute;right:0;z-index:1}.all-course-info h3{color:var(--text-color);font-size:1.2em;margin-bottom:10px;margin-top:0;text-align:center}.all-course-card:hover .all-course-info h3,.all-course-card:hover .all-course-info p{color:#fff}.all-course-info p{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--text-color-secondary);display:-webkit-box;flex-grow:1;font-size:.9em;line-height:1.5;margin-bottom:10px;overflow:hidden;text-align:center;text-overflow:ellipsis;transition:color .3s ease}.all-course-button{background-color:var(--primary-color);border:none;border-radius:8px;bottom:15px;color:var(--button-text-color);cursor:pointer;font-size:.95em;left:50%;opacity:0;padding:10px 18px;position:absolute;transform:translate(-50%,150%);transition:transform .4s cubic-bezier(.175,.885,.32,1.275),opacity .3s ease,visibility .3s ease;visibility:hidden;width:80%;z-index:3}.all-course-card:hover .all-course-button{opacity:1;transform:translate(-50%);visibility:visible}.all-course-button:hover{background-color:var(--secondary-color)}.courses-page-container p{color:var(--text-color-secondary);font-size:1.2em;margin-top:50px;text-align:center}.no-courses-message{color:var(--text-color-secondary);grid-column:1/-1}.no-courses-icon{font-size:4em;opacity:.8}.no-courses-message h3{color:var(--text-color);font-size:1.5em;font-weight:600;margin-bottom:15px}.no-courses-message p{color:var(--text-color-secondary);font-size:1.1em;line-height:1.6;margin:5px 0}.no-courses-sub{color:var(--primary-color);font-size:.95em;font-weight:500;margin-top:10px}@media (max-width:768px){.courses-page-title{font-size:2.2em}.all-course-list{align-items:center;flex-direction:column;gap:20px}.all-course-card{flex:none;max-width:400px;width:100%}.all-course-info h3,.all-course-info p{text-align:center}.all-course-info h3{font-size:1.3em}.all-course-info p{font-size:.95em}.all-course-button{font-size:1em;padding:10px 15px}}.course-filters{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-bottom:40px}.filter-button{background-color:var(--button-secondary-bg);border:1px solid var(--border-color);border-radius:20px;color:var(--button-secondary-text);cursor:pointer;font-size:1em;font-weight:500;padding:10px 20px;transition:all .3s ease}.filter-button:hover{background-color:var(--hover-bg-color);border-color:var(--primary-color);transform:translateY(-2px)}.filter-button.active{background-color:var(--primary-color);border-color:var(--secondary-color);box-shadow:0 2px 8px #00000026;color:var(--button-text-color)}.course-search{display:flex;justify-content:center;margin-bottom:40px}.search-input{background-color:var(--input-background-color);border:1px solid var(--border-color);border-radius:25px;color:var(--text-color);font-size:1em;max-width:600px;padding:12px 20px;transition:all .3s ease;width:50%}.search-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #ffc1074d;outline:none}.no-courses-message{align-items:center;color:var(--text-color);display:flex;flex-direction:column;justify-content:center;opacity:.7;padding:60px 20px;text-align:center}.no-courses-icon{color:var(--primary-color);margin-bottom:20px;opacity:.6}.no-courses-text{color:var(--text-color);font-size:1.2em;font-weight:500;margin-bottom:8px}.no-courses-subtext{color:var(--text-color);font-size:.95em;opacity:.6}.App{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--background-color);font-family:SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;min-height:100vh;text-align:center;width:100%}.mindmap-promo-container{margin:20px auto;max-width:800px;padding:0 20px;text-align:center}.mindmap-promo-image{border:none;border-radius:0;box-shadow:none;height:auto;max-width:800px;width:100%}.relocated-image-container{background-color:var(--background-color);padding:40px 20px;text-align:center}.relocated-promo-image{border:none;border-radius:0;box-shadow:none;height:auto;max-width:90%;transition:transform .3s ease-in-out;width:700px}.relocated-promo-image:hover{transform:scale(1.03) translateY(-5px)}main{background-color:var(--background-color);margin:10px auto;max-width:1000px;padding:70px 20px 0}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.weak-point-breakthrough-section{margin:20px auto;max-width:1200px;padding:40px 20px;text-align:center}.weak-point-breakthrough-section h2{color:var(--primary-color);font-size:2.8em;font-weight:700;margin-bottom:20px}.weak-point-breakthrough-section p{color:var(--text-color);font-size:1.3em;line-height:1.8;margin:0 auto 40px;max-width:800px}.weak-point-breakthrough-image{border-radius:0;box-shadow:none;height:auto;margin-top:30px;max-width:60%}@media (max-width:768px){.weak-point-breakthrough-section{margin:15px auto;padding:30px 15px}.weak-point-breakthrough-section h2{font-size:2em}.weak-point-breakthrough-section p{font-size:1em;margin-bottom:25px}.weak-point-breakthrough-image{max-width:95%}}.textbook-alignment-section{background-color:var(--background-color-tertiary);border-radius:10px;box-shadow:none;margin:20px auto;max-width:1200px;padding:40px 20px;text-align:center}.textbook-alignment-section h2{color:var(--primary-color);font-size:2.8em;font-weight:700;margin-bottom:20px}.textbook-alignment-section p{color:var(--text-color);font-size:1.3em;line-height:1.8;margin:0 auto 40px;max-width:800px}.textbook-aligned-image{border-radius:0;box-shadow:none;height:auto;margin-top:30px;max-width:60%}@media (max-width:768px){.textbook-alignment-section{margin:15px auto;padding:30px 15px}.textbook-alignment-section h2{font-size:2em}.textbook-alignment-section p{font-size:1em;margin-bottom:25px}.textbook-aligned-image{max-width:95%}}.route-transition-container{-webkit-backface-visibility:hidden;backface-visibility:hidden;position:relative;will-change:opacity}.page-transition-enter{opacity:0}.page-transition-enter-active{opacity:1;transition:opacity .25s ease-out}.page-transition-exit{opacity:1}.page-transition-exit-active{opacity:0;transition:opacity .2s ease-out}.banner-image,.comparison-image,.course-image,.hero-image,.mindmap-promo-image,.promo-illustration,.promo-image,.relocated-promo-image,.theme-image,img[src*=Textbook],img[src*=banner],img[src*=course],img[src*=hero],img[src*=mindmap],img[src*=promo],img[src*=weak_point]{filter:none;filter:var(--theme-image-filter,none);transition:filter .3s ease}.comparison-section img,.course-card img,.features-section img,.hero-section img,.home-page img,.promo-image-section img,.promo-section img{filter:none!important;filter:var(--theme-image-filter,none)!important;transition:filter .3s ease}.course-cover,.course-thumbnail,.feature-image,.homepage-courses img,.homepage-features img,.homepage-hero img,.lesson-image,.marketing-banner img,.promotional-content img{filter:none;filter:var(--theme-image-filter,none);transition:filter .3s ease}.avatar,.favicon,.icon,.logo,.profile-image,.user-photo,img[src*=avatar],img[src*=profile],img[width="16"],img[width="24"],img[width="32"]{filter:none!important}[data-theme=cyberpunk] .theme-image{filter:hue-rotate(180deg) saturate(1.5) brightness(1.1)}[data-theme=forest] .theme-image{filter:hue-rotate(80deg) saturate(1.2)}[data-theme=ocean] .theme-image{filter:hue-rotate(200deg) saturate(1.1)}[data-theme=sunset] .theme-image{filter:hue-rotate(20deg) saturate(1.3)}[data-theme=default] .theme-image{filter:none}img:not(.avatar):not(.profile-image):not(.user-photo):not(.icon):not(.logo):not(.favicon):not([width="16"]):not([width="24"]):not([width="32"]){filter:none;filter:var(--theme-image-filter,none);transition:filter .3s ease}.brain-training-page{align-items:center;background-color:var(--background-color);color:var(--text-color);display:flex;flex-direction:column;justify-content:flex-start;margin:0 auto;max-width:1200px;min-height:calc(100vh - 80px);padding:60px 20px;text-align:center}.brain-training-title{color:var(--primary-color);font-size:2.8em;margin-bottom:20px}.brain-training-description{color:var(--text-color-secondary);font-size:1.2em;line-height:1.6;margin-bottom:40px;max-width:800px}.brain-training-content{display:flex;flex-wrap:wrap;gap:30px;justify-content:center;margin-bottom:40px;width:100%}.game-card{align-items:center;background-color:var(--card-background-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 6px 16px #0000001a;display:flex;flex:1 1;flex-direction:column;max-width:350px;min-width:280px;padding:30px;transition:transform .3s ease,box-shadow .3s ease}.game-card:hover{box-shadow:0 10px 25px #00000026;transform:translateY(-8px)}.game-card h3{color:var(--text-color);font-size:1.8em;margin-bottom:15px}.game-card p{color:var(--text-color-secondary);flex-grow:1;font-size:1em;line-height:1.5;margin-bottom:25px}.game-card button{background-color:var(--primary-color);border:none;border-radius:8px;color:var(--button-text-color);cursor:pointer;font-size:1.1em;padding:12px 25px;transition:background-color .3s ease,transform .2s ease}.game-card button:hover{background-color:var(--secondary-color);transform:translateY(-2px)}.coming-soon-message{color:var(--text-color-secondary);font-size:1.1em;font-style:italic;margin-top:20px}@media (max-width:768px){.brain-training-title{font-size:2.2em}.brain-training-description{font-size:1em;padding:0 15px}.game-card{margin:0 auto;min-width:0;min-width:auto;width:90%}.brain-training-content{align-items:center;flex-direction:column}}.memory-game-page{align-items:center;background-color:var(--background-color);box-sizing:border-box;color:var(--text-color);display:flex;flex-direction:column;justify-content:flex-start;min-height:100vh;padding:90px 20px 20px;width:100%}.game-header{border-radius:12px;box-shadow:0 4px 12px #0000001a;box-sizing:border-box;padding:15px 30px}.game-info{color:var(--primary-color);font-size:1.4em}.game-content{border-radius:12px;box-shadow:0 4px 12px #0000001a;box-sizing:border-box;flex-grow:1;padding:40px}.game-intro,.game-summary{text-align:center}.game-intro h2,.game-summary h2{font-size:2.2em}.game-intro p,.game-summary p{color:var(--text-color-secondary);font-size:1.2em}.game-intro button,.game-summary button{background-color:var(--primary-color);border:none;border-radius:8px;color:var(--button-text-color);cursor:pointer;font-size:1.2em;padding:15px 30px;transition:background-color .3s ease,transform .2s ease}.game-intro button:hover,.game-summary button:hover{background-color:var(--secondary-color);transform:translateY(-2px)}.game-board{text-align:center;width:100%}.game-image-container{align-items:center;background-color:var(--background-color);border-radius:10px;display:flex;height:350px;justify-content:center;margin-bottom:30px;overflow:hidden;width:100%}.game-image-container img{border-radius:8px;max-height:100%;max-width:100%;object-fit:contain}.memorize-phase h3,.question-area h3{font-size:1.8em;margin-bottom:25px;min-height:54px}.options-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(2,1fr)}.option-button{background-color:var(--button-secondary-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--button-secondary-text);cursor:pointer;font-size:1.2em;padding:20px;transition:all .2s ease}.option-button:hover{background-color:var(--hover-bg-color);border-color:var(--primary-color);transform:translateY(-2px)}.feedback-toast{animation:slide-in-out 1.5s ease-in-out forwards;border-radius:8px;box-shadow:0 5px 15px #0003;color:#fff;transform:translate(-50%,150%);z-index:3000}@keyframes slide-in-out{0%{opacity:0;transform:translate(-50%,150%)}20%{opacity:1;transform:translate(-50%)}80%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,150%)}}@media (max-width:768px){.game-header{padding:10px 15px}.game-info{font-size:1em}.game-content{padding:20px}.game-image-container{height:250px}.options-grid{grid-template-columns:1fr}}.reaction-challenge-page{align-items:center;background-color:var(--background-color);color:var(--text-color);display:flex;flex-direction:column;min-height:calc(100vh - 80px);padding:90px 20px 40px}.game-header{background-color:var(--card-background-color);border-radius:10px;box-shadow:0 4px 8px var(--shadow-color);justify-content:space-around;margin-bottom:30px;max-width:800px;padding:15px;width:100%}.game-info{color:var(--text-color);font-size:1.2em;font-weight:700}.game-content{align-items:center;background-color:var(--card-background-color);border-radius:10px;box-shadow:0 4px 8px var(--shadow-color);display:flex;flex-direction:column;justify-content:center;max-width:800px;min-height:400px;padding:30px;text-align:center;width:100%}.game-intro h2,.game-summary h2{color:var(--primary-color);font-size:2em;margin-bottom:20px}.game-intro p,.game-summary p{font-size:1.1em;line-height:1.6;margin-bottom:30px}.counting-input-area button,.game-intro button,.game-summary button{background-color:var(--primary-color);border:none;border-radius:8px;color:var(--button-text-color);cursor:pointer;font-size:1.1em;padding:12px 25px;transition:background-color .3s ease,transform .2s ease}.counting-input-area button:hover,.game-intro button:hover,.game-summary button:hover{background-color:var(--secondary-color);transform:translateY(-2px)}.objects-container{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-bottom:30px;max-width:600px;min-height:200px;width:100%}.square-object{animation:fadeIn .3s ease-out;background-color:var(--primary-color);border-radius:8px;box-shadow:0 2px 5px #0003;height:50px;width:50px}@keyframes fadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.counting-input-area h3{color:var(--text-color);font-size:1.5em;margin-bottom:20px}.counting-input-area input[type=number]{background-color:var(--input-background-color);border:1px solid var(--border-color);border-radius:8px;color:var(--text-color);font-size:1.2em;margin-right:15px;padding:10px 15px;text-align:center;transition:border-color .3s ease;width:120px}.counting-input-area input[type=number]:focus{border-color:var(--primary-color);outline:none}.instruction-text{color:var(--text-color-secondary);font-size:1em;margin-top:20px}.feedback-toast{animation:fadeAndSlideUp .5s ease-out forwards;border-radius:10px;bottom:30px;color:var(--button-text-color);font-size:1.2em;font-weight:700;left:50%;opacity:0;padding:15px 30px;position:fixed;transform:translateX(-50%);z-index:1000}.feedback-toast.correct{background-color:#4caf50}.feedback-toast.incorrect{background-color:#f44336}@keyframes fadeAndSlideUp{0%{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@media (max-width:768px){.reaction-challenge-page{padding:20px 10px}.game-header{flex-direction:column;gap:10px;text-align:center}.game-info{font-size:1em}.game-content{min-height:300px;padding:20px}.objects-container{gap:10px}.square-object{height:40px;width:40px}.counting-input-area input[type=number]{font-size:1em;margin-right:10px;width:80px}.counting-input-area button,.feedback-toast{font-size:1em;padding:10px 20px}}.logic-puzzle-page{background-color:var(--background-color);font-family:Microsoft YaHei,Arial,sans-serif;min-height:100vh;padding:80px 20px 20px}.game-intro{background:var(--card-background);border:1px solid var(--border-color);border-radius:20px;box-shadow:0 20px 40px #0000001a;margin:0 auto;max-width:800px;padding:40px;text-align:center}.game-title{color:var(--text-color);font-size:3em;margin-bottom:20px;text-shadow:2px 2px 4px #0000001a}.game-description p{color:var(--text-secondary);font-size:1.2em;line-height:1.6;margin-bottom:30px}.game-rules{background:var(--card-background);border:1px solid var(--border-color);border-radius:15px;margin:30px 0;padding:25px;text-align:left}.game-rules h3{color:var(--text-color);font-size:1.3em;margin-bottom:15px}.game-rules ul{list-style:none;padding:0}.game-rules li{border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:1.1em;padding:8px 0}.game-rules li:last-child{border-bottom:none}.start-game-btn{background:var(--primary-color);border:none;border-radius:50px;box-shadow:0 8px 20px #ffc1074d;color:#fff;cursor:pointer;font-size:1.3em;padding:15px 40px;transition:all .3s ease}.start-game-btn:hover{box-shadow:0 12px 25px #ffc10766;transform:translateY(-3px)}.game-header{align-items:center;background:var(--card-background);border:1px solid var(--border-color);border-radius:15px;box-shadow:0 10px 30px #0000001a;display:flex;justify-content:space-between;margin:0 auto 30px;max-width:1000px;padding:20px}.progress-info{flex:1 1;margin-right:30px}.puzzle-counter{color:var(--text-color);display:block;font-size:1.1em;font-weight:700;margin-bottom:10px}.progress-bar{background:var(--border-color);border-radius:4px;height:8px;overflow:hidden;width:100%}.progress-fill{background:var(--primary-color);height:100%;transition:width .3s ease}.game-stats{display:flex;gap:20px}.stat-box{background:var(--card-background);border:1px solid var(--border-color);border-radius:10px;min-width:100px;padding:10px 20px;text-align:center}.stat-label{color:var(--text-secondary);display:block;font-size:.9em;margin-bottom:5px}.stat-value{color:var(--text-color);display:block;font-size:1.3em;font-weight:700}.puzzle-content{background:var(--card-background);border:1px solid var(--border-color);border-radius:20px;box-shadow:0 20px 40px #0000001a;margin:0 auto;max-width:1000px;padding:40px}.puzzle-info{align-items:center;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.puzzle-category{background:var(--card-background);border:1px solid var(--border-color);border-radius:20px;color:var(--text-color);font-weight:700;padding:8px 16px}.puzzle-difficulty{color:var(--primary-color);font-weight:700}.puzzle-question{margin-bottom:40px}.puzzle-question h2{color:var(--text-color);font-size:1.4em;line-height:1.6;margin:0}.puzzle-options{margin-bottom:30px}.option-btn{align-items:center;border:2px solid var(--border-color);border-radius:15px;cursor:pointer;display:flex;font-size:1.1em;margin-bottom:15px;padding:20px;text-align:left;transition:all .3s ease;width:100%}.option-btn,.option-btn:hover{background:var(--card-background)}.option-btn:hover{border-color:var(--primary-color);transform:translateX(5px)}.option-btn:disabled{cursor:not-allowed}.option-btn.correct{background:#e8f5e8;border-color:#4caf50;color:#2e7d32}.option-btn.incorrect{background:#ffebee;border-color:#f44336;color:#c62828}.option-letter{align-items:center;background:var(--primary-color);border-radius:50%;color:#fff;display:inline-flex;flex-shrink:0;font-weight:700;height:40px;justify-content:center;margin-right:20px;width:40px}.option-btn.correct .option-letter{background:#4caf50}.option-btn.incorrect .option-letter{background:#f44336}.option-text{color:var(--text-color);flex:1 1;line-height:1.5}.explanation-section{background:var(--card-background);border:1px solid var(--border-color);border-left:5px solid var(--primary-color);border-radius:15px;margin-top:30px;padding:30px}.explanation-section h3{color:var(--text-color);font-size:1.3em;margin-bottom:15px}.explanation-section p{color:var(--text-secondary);font-size:1.1em;line-height:1.6;margin-bottom:25px}.explanation-actions{text-align:center}.finish-btn,.next-btn{background:var(--primary-color);border:none;border-radius:25px;color:#fff;cursor:pointer;font-size:1.1em;padding:12px 30px;transition:all .3s ease}.finish-btn:hover,.next-btn:hover{box-shadow:0 8px 20px #ffc1074d;transform:translateY(-2px)}.game-result{background:var(--card-background);border:1px solid var(--border-color);border-radius:20px;box-shadow:0 20px 40px #0000001a;margin:0 auto;max-width:800px;padding:40px;text-align:center}.result-title{color:var(--text-color);font-size:2.5em;margin-bottom:30px}.result-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:40px}.stat-item{background:var(--card-background);border:1px solid var(--border-color);border-radius:15px;padding:20px;text-align:center}.stat-item .stat-label{color:var(--text-secondary);display:block;font-size:1em;margin-bottom:10px}.stat-item .stat-value{color:var(--text-color);display:block;font-size:2em;font-weight:700}.performance-analysis{background:var(--card-background);border:1px solid var(--border-color);border-radius:15px;margin-bottom:30px;padding:25px}.performance-analysis h3{color:var(--text-color);margin-bottom:15px}.excellent{color:#4caf50}.excellent,.good{font-size:1.2em;font-weight:700}.good{color:#ff9800}.needs-improvement{color:#f44336;font-size:1.2em;font-weight:700}.result-actions{display:flex;gap:20px;justify-content:center}.back-btn,.restart-btn{border:none;border-radius:25px;cursor:pointer;font-size:1.1em;padding:12px 25px;transition:all .3s ease}.restart-btn{background:var(--primary-color);color:#fff}.back-btn{background:var(--text-secondary);color:#fff}.back-btn,.finish-btn,.next-btn,.restart-btn,.start-game-btn{color:#fff!important}.back-btn:hover,.restart-btn:hover{box-shadow:0 8px 20px #0003;transform:translateY(-2px)}@media (max-width:768px){.logic-puzzle-page{padding:10px}.game-header{flex-direction:column;gap:20px}.progress-info{margin-right:0;width:100%}.game-stats{justify-content:center;width:100%}.puzzle-content{padding:20px}.puzzle-info{align-items:flex-start;flex-direction:column;gap:10px}.option-btn{padding:15px}.option-letter{height:35px;margin-right:15px;width:35px}.result-actions{align-items:center;flex-direction:column}}.banned-modal-overlay{align-items:center;background-color:#0009;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.banned-modal-content{background-color:var(--card-background-color);border-radius:10px;box-shadow:0 5px 15px #0000004d;color:var(--text-color);max-width:400px;padding:30px 40px;text-align:center;width:90%}.banned-modal-content h2{color:var(--error-color);font-size:1.5em;margin-top:0}.banned-modal-content p{font-size:1.1em;line-height:1.6;margin-bottom:25px}.banned-modal-button{background-color:var(--primary-color);border:none;border-radius:8px;color:var(--button-text-color);cursor:pointer;font-size:1em;font-weight:700;padding:12px 30px;transition:background-color .2s}.banned-modal-button:hover{background-color:var(--secondary-color)}.trash-page-container{background-color:var(--background-color);border-radius:8px;color:var(--text-color);margin:40px auto;max-width:900px;padding:20px}.trash-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;justify-content:flex-end;margin-bottom:30px;padding-bottom:15px}.trash-page-container h1{color:var(--primary-color);margin:0 auto 30px;text-align:center}.empty-trash-button{align-items:center;background-color:var(--button-secondary-bg);border:1px solid var(--border-color);border-radius:5px;color:var(--button-secondary-text);cursor:pointer;display:flex;font-size:1em;font-weight:700;height:40px;justify-content:center;line-height:40px;min-width:100px;padding:10px 18px;text-decoration:none;transition:all .3s ease}.empty-trash-button:hover{background-color:var(--hover-bg-color);box-shadow:0 2px 5px var(--shadow-color)}.trashed-items-list{display:flex;flex-direction:column;gap:20px}.trashed-item-card{align-items:center;background-color:var(--card-background-color);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 2px 4px var(--shadow-color);display:flex;justify-content:space-between;margin-bottom:20px;max-height:200px;opacity:1;overflow:hidden;padding:15px 20px;transform:translateY(0) scale(1);transition:all .4s cubic-bezier(.25,.8,.25,1)}.trashed-item-card:hover{box-shadow:0 4px 12px var(--shadow-color);transform:translateY(-2px) scale(1.01)}.trashed-item-card.fade-out{border-width:0;margin-bottom:0;max-height:0;opacity:0;padding-bottom:0;padding-top:0;transform:translateY(-10px) scale(.95);transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1),max-height .4s cubic-bezier(.4,0,.2,1) .1s,margin-bottom .4s cubic-bezier(.4,0,.2,1) .1s,padding .4s cubic-bezier(.4,0,.2,1) .1s,border-width .4s cubic-bezier(.4,0,.2,1) .1s}.item-content{flex-grow:1;font-size:1.1em}.item-actions{display:flex;flex-shrink:0;gap:10px;margin-left:20px}.force-delete-button,.restore-button{border:none;border-radius:5px;cursor:pointer;font-weight:700;overflow:hidden;padding:8px 15px;position:relative;transform:scale(1);transition:all .3s cubic-bezier(.25,.8,.25,1)}.force-delete-button:active,.restore-button:active{transform:scale(.95);transition:transform .1s ease}.restore-button{background-color:var(--primary-color);color:var(--button-text-color)}.restore-button:hover{background-color:var(--secondary-color);box-shadow:0 2px 8px #ffc1074d;transform:scale(1.05)}.force-delete-button{background-color:#d9534f;color:#fff}.force-delete-button:hover{background-color:#c9302c;box-shadow:0 2px 8px #d9534f4d;transform:scale(1.05)}.trash-page-container p{color:var(--text-color-secondary);font-size:1.2em;margin-top:50px;text-align:center}.trash-page-container.error p{color:#d9534f}.payment-success-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.payment-success-card{animation:slideUp .6s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000001a;max-width:500px;padding:40px;text-align:center;width:100%}.success-icon{animation:bounceIn .8s ease-out .2s both;margin-bottom:24px}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}.success-title{color:#2c3e50;font-size:28px;font-weight:600;margin-bottom:8px}.success-message{color:#7f8c8d;font-size:16px;margin-bottom:32px}.order-details{background:#f8f9fa;border-radius:12px;margin-bottom:32px;padding:24px;text-align:left}.order-details h3{color:#2c3e50;font-size:18px;font-weight:600;margin-bottom:16px;text-align:center}.detail-row .label{color:#6c757d;font-weight:500}.detail-row .value{color:#2c3e50;font-weight:600}.detail-row .amount{color:#e74c3c;font-size:18px}.detail-row .status-success{color:#27ae60}.action-buttons{display:flex;gap:16px;justify-content:center}.btn{min-width:120px;padding:12px 24px}.btn-primary{background:#3498db}.btn-primary:hover{background:#2980b9;box-shadow:0 4px 12px #3498db4d}.btn-secondary{background:#95a5a6;color:#fff}.btn-secondary:hover{background:#7f8c8d;box-shadow:0 4px 12px #95a5a64d;transform:translateY(-2px)}.loading{padding:40px}.spinner{border:4px solid #f3f3f3;border-top-color:#3498db;height:40px;margin:0 auto 16px;width:40px}@media (max-width:768px){.payment-success-card{margin:16px;padding:24px}.success-title{font-size:24px}.action-buttons{flex-direction:column}.btn{width:100%}}.mock-payment-container{align-items:center;background:linear-gradient(135deg,#1e88e5,#1565c0);display:flex;justify-content:center;min-height:100vh;padding:20px}.mock-payment-card{animation:slideUp .6s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000001a;max-width:500px;overflow:hidden;padding:0;width:100%}.payment-header{background:#1e88e5;color:#fff;padding:24px;text-align:center}.alipay-logo{font-size:24px;font-weight:700;margin-bottom:8px}.alipay-logo small{font-size:12px;margin-left:8px;opacity:.8}.payment-header h2{font-size:18px;font-weight:500;margin:0}.merchant-info{border-bottom:1px solid #e0e0e0;margin-bottom:24px;padding-bottom:16px;text-align:center}.merchant-info h3{color:#2c3e50;font-size:18px;margin:0 0 8px}.merchant-info p{color:#7f8c8d;font-size:14px;margin:0}.order-info{margin-bottom:24px}.info-row{border-bottom:1px solid #f5f5f5;padding:12px 0}.info-row .value{color:#2c3e50}.info-row .amount{color:#e74c3c;font-size:20px}.test-notice{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;display:flex;gap:12px;margin-bottom:24px;padding:16px}.notice-icon{flex-shrink:0;font-size:20px}.notice-content h4{color:#856404;font-size:14px;margin:0 0 8px}.notice-content p{color:#856404;font-size:13px;line-height:1.4;margin:0 0 4px}.payment-actions{display:flex;gap:12px;padding:0 24px 24px}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:14px 20px;transition:all .3s ease}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-cancel{background:#95a5a6;color:#fff}.btn-cancel:hover:not(:disabled){background:#7f8c8d}.btn-pay{background:#1e88e5;color:#fff}.btn-pay:hover:not(:disabled){background:#1565c0;box-shadow:0 4px 12px #1e88e54d;transform:translateY(-2px)}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;height:16px;width:16px}@media (max-width:768px){.mock-payment-card{margin:16px;max-width:none}.payment-actions{flex-direction:column}.btn{width:100%}}.stripe-success-page{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.error-container,.success-container{animation:slideUp .6s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000001a;max-width:500px;padding:40px;text-align:center;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.error-icon,.success-icon,.warning-icon{display:block;font-size:4rem;margin-bottom:20px}.success-icon{animation:bounce 1s ease-in-out}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}h2{color:#333;font-size:2rem;font-weight:600;margin-bottom:20px}.payment-details{background:#f8f9fa;border-radius:12px;margin:24px 0;padding:24px;text-align:left}.payment-details h3{color:#495057;font-size:1.2rem;margin-bottom:16px;text-align:center}.detail-row{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:8px 0}.detail-row:last-child{border-bottom:none}.label{color:#6c757d;font-weight:500}.value{color:#495057;font-weight:600}.success-message{background:#d4edda;border:1px solid #c3e6cb;border-radius:8px;margin:20px 0;padding:16px}.success-message p{color:#155724;font-weight:500;margin:8px 0}.back-button,.continue-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:20px;padding:12px 32px;transition:all .3s ease}.back-button:hover,.continue-button:hover{box-shadow:0 8px 20px #667eea4d;transform:translateY(-2px)}.back-button{background:linear-gradient(135deg,#ff6b6b,#ee5a24)}.back-button:hover{box-shadow:0 8px 20px #ff6b6b4d}.loading-spinner{height:40px;margin:0 auto 20px;width:40px}@media (max-width:600px){.stripe-success-page{padding:10px}.error-container,.success-container{padding:24px}h2{font-size:1.5rem}.error-icon,.success-icon,.warning-icon{font-size:3rem}}@media (prefers-color-scheme:dark){.error-container,.success-container{background:#2d3748;color:#e2e8f0}h2{color:#e2e8f0}.payment-details{background:#4a5568}.payment-details h3{color:#cbd5e0}.label{color:#a0aec0}.value{color:#e2e8f0}.detail-row{border-bottom-color:#4a5568}}.stripe-success-page.dark{background:linear-gradient(135deg,#1a202c,#2d3748)}.stripe-success-page.dark .error-container,.stripe-success-page.dark .success-container{background:#2d3748;box-shadow:0 20px 40px #0000004d;color:#e2e8f0}.stripe-success-page.dark h2{color:#e2e8f0}.stripe-success-page.dark .payment-details{background:#4a5568}.stripe-success-page.dark .payment-details h3{color:#cbd5e0}.stripe-success-page.dark .label{color:#a0aec0}.stripe-success-page.dark .value{color:#e2e8f0}.stripe-success-page.dark .detail-row{border-bottom-color:#4a5568}.stripe-success-page.dark .success-message{background:#2d5a3d;border-color:#38a169}.stripe-success-page.dark .success-message p{color:#68d391}.stripe-success-page.dark .loading-spinner{border-color:#667eea #4a5568 #4a5568}.group-buy-select-page{background:linear-gradient(135deg,#f5f7fa,#e4e8ec);min-height:100vh;padding:40px 20px}.select-container{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000001a;margin:0 auto;max-width:900px;overflow:hidden}.select-header{background:linear-gradient(135deg,#ffc107,#e6b000);color:#000;padding:40px 30px;text-align:center}.select-header h1{font-size:2rem;font-weight:700;margin:0 0 10px}.select-header .subtitle{font-size:1.1rem;margin:0;opacity:.9}.group-buy-info{background:#f8f9fa;border-bottom:1px solid #e9ecef;padding:30px}.info-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:20px;padding:20px}.info-card h3{border-bottom:2px solid #ffc107;color:#333;font-size:1.1rem;margin:0 0 15px;padding-bottom:10px}.info-row{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:10px 0}.info-row:last-child{border-bottom:none}.info-row .label{color:#666;font-weight:500}.info-row .value{color:#333;font-weight:600}.info-row .value.role-badge{background:linear-gradient(135deg,#ffc107,#e6b000);border-radius:20px;color:#000;font-size:.9rem;padding:4px 12px}.info-row .value.code{background:#f0f0f0;border-radius:4px;font-family:monospace;letter-spacing:1px;padding:4px 10px}.deadline-notice{align-items:center;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;color:#856404;display:flex;gap:10px;padding:15px 20px}.deadline-icon{font-size:1.2rem}.courses-section{padding:30px}.courses-section h3{color:#333;font-size:1.3rem;margin:0 0 10px}.section-hint{color:#666;font-size:.95rem;margin:0 0 25px}.courses-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.course-card{align-items:center;background:#fff;border:2px solid #e9ecef;border-radius:12px;cursor:pointer;display:flex;gap:15px;padding:20px;position:relative;transition:all .3s ease}.course-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26;transform:translateY(-2px)}.course-card.selected{background:#fffbf0;border-color:#ffc107}.course-radio{flex-shrink:0}.radio-circle{align-items:center;border:2px solid #ccc;border-radius:50%;display:flex;height:24px;justify-content:center;transition:all .2s ease;width:24px}.radio-circle.checked{background:#ffc107;border-color:#ffc107}.check-mark{color:#000;font-size:14px;font-weight:700}.course-info{flex:1 1}.course-title{color:#333;font-size:1rem;font-weight:600;margin:0 0 5px}.course-price{color:#e74c3c;font-size:.9rem;margin:0;text-decoration:line-through}.selected-badge{background:linear-gradient(135deg,#ffc107,#e6b000);border-radius:20px;color:#000;font-size:.75rem;font-weight:600;padding:4px 10px;position:absolute;right:10px;top:10px}.submit-section{background:#f8f9fa;border-top:1px solid #e9ecef;padding:30px;text-align:center}.btn-submit{background:linear-gradient(135deg,#ffc107,#e6b000);border:none;border-radius:30px;box-shadow:0 4px 15px #ffc1074d;color:#000;cursor:pointer;font-size:1.1rem;font-weight:600;padding:15px 50px;transition:all .3s ease}.btn-submit:hover:not(:disabled){box-shadow:0 6px 20px #ffc10766;transform:translateY(-2px)}.btn-submit:disabled{background:#ccc;box-shadow:none;cursor:not-allowed}.submit-hint{color:#999;font-size:.85rem;margin:15px 0 0}.already-selected{padding:40px 30px;text-align:center}.selected-info h3{color:#333;margin:0 0 20px}.selected-course-card{align-items:center;background:linear-gradient(135deg,#d4edda,#c3e6cb);border:2px solid #28a745;border-radius:12px;display:inline-flex;gap:10px;margin-bottom:20px;padding:20px 30px}.check-icon{align-items:center;background:#28a745;border-radius:50%;color:#fff;display:flex;font-weight:700;height:30px;justify-content:center;width:30px}.course-name{color:#155724;font-size:1.2rem;font-weight:600}.error-container,.loading-container,.success-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:60vh;padding:40px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:50px;margin-bottom:20px;width:50px}.error-icon,.success-icon{font-size:4rem;margin-bottom:20px}.error-container h2,.success-container h2{color:#333;margin:0 0 15px}.error-container p{color:#666;margin:0 0 25px}.success-details{background:#fff;border-radius:12px;margin:20px 0;max-width:500px;padding:30px}.success-details p{color:#666;margin:0 0 10px}.success-details h3{color:#28a745;font-size:1.5rem;margin:10px 0}.success-actions{display:flex;gap:15px;justify-content:center;margin-top:20px}.btn-primary,.btn-secondary{border:none;border-radius:25px;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 30px;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#ffc107,#e6b000);color:#fff}.btn-primary:hover{box-shadow:0 4px 15px #ffc1074d;transform:translateY(-2px)}.btn-secondary{background:#fff;border:2px solid #ffc107;color:#ffc107}.btn-secondary:hover{background:#f8f9fa}.login-prompt-container{align-items:center;background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000001a;display:flex;flex-direction:column;justify-content:center;margin:40px auto;max-width:500px;min-height:60vh;padding:40px;text-align:center}.login-prompt-icon{font-size:4rem;margin-bottom:20px}.login-prompt-container h2{color:#333;font-size:1.8rem;margin:0 0 15px}.login-prompt-container p{color:#666;font-size:1.1rem;margin:0 0 30px}.login-prompt-actions{display:flex;flex-wrap:wrap;gap:15px;justify-content:center}[data-theme=dark] .group-buy-select-page{background:linear-gradient(135deg,#1a1a2e,#16213e)}[data-theme=dark] .select-container{background:#1e1e1e;box-shadow:0 10px 40px #0000004d}[data-theme=dark] .group-buy-info{background:#252525;border-bottom-color:#333}[data-theme=dark] .info-card{background:#2a2a2a}[data-theme=dark] .info-card h3{color:#fff}[data-theme=dark] .info-row{border-bottom-color:#333}[data-theme=dark] .info-row .label{color:#aaa}[data-theme=dark] .info-row .value{color:#fff}[data-theme=dark] .info-row .value.code{background:#333}[data-theme=dark] .courses-section h3{color:#fff}[data-theme=dark] .section-hint{color:#aaa}[data-theme=dark] .course-card{background:#2a2a2a;border-color:#333}[data-theme=dark] .course-card:hover{border-color:#667eea}[data-theme=dark] .course-card.selected{background:#3d3418}[data-theme=dark] .course-title{color:#fff}[data-theme=dark] .radio-circle{border-color:#555}[data-theme=dark] .submit-section{background:#252525;border-top-color:#333}[data-theme=dark] .submit-hint{color:#888}[data-theme=dark] .already-selected{background:#1e1e1e}[data-theme=dark] .selected-info h3{color:#fff}[data-theme=dark] .success-details{background:#2a2a2a}[data-theme=dark] .success-details p{color:#aaa}@media (max-width:768px){.group-buy-select-page{padding:20px 10px}.select-header{padding:30px 20px}.select-header h1{font-size:1.5rem}.courses-grid{grid-template-columns:1fr}.course-card{padding:15px}.success-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.legal-page.container{display:flex;justify-content:center;padding:40px 20px}.legal-card{background:var(--card-background-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 30px #00000014;color:var(--text-color);max-width:900px;padding:28px}.legal-card h1{margin-bottom:12px;margin-top:0}.legal-body{line-height:1.8}.alipay-callback-container{align-items:center;background:linear-gradient(135deg,var(--background-color) 0,var(--card-background-color) 100%);display:flex;justify-content:center;min-height:100vh;padding:20px}.callback-card{background-color:var(--card-background-color);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 10px 30px #0000001a;max-width:400px;padding:3rem;text-align:center;width:100%}.callback-icon{margin-bottom:2rem}.callback-icon,.loading-spinner{align-items:center;display:flex;justify-content:center}.spinner{animation:spin 1s linear infinite;border-top:4px solid var(--border-color);border:4px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);height:60px;width:60px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-icon,.success-icon{height:60px;width:60px}.callback-title{color:var(--text-color);font-size:1.8rem;font-weight:700;margin-bottom:1rem}.callback-message{color:var(--text-color-secondary);font-size:1rem;line-height:1.5;margin-bottom:2rem}.callback-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.home-button,.retry-button{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;min-width:120px;padding:.75rem 1.5rem;transition:all .3s ease}.retry-button{background-color:var(--primary-color);color:var(--button-text-color)}.retry-button:hover{background-color:var(--secondary-color);transform:translateY(-2px)}.home-button{background-color:var(--card-background-color);border:2px solid var(--border-color);color:var(--text-color)}.home-button:hover{background-color:var(--hover-bg-color);border-color:var(--primary-color);transform:translateY(-2px)}@media (max-width:480px){.callback-card{margin:1rem;padding:2rem}.callback-title{font-size:1.5rem}.callback-actions{flex-direction:column}.home-button,.retry-button{width:100%}}.loading-spinner-yellow{animation:spin-yellow 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#ffc107;height:50px;width:50px}@keyframes spin-yellow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}