@import"https://fonts.googleapis.com/css2?family=Rajdhani:wght@300;400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@200;300;400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@200;300;400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&display=swap";@import"https://fonts.googleapis.com/css2?family=Saira:wght@300;400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";.hamburger-menu{display:none;flex-direction:column;justify-content:space-between;width:30px;height:24px;background:transparent;border:none;cursor:pointer;padding:8px;margin:-8px;z-index:10000;position:relative;gap:3px}.hamburger-line{width:100%;height:3px;background-color:var(--text-heading);transition:all .3s ease;transform-origin:left center}.hamburger-menu.open .hamburger-line:first-child{transform:rotate(45deg)}.hamburger-menu.open .hamburger-line:nth-child(2){opacity:0;transform:translate(-10px)}.hamburger-menu.open .hamburger-line:last-child{transform:rotate(-45deg)}@media (max-width: 768px){.hamburger-menu{display:flex}}.mobile-sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;z-index:99998;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.mobile-sidebar-overlay.active{opacity:1;visibility:visible}.mobile-sidebar{position:fixed;top:0;left:-100%;width:80%;max-width:300px;height:100%;background-color:var(--bg-main);z-index:99999;transition:left .3s ease;display:flex;flex-direction:column;box-shadow:2px 0 15px #00000080;overflow-y:auto}.mobile-sidebar.open{left:0}.mobile-sidebar-header{display:flex;align-items:center;padding:16px;border-bottom:1px solid var(--border-default)}.mobile-sidebar-close{background:none;border:none;color:var(--text-heading);padding:8px;cursor:pointer;margin-right:16px}.mobile-sidebar-close:hover{color:var(--accent-primary)}.mobile-sidebar-title{font-size:18px;font-weight:500;color:var(--text-heading)}.mobile-sidebar-nav{display:flex;flex-direction:column;padding:16px 0;flex-grow:1}.mobile-sidebar-item{display:flex;align-items:center;padding:16px 24px;color:var(--text-heading);text-decoration:none;transition:background-color .2s ease;cursor:pointer;border:none;background:none;width:100%;text-align:left}.mobile-sidebar-item:hover{background-color:#ffffff0d}.mobile-sidebar-item.active{background-color:#ffffff1a;position:relative}.mobile-sidebar-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background-color:var(--accent-primary)}.mobile-sidebar-icon{margin-right:16px;display:flex;align-items:center;justify-content:center;color:var(--text-heading)}.mobile-sidebar-item.active .mobile-sidebar-icon{color:var(--accent-primary)}.mobile-sidebar-label{font-size:16px;color:var(--text-heading)}.mobile-sidebar-item.active .mobile-sidebar-label{color:var(--accent-primary);font-weight:500}.mobile-sidebar-spacer{flex-grow:1}.mobile-app-logout-button{border-top:1px solid var(--border-default);margin-top:16px;padding-top:16px}.mobile-app-logout-button .mobile-sidebar-icon,.mobile-app-logout-button .mobile-sidebar-label{color:var(--text-danger, #ff5252)}@media (min-width: 769px){.mobile-sidebar,.mobile-sidebar-overlay{display:none}}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.app-header-bar{display:flex;justify-content:space-between;align-items:center;padding:0 1vw;background-color:var(--bg-main);height:8vh;border:none;outline:none;position:relative;z-index:5000}.app-header-bar--below-glassy{z-index:5000;pointer-events:none}.app-header-bar--below-glassy .app-header-left,.app-header-bar--below-glassy .app-header-right,.app-header-bar--below-glassy .app-header-icon,.app-header-bar--below-glassy .app-vbux-amount,.app-header-bar--below-glassy .app-user-profile{pointer-events:none}.app-header-bar--below-glassy .app-header-icon,.app-header-bar--below-glassy .app-vbux-amount,.app-header-bar--below-glassy .app-user-profile{opacity:.7}.app-header-left{display:flex;align-items:center;height:100%;margin-left:0vw;gap:0;min-width:15vw;flex:0 0 auto;transform:translateY(-.3vh)}.app-logo{color:var(--text-heading);display:flex;align-items:center;justify-content:flex-start;height:100%;padding-top:0}.app-logo.siteLogo{height:3vh}.app-logo img{width:6vw;height:6vh;transform-style:preserve-3d;filter:none!important;-o-object-fit:contain;object-fit:contain;margin:0 0 0 1vw;flex:0 0 2.5vw}.app-logo.siteLogo img{width:2.5vw;height:4vh;-o-object-fit:contain;object-fit:contain;margin:0 0 0 0vw;flex:0 0 2.5vw;filter:none!important}.app-logo:not(:hover) img{animation:animate 18s linear infinite}.app-logo-text{margin:0 0 0 .3vw;padding:0;font-family:Saira;font-size:2.8vh;font-weight:600;line-height:3.375vh;background:linear-gradient(90deg,#324bc7,#4aa0e6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;white-space:nowrap;display:inline-block;letter-spacing:.02vh;text-align:left;text-shadow:0 .2vh .4vh rgba(0,0,0,.3);width:auto;flex:0 0 auto}.app-header-right{display:flex;align-items:center;height:100%;gap:1.25vw;margin-right:2vw;padding-top:0;transform:translateY(-.3vh)}.app-header-icon{color:var(--text-heading);cursor:pointer;display:flex;align-items:center;justify-content:center;height:100%}.app-header-icon:hover{color:var(--accent-primary);filter:drop-shadow(0 0 .8vw var(--accent-primary))}.app-vbux-amount{color:var(--text-heading);font-family:IBM Plex Mono;font-size:1.5vh;font-weight:400;line-height:1.3vh;padding:.25vh .75vw;border-radius:1.2vw}.app-vbux-amount:hover{color:var(--accent-primary);filter:drop-shadow(0 0 .8vw var(--accent-primary))}.app-user-profile{display:flex;align-items:center;gap:.5vw;cursor:pointer;transition:all .3s ease}.app-user-profile:hover{color:var(--accent-primary)}.app-profile-photo{display:flex;align-items:center;justify-content:center;width:3vh;height:3vh;border-radius:50%;overflow:hidden}.app-profile-photo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%}.app-user-profile:hover .app-profile-photo{box-shadow:0 0 1.2vw var(--accent-primary)}.app-user-name{font-family:DM Sans;font-size:1.75vh;font-weight:300;line-height:1.4vh;color:var(--text-heading);margin-right:1.5vw}.app-user-profile:hover .app-user-name{color:var(--accent-primary);filter:drop-shadow(0 0 .8vw var(--accent-primary))}.app-logo.siteLogo:hover{animation:logo-hover .1875s linear 2;--logo-color: #00ff41}.app-logo.siteLogo:hover img{animation:logo-spin .5s ease-out forwards;filter:drop-shadow(0 0 .025vw var(--logo-color)) drop-shadow(0 0 .075vw var(--logo-color)) drop-shadow(0 0 .125vw var(--logo-color))!important}.app-logo.siteLogo:hover .app-logo-text{background:linear-gradient(90deg,#324bc7,#4aa0e6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 .025vw var(--logo-color)) drop-shadow(0 0 .075vw var(--logo-color)) drop-shadow(0 0 .125vw var(--logo-color))}@media (max-width: 76.8vw){.app-header-bar{padding:0 2dvw;height:6dvh}.app-logo img{width:3dvw;height:3dvh}.app-logo.siteLogo{height:3dvh}.app-logo.siteLogo img{width:3dvw;height:3.5dvh}.app-logo-text{font-size:2.2dvh;margin:0;padding:0;line-height:1.3dvh;letter-spacing:.02dvh;width:auto;flex:0 0 auto;white-space:nowrap}.app-header-right{gap:1.5dvw;transform:translateY(-.3dvh)}.app-header-icon svg{width:2.5dvh;height:2.5dvh}.app-vbux-amount,.app-user-name{display:none}.app-profile-photo{width:4dvh;height:4dvh;margin-right:0}.app-header-left{gap:2dvw;min-width:20dvw;flex:0 0 auto;transform:translateY(-.3dvh)}.app-user-profile{gap:.5dvw}.app-user-profile:hover .app-profile-photo{box-shadow:0 0 1.2dvw var(--accent-primary)}.app-header-icon:hover{filter:drop-shadow(0 0 .8dvw var(--accent-primary))}.app-logo.siteLogo:hover img{filter:brightness(0) var(--logo-filter, invert(1)) drop-shadow(0 0 .025dvw var(--logo-color)) drop-shadow(0 0 .075dvw var(--logo-color)) drop-shadow(0 0 .125dvw var(--logo-color))}.app-logo.siteLogo:hover .app-logo-text{background:linear-gradient(90deg,#324bc7,#4aa0e6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 .025dvw var(--logo-color)) drop-shadow(0 0 .075dvw var(--logo-color)) drop-shadow(0 0 .125dvw var(--logo-color))}}@media (max-width: 48vw){.app-logo-text{display:none}.app-header-bar{height:8dvh}}.app-nav-sidebar .sidebar-nav,.sidebar-nav{display:flex!important;flex-direction:column!important;gap:3vh!important;align-items:flex-start!important;height:100%!important;position:relative!important;width:100%!important;padding-left:0!important;padding-top:5vh!important}.sidebar-spacer{flex-grow:1!important;min-height:1vh!important}.app-logout-button{background:none!important;border:none!important;outline:none!important;text-align:left!important;padding:.5vh .75vw!important;width:10.5vw!important;cursor:pointer!important;margin-bottom:1vh!important}.app-logout-button:hover .sidebar-icon{color:var(--mode-theme, #ffe6c8)!important;filter:drop-shadow(0 0 .03vh #ff1800) drop-shadow(0 0 .06vh #ff1800) drop-shadow(0 0 .09vh #ff1800)!important}.app-logout-button:hover .sidebar-label{color:var(--mode-theme, #ffe6c8)!important;text-shadow:0 0 .03vh #ff1800,0 0 .06vh #ff1800,0 0 .09vh #ff1800!important}.app-nav-sidebar .sidebar-item,.sidebar-item{display:flex!important;flex-direction:row!important;align-items:center!important;margin-bottom:0!important;cursor:pointer!important;padding:.5vh .75vw!important;border-radius:.8vh!important;transition:all .3s ease!important;width:10.5vw!important;justify-content:flex-start!important;position:relative!important;text-decoration:none!important;color:inherit!important}.app-nav-sidebar .sidebar-item:hover,.sidebar-item:hover{background-color:transparent!important;box-shadow:none!important}.app-nav-sidebar .sidebar-item:hover .sidebar-icon,.sidebar-item:hover .sidebar-icon{color:var(--mode-theme, #ffe6c8)!important}.app-nav-sidebar .sidebar-item:hover .sidebar-icon svg,.sidebar-item:hover .sidebar-icon svg{filter:drop-shadow(0 0 .03vh #00ff41) drop-shadow(0 0 .06vh #00ff41) drop-shadow(0 0 .09vh #00ff41)!important;animation:icon-spin .5s ease-out forwards!important}.app-nav-sidebar .sidebar-item:hover .sidebar-label,.sidebar-item:hover .sidebar-label{color:var(--mode-theme, #ffe6c8)!important;text-shadow:0 0 .03vh #00ff41,0 0 .06vh #00ff41,0 0 .09vh #00ff41!important}.app-nav-sidebar .sidebar-item.active,.sidebar-item.active{background-color:transparent!important;position:relative!important;border-left:none!important;box-shadow:none!important}.app-nav-sidebar .sidebar-item.active .sidebar-icon,.sidebar-item.active .sidebar-icon{color:var(--mode-theme, #ffe6c8)!important;font-weight:600!important;opacity:1!important;filter:drop-shadow(0 0 .03vh #00b3ff) drop-shadow(0 0 .06vh #00b3ff) drop-shadow(0 0 .09vh #00b3ff)!important}.app-nav-sidebar .sidebar-item.active .sidebar-icon svg,.sidebar-item.active .sidebar-icon svg{filter:drop-shadow(0 0 .03vh #00b3ff) drop-shadow(0 0 .06vh #00b3ff) drop-shadow(0 0 .09vh #00b3ff)!important}.app-nav-sidebar .sidebar-item.active .sidebar-label,.sidebar-item.active .sidebar-label{font-weight:500!important;color:var(--mode-theme, #ffe6c8)!important;text-shadow:0 0 .03vh #00b3ff,0 0 .06vh #00b3ff,0 0 .09vh #00b3ff!important;opacity:1!important}.app-nav-sidebar .sidebar-item.unavailable,.sidebar-item.unavailable{opacity:.7!important;cursor:not-allowed!important}.app-nav-sidebar .sidebar-item.unavailable:hover .sidebar-icon,.sidebar-item.unavailable:hover .sidebar-icon{color:var(--mode-theme, #ffe6c8)!important}.app-nav-sidebar .sidebar-item.unavailable:hover .sidebar-icon svg,.sidebar-item.unavailable:hover .sidebar-icon svg{filter:drop-shadow(0 0 .03vh #ff1800) drop-shadow(0 0 .06vh #ff1800) drop-shadow(0 0 .09vh #ff1800)!important;animation:none!important}.app-nav-sidebar .sidebar-item.unavailable:hover .sidebar-label,.sidebar-item.unavailable:hover .sidebar-label{color:var(--mode-theme, #ffe6c8)!important;text-shadow:0 0 .03vh #ff1800,0 0 .06vh #ff1800,0 0 .09vh #ff1800!important}.app-nav-sidebar .sidebar-icon,.sidebar-icon{color:var(--text-heading)!important;width:3.25vw!important;height:2.25vh!important;display:flex!important;align-items:center!important;justify-content:center!important;opacity:.8!important;transition:opacity .3s ease,color .3s ease,filter .3s ease,background-color .3s ease!important;line-height:1!important}.app-nav-sidebar .sidebar-icon svg,.sidebar-icon svg{display:block!important;height:2.25vh!important}.app-nav-sidebar .sidebar-label,.sidebar-label{text-align:left!important;white-space:nowrap!important;font-family:DM Sans,sans-serif!important;font-size:2vh!important;font-weight:400!important;line-height:2.25vh!important;opacity:.8!important;color:var(--text-heading)!important;text-shadow:none!important;transition:opacity .3s ease,color .3s ease,text-shadow .3s ease,font-weight .3s ease!important;display:flex!important;align-items:center!important;height:100%!important}.app-nav-sidebar .sidebar-item:hover .sidebar-icon,.app-nav-sidebar .sidebar-item:hover .sidebar-label,.sidebar-item:hover .sidebar-icon,.sidebar-item:hover .sidebar-label{opacity:.9!important}.app-nav-sidebar .sidebar-item.active .sidebar-icon,.app-nav-sidebar .sidebar-item.active .sidebar-label,.sidebar-item.active .sidebar-icon,.sidebar-item.active .sidebar-label{opacity:1!important}.app-nav-sidebar .neon-text,.neon-text{animation:neon-glow 1.5s linear infinite alternate!important}@keyframes neon-glow{0%,33%{text-shadow:0 0 .125vh #00ff41,0 0 .25vh #00ff41,0 0 .375vh #00ff41}33.1%,66%{text-shadow:0 0 .125vh #ff1800,0 0 .25vh #ff1800,0 0 .375vh #ff1800}66.1%,to{text-shadow:0 0 .125vh #00b3ff,0 0 .25vh #00b3ff,0 0 .375vh #00b3ff}}@keyframes icon-glow{0%,33%{filter:drop-shadow(0 0 .125vh #00ff41) drop-shadow(0 0 .25vh #00ff41) drop-shadow(0 0 .375vh #00ff41)}33.1%,66%{filter:drop-shadow(0 0 .125vh #ff1800) drop-shadow(0 0 .25vh #ff1800) drop-shadow(0 0 .375vh #ff1800)}66.1%,to{filter:drop-shadow(0 0 .125vh #00b3ff) drop-shadow(0 0 .25vh #00b3ff) drop-shadow(0 0 .375vh #00b3ff)}}.app-nav-sidebar .sidebar-item:focus,.sidebar-item:focus{outline:none!important;box-shadow:none!important}.theme-toggle-container{position:relative;margin-left:.75vw;margin-top:.75vh}.theme-toggle-button{position:relative;width:2.65vw;height:2.5vh;border-radius:1.5vh;border:none;outline:none;cursor:pointer;padding:.25vh;display:flex;align-items:center;justify-content:space-between;transition:background .4s cubic-bezier(.68,-.55,.27,1.55),box-shadow .3s ease}.theme-toggle-button.light{background:linear-gradient(to right,var(--accent-tertiary),var(--accent-secondary));box-shadow:0 0 1vh var(--accent-tertiary)}.theme-toggle-button.light:hover{box-shadow:0 0 1.5vh var(--accent-tertiary)}.theme-toggle-button.light:before{left:.25vh}.theme-toggle-button.dark{background:linear-gradient(to right,var(--accent-primary),var(--accent-special));box-shadow:0 0 1vh var(--accent-special)}.theme-toggle-button.dark:hover{box-shadow:0 0 1.5vh var(--accent-special)}.theme-toggle-button.dark:before{left:calc(100% - 2.25vh)}.theme-toggle-button:before{content:"";position:absolute;top:.25vh;width:2vh;height:2vh;border-radius:50%;background-color:#fff;transition:left .4s cubic-bezier(.68,-.55,.27,1.55);z-index:1;box-shadow:0 0 1vh #00000026}.toggle-icons{position:absolute;width:100%;height:100%;display:block;pointer-events:none;z-index:2;transition:none}.sun-icon,.moon-icon{opacity:1;color:#fff;position:absolute;transition:none}.sun-icon{opacity:1;left:.1vw;top:50%;transform:translateY(-50%)}.moon-icon{opacity:1;right:.3vw;top:50%;transform:translateY(-50%)}.auth-footer-container{width:100%;position:relative;padding:.3vh 0;height:4vh;display:flex;align-items:center;background-color:transparent}.auth-footer-content{display:flex;justify-content:space-between;align-items:center;width:100%;height:100%;padding:0 1.5vw}.auth-footer-left{display:flex;align-items:center;gap:1.2vw;z-index:2;white-space:nowrap;min-width:auto}.auth-footer-right{display:flex;align-items:center;z-index:2}.footer-controls{display:flex;align-items:center;gap:1vw}.footer-button{border:none;cursor:pointer;padding:.5vh;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-primary);transition:all .2s ease;outline:none;width:3.2vh;height:3.2vh}.footer-button.network-button{background-color:transparent;box-shadow:none}.footer-button:hover{transform:scale(1.05)}.footer-panel{position:fixed;bottom:4vh;width:350px;height:70vh;background-color:var(--bg-card);border-radius:.8vh;box-shadow:0 0 1vh #0003;display:flex;flex-direction:column;z-index:1000;overflow:hidden}.chat-panel,.connections-panel{max-width:500px;max-height:80vh}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:.5vh 1vw;background-color:var(--bg-secondary);border-bottom:.1vh solid var(--border-color)}.panel-header h3{font-size:1.6vh;color:var(--text-primary);margin:0;padding:.8vh 1vw}.close-panel-btn{background:none;border:none;color:var(--text-primary);font-size:1.8vh;cursor:pointer;padding:.5vh;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease;outline:none}.close-panel-btn:hover{background-color:var(--bg-hover)}.panel-content{flex:1;overflow:hidden;display:flex;flex-direction:column}@media (max-width: 768px){.auth-footer-content{justify-content:space-between}.auth-footer-left,.footer-controls{gap:.5vw}.footer-panel{width:100%;height:80vh;right:0!important;left:0}.connections-panel,.chat-panel{max-width:100%}}.network-button-container{position:fixed;bottom:1vh;right:1vw;z-index:60000;transition:all .3vh ease}.network-button-container.expanded{opacity:0;pointer-events:none}.network-collapsed-button{display:flex;align-items:center;border-radius:2vh;padding:.8vh 1.5vw;cursor:pointer;background-color:transparent;box-shadow:none;transition:box-shadow .3vh ease,transform .2vh ease;color:var(--text-primary, #4A4A4A);font-family:var(--font-body, "DM Sans", sans-serif);font-weight:500}.network-collapsed-button:hover{background-color:transparent;transform:translateY(-.2vh) scale(1.02)}.network-collapsed-button:hover .network-button-text{color:var(--mode-theme, #ffe6c8);text-shadow:0 0 .03vh #00ff41,0 0 .06vh #00ff41,0 0 .09vh #00ff41}.network-collapsed-button:hover .network-button-toggle svg{stroke:var(--mode-theme, #ffe6c8);filter:drop-shadow(0 0 .03vh #00ff41) drop-shadow(0 0 .06vh #00ff41) drop-shadow(0 0 .09vh #00ff41)}.network-button-avatar{width:3vh;height:3vh;border-radius:3vh;margin-right:.8vw;flex-shrink:0;border:.01vh solid var(--border-default, #D3CDBF);box-shadow:0 0 .3vh #0000001a}.network-button-avatar img{width:3vh;height:3vh;-o-object-fit:cover;object-fit:cover}.network-button-avatar .default-avatar{width:3vh;height:3vh;background-color:var(--accent-primary, #C7B783);color:var(--text-heading, #2B2B2B);display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--font-display, "Saira", sans-serif)}.network-button-text{font-size:1.6vh;line-height:2.3vh;margin-right:.8vw;white-space:nowrap;font-family:var(--font-body, "DM Sans", sans-serif);color:var(--text-primary, #4A4A4A)}.network-notification-badge{background-color:var(--red-gamified, #D87C80);color:#fff;border-radius:1vh;padding:.2vh .6vh;font-size:1.3vh;font-weight:500;font-family:var(--font-mono, "IBM Plex Mono", monospace);min-width:1.6vh;height:1.6vh;display:flex;align-items:center;justify-content:center;margin-right:.6vw;box-shadow:0 0 .5vh #d87c8080}.network-button-toggle{width:2vh;height:2vh;display:flex;align-items:center;justify-content:center}.network-button-toggle svg{width:1.8vh;height:1.8vh;stroke:var(--text-secondary, #797979);transition:transform .2vh ease}@media (max-width: 76.8vw){.network-collapsed-button{padding:.8vh 2vw}.network-button-text{font-size:1.8vh}}@media (max-width: 48vw){.network-button-container{bottom:1.5vh;right:1.5vw}}:root{--modal-border-radius: 1vh;--modal-animation-duration: .3s}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background-color:#000000a6;display:flex;align-items:center;justify-content:center;z-index:30000;opacity:0;transition:opacity var(--modal-animation-duration) ease-in-out}.modal-position-center{align-items:center;justify-content:center}.modal-position-top{align-items:flex-start;justify-content:center;padding-top:10vh}.modal-position-bottom{align-items:flex-end;justify-content:center;padding-bottom:10vh}.modal-animate-in{opacity:1}.modal-animate-in .modal-content{transform:translateY(0) scale(1)}.modal-content{background-color:#0f0f0f;border-radius:var(--modal-border-radius);box-shadow:0 .8vh 2vh #0000008c;position:relative;max-height:90vh;display:flex;flex-direction:column;transform:translateY(2vh) scale(.98);transition:transform var(--modal-animation-duration) ease-in-out;overflow:hidden;border:.1vh solid #2a2a2a}.modal-size-small{width:30vw;max-width:30vw}.modal-size-medium{width:50vw;max-width:50vw}.modal-size-large{width:70vw;max-width:70vw}.modal-size-fullscreen{width:100vw;max-width:100vw;height:100vh}.modal-close-button{position:absolute;top:1vh;right:1vw;width:3vh;height:3vh;border-radius:50%;background:#1a1a1a;border:.1vh solid #2a2a2a;color:#a9a9a9;font-size:2.5vh;line-height:2.5vh;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;z-index:30002}.modal-close-button:hover{color:#f0f0f0;background:#222;border-color:#3a3a3a;transform:scale(1.1)}.modal-body{padding:4vh 4vw;overflow-y:auto;flex:1;color:#e6e6e6}@media (max-width: 65vw){.modal-size-small,.modal-size-medium,.modal-size-large{width:100vw;max-width:100vw}}body.modal-open{overflow:hidden}.connections-interface{width:96vw;height:80vh;background-color:var(--bg-card, #F6F3EB);border-radius:1vh;box-shadow:0 .4vh 1vh #0000001a;display:flex;flex-direction:column;margin:2vh auto;padding:2vh 2vw;font-family:var(--font-body, "DM Sans", sans-serif)}.connections-interface.in-panel{width:25vw;height:69vh;margin:1vh auto;border-radius:0;box-shadow:none;padding:0}.connections-interface.in-panel .connections-header{width:21vw;margin:0vh auto;display:flex;justify-content:space-between;align-items:center;padding-top:2vh;padding-bottom:3vh;height:4vh}.connections-interface.in-panel .connection-search{width:16vw;margin:0vh auto;display:flex;justify-content:center}.connections-interface.in-panel .connections-tabs,.connections-interface.in-panel .tab-content{width:25vw}.connections-interface.in-panel .connection-list-item{width:24vw}.connections-interface.in-panel .connection-grid{width:25vw}.connections-interface.in-panel .connection-card{width:25vw;margin:.5vh auto}@media (max-width: 57.6vw){.connections-interface.in-panel,.connections-interface.in-panel .connections-header,.connections-interface.in-panel .connection-search,.connections-interface.in-panel .connections-tabs,.connections-interface.in-panel .tab-content,.connections-interface.in-panel .connection-grid{width:85vw}.connections-interface.in-panel .connection-list-item,.connections-interface.in-panel .connection-card{width:80vw}}.connections-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2vh}.connections-header h2{font-size:2.2vh;font-weight:600;margin:0vh 0vw;color:var(--text-heading, #2B2B2B);font-family:var(--font-display, "Saira", sans-serif)}.connection-search{display:flex;align-items:center;background-color:var(--bg-tertiary, #ECE6DA);border-radius:1vh;padding:.8vh 1vw;width:20vw;position:relative}.search-icon{color:var(--text-secondary, #797979);margin-right:.8vw;font-size:1.4vh;flex-shrink:0}.connection-search input{background:transparent;border:none;outline:none;font-size:1.4vh;color:var(--text-primary, #343434);width:calc(100% - 2vw);font-family:var(--font-body, "DM Sans", sans-serif)}.connection-search input::-moz-placeholder{color:var(--text-secondary, #797979)}.connection-search input::placeholder{color:var(--text-secondary, #797979)}.connections-header .add-connection-button,.add-connection-button{width:2.5vh!important;height:2.5vh!important;border-radius:50%!important;background-color:var(--accent-primary, #C7B783);color:#fff;border:none;font-size:1.8vh;font-weight:300;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2vh ease,transform .2vh ease;padding:0!important;margin:0!important;min-width:2.5vh!important;min-height:2.5vh!important;line-height:1!important;box-sizing:border-box!important}.connections-header .add-connection-button:hover,.add-connection-button:hover{background-color:var(--accent-secondary, #B2A068);transform:scale(1.05)}.connections-tabs{display:flex;border-bottom:.01vh solid var(--border-default, #D3CDBF);margin-bottom:2vh}.tab-button{padding:1vh 1vw;margin-right:2vw;border:none;background:none;cursor:pointer;display:flex;align-items:center;gap:.5vw;color:var(--text-secondary, #797979);font-size:1.5vh;position:relative;transition:color .2vh ease}.tab-button svg{font-size:1.4vh}.tab-button.active{color:var(--accent-primary, #C7B783);font-weight:500}.tab-button.active:after{content:"";position:absolute;bottom:-.01vh;left:0vw;width:6vw;height:.2vh;background-color:var(--accent-primary, #C7B783)}.tab-button:hover:not(.active){color:var(--text-primary, #343434)}.tab-content{flex:1;overflow:hidden;display:flex;justify-content:center}.connection-section{height:71vh;overflow-y:auto;width:25vw;display:flex;flex-direction:column;align-items:center}.connection-section h3{font-size:1.8vh;color:var(--text-heading, #2B2B2B);margin-bottom:2vh;font-family:var(--font-display, "Saira", sans-serif);font-weight:500}.connection-list{display:flex;flex-direction:column;gap:1.5vh;padding:1vh;width:100%;overflow-y:auto}.connections-interface.in-panel .connection-list{padding:.5vh 0vw;max-height:59.5vh;overflow-y:auto;overflow-x:hidden}.connection-item{display:grid;grid-template-columns:auto 1fr 5vw;grid-template-rows:auto;width:25vw;background-color:#2a2a2a;border-radius:1vh;border-left:.4vh solid #4A90C0;margin-bottom:1vh;color:#fff;padding:1.4vh 1.2vw;transition:transform .2vh ease,box-shadow .2vh ease;cursor:pointer;box-shadow:0 .2vh .8vh #0000004d}.connection-item:hover{transform:translateY(-.2vh);box-shadow:0 .4vh 1.2vh #0006;background-color:#363636;border-left:.4vh solid #5AA8D4}.connection-avatar{grid-column:1;grid-row:1 / span 2;position:relative;display:flex;align-items:center;justify-content:center;margin-right:1vw;width:4vh;height:4vh;overflow:hidden;border-radius:50%}.connection-avatar img{width:4vh;height:4vh;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:none}.connection-info{grid-column:2;grid-row:1 / span 2;display:flex;flex-direction:column;overflow:hidden;padding-left:.5vw;padding-right:.5vw;width:100%}.connection-actions{grid-column:3;grid-row:1 / span 2;display:flex;flex-direction:row;justify-content:flex-end;gap:.8vh;align-items:center;padding:0;margin-right:.5vw}.user-avatar,.default-avatar{width:4vh;height:4vh;border-radius:50%;background-color:#4a90c0;border:.01vh solid #3A3A3A;overflow:hidden;-o-object-fit:cover;object-fit:cover;display:flex;align-items:center;justify-content:center}.default-avatar{background:linear-gradient(135deg,#79b6d9,#4a90c0);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.6vh;box-shadow:0 .2vh .6vh #0003;border:.2vh solid rgba(255,255,255,.2)}.unread-badge{position:absolute;top:-.5vh;right:-.5vh;background-color:#e74c3c;color:#fff;font-size:1vh;font-weight:700;width:1.8vh;height:1.8vh;border-radius:50%;display:flex;align-items:center;justify-content:center;border:.2vh solid #2A2A2A}.connection-name{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5vh;width:auto;max-width:100%}.message-time{font-size:1vh;color:#a8a8a8;white-space:nowrap}.connection-name h4,.connection-name h3{margin:0;padding:0;font-size:1.6vh;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:6vw;letter-spacing:.02vw}.connection-details{margin-bottom:.5vh}.connection-title{margin:0;padding:0;font-size:1.3vh;color:#b8b8b8;margin-top:.3vh;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.message-preview{margin-top:.5vh}.message-preview p{margin:0;font-size:1.1vh;color:#a8a8a8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:8.5vw}.message-preview p.unread{color:#fff;font-weight:500}.mutual-connections{display:flex;align-items:center;gap:.5vw;font-size:1.1vh;color:#a8a8a8}.mutual-connections svg{font-size:1vh}.request-time{display:flex;align-items:center;gap:.5vw;font-size:1.1vh;color:#a8a8a8;margin-top:.5vh}.request-time svg{font-size:1vh}.request-status{margin:0vh 0vw;padding:0vh 0vw;font-size:1.1vh;color:gold;display:flex;align-items:center}.message-button,.disconnect-button,.accept-button,.ignore-button,.withdraw-button{background:none;border:none;color:#fff;font-size:1.4vh;cursor:pointer;transition:all .2vh ease;padding:.8vh;width:3.2vh;height:3.2vh;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 .2vh .4vh #0003;margin-left:.2vw}.message-button{background-color:#4a4a4a;border:.1vh solid rgba(255,255,255,.1);position:relative;z-index:2}.disconnect-button{background-color:#7a2929;border:.1vh solid rgba(255,255,255,.1);position:relative;z-index:2}.accept-button{background-color:#2a7a2a}.ignore-button{background-color:#7a2929}.withdraw-button{background-color:#7a4d29}.message-button:hover,.disconnect-button:hover,.accept-button:hover,.ignore-button:hover,.withdraw-button:hover{transform:scale(1.1);box-shadow:0 .4vh .8vh #0000004d;filter:brightness(1.2)}.connection-grid{display:flex;flex-wrap:wrap;gap:2vh 2vw;justify-content:center}.connection-card{width:17vw;background-color:var(--bg-card, #F6F3EB);border-radius:1vh;border:.01vh solid var(--border-default, #D3CDBF);overflow:hidden;transition:transform .2vh ease,box-shadow .2vh ease}.connection-card:hover{transform:translateY(-.5vh);box-shadow:0 .4vh 1vh #0000001a}.card-header{position:relative;height:12vh;background-color:var(--bg-tertiary, #ECE6DA);display:flex;justify-content:center;align-items:center}.card-header .user-avatar,.card-header .default-avatar{width:8vh;height:8vh;border-radius:50%;border:.01vh solid var(--border-default, #D3CDBF)}.card-body{padding:1.5vh 1vw;text-align:center}.card-body .connection-details{margin-bottom:1vh;min-height:4vh}.card-body .connection-details h4{margin:0;font-size:1.8vh;font-weight:600;color:var(--text-heading, #2B2B2B)}.card-body .connection-title{margin:0;font-size:1.4vh;color:var(--text-secondary, #797979);margin-top:.5vh}.card-body .mutual-connections{margin-top:1vh;justify-content:center}.card-actions{padding:0 1vw 1.5vh;display:flex;justify-content:center}.connect-button{background-color:var(--accent-primary, #C7B783);color:#fff;border:none;border-radius:5vh;padding:1vh 1.5vw;font-size:1.4vh;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.5vw;transition:background-color .2vh ease,transform .2vh ease;box-shadow:0 .2vh .4vh #0000001a}.connect-button:hover{background-color:var(--accent-secondary, #B2A068);transform:scale(1.05)}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;height:65vh}.spinner{width:4vh;height:4vh;border:.4vh solid rgba(0,0,0,.1);border-radius:50%;border-top-color:var(--accent-primary, #C7B783);animation:spin 1s ease-in-out infinite;margin-bottom:1vh}.loading-spinner p{font-size:1.4vh;color:var(--text-secondary, #797979)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:65vh;padding:0 2vw;text-align:center}.empty-state svg{color:var(--accent-secondary, #B2A068);margin-bottom:2vh}.empty-state h3{font-size:1.8vh;margin-bottom:1vh;color:var(--text-heading, #2B2B2B)}.empty-state p{font-size:1.4vh;color:var(--text-secondary, #797979);max-width:14vw}@media (max-width: 57.6vw){.connection-search input{width:70vw}.tab-button.active:after{width:15vw}.connection-section{height:65vh;width:80vw}.connection-list{width:80vw}.connection-item{grid-template-columns:10vw 55vw 10vw}.user-avatar,.default-avatar,.recommendation-avatar img,.recommendation-avatar .default-avatar,.request-avatar img,.request-avatar .default-avatar,.invitation-avatar img,.invitation-avatar .default-avatar{width:4vh;height:4vh;font-size:1.6vh}.recommendation-item,.request-item,.invitation-item{width:85vw}.connection-name{width:50vw}.connection-name h4{max-width:30vw}.message-preview p{max-width:50vw}.card-body .connection-details{width:75vw}.card-body .connection-details h4{max-width:75vw}.empty-state p{max-width:70vw}}.disconnect-modal-content{padding:2vh 1vw;text-align:center;background:linear-gradient(135deg,#2a2a2a,#1f1f1f);border-radius:1vh;position:relative;overflow:hidden}.disconnect-modal-content:before{content:"";position:absolute;top:0;left:0;right:0;height:.3vh;background:linear-gradient(90deg,#ff6b6b,#ff5252,#e53e3e)}.disconnect-modal-content:after{content:"⚠️";position:absolute;top:1.5vh;right:1.5vw;font-size:2vh;opacity:.6}.disconnect-modal-content p{font-family:DM Sans,sans-serif;font-size:1.8vh;color:#fff;margin-bottom:1.5vh;line-height:1.5;font-weight:500}.disconnect-modal-content p:first-child{font-size:2.2vh;font-weight:600;color:#ff6b6b;margin-bottom:2vh;margin-top:1vh}.disconnect-modal-note{font-size:1.5vh!important;color:#b0b0b0!important;font-weight:400!important;margin-bottom:3vh!important;padding:1.5vh 1vw;background-color:#ff6b6b1a;border-radius:.5vh;border-left:.3vh solid #FF6B6B}.disconnect-modal-content .modal-actions{display:flex;justify-content:center;gap:1.5vw;margin-top:3vh;padding-top:1vh}.disconnect-modal-content .cancel-button{padding:1.2vh 2.5vw;background:linear-gradient(135deg,#4a4a4a,#3a3a3a);border:.1vh solid rgba(255,255,255,.2);border-radius:.8vh;font-family:DM Sans,sans-serif;font-size:1.6vh;font-weight:500;color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 .2vh .5vh #0000004d;position:relative;overflow:hidden}.disconnect-modal-content .cancel-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.disconnect-modal-content .cancel-button:hover{background:linear-gradient(135deg,#5a5a5a,#4a4a4a);border-color:#ffffff4d;transform:translateY(-.1vh);box-shadow:0 .4vh .8vh #0006}.disconnect-modal-content .cancel-button:hover:before{left:100%}.disconnect-modal-content .confirm-button{padding:1.2vh 2.5vw;background:linear-gradient(135deg,#ff6b6b,#e53e3e);border:none;border-radius:.8vh;font-family:DM Sans,sans-serif;font-size:1.6vh;font-weight:600;color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 .2vh .5vh #ff6b6b66;position:relative;overflow:hidden}.disconnect-modal-content .confirm-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.disconnect-modal-content .confirm-button:hover{background:linear-gradient(135deg,#ff5252,#d32f2f);transform:translateY(-.1vh);box-shadow:0 .4vh 1vh #ff6b6b99}.disconnect-modal-content .confirm-button:hover:before{left:100%}.disconnect-modal-content .confirm-button:active{transform:translateY(0);box-shadow:0 .1vh .3vh #ff6b6b4d}@media (max-width: 768px){.disconnect-modal-content{padding:3vh 2vw}.disconnect-modal-content p:first-child{font-size:2.5vh}.disconnect-modal-content p{font-size:2vh}.disconnect-modal-note{font-size:1.8vh!important;padding:2vh 1.5vw}.disconnect-modal-content .modal-actions{flex-direction:column;gap:1.5vh;margin-top:4vh}.disconnect-modal-content .cancel-button,.disconnect-modal-content .confirm-button{padding:1.8vh 4vw;font-size:1.8vh;width:100%}}.recommendation-list{display:flex;flex-direction:column;gap:0;padding:0;width:100%;overflow-y:auto;max-height:60vh}.recommendation-item{background-color:#2a2a2a;border-radius:.8vh;border:none;overflow:hidden;padding:1vh 1.6vw;margin-bottom:.8vh;box-shadow:none;display:flex;align-items:center;position:relative;height:auto;min-height:6vh}.recommendation-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:.4vw;background-color:#666;display:block}.recommendation-avatar{margin-right:1.6vw;flex-shrink:0}.recommendation-avatar .default-avatar{width:4vh;height:4vh;border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:#5a9edf;color:#fff;font-size:1.6vh;font-weight:600}.recommendation-avatar img{width:4vh;height:4vh;border-radius:50%;-o-object-fit:cover;object-fit:cover}.recommendation-info{flex:1;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.recommendation-name{font-size:1vh;font-weight:400;margin:0 0 .3vh;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recommendation-title{font-size:1.3vh;color:#b0b0b0;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recommendation-actions{margin-left:.8vw;flex-shrink:0}.recommendation-actions .connect-button{width:3.6vh;height:3.6vh;border-radius:50%;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;background-color:#2a7a2a;color:#fff;transition:all .2s ease;padding:0}.recommendation-actions .connect-button:disabled{background-color:#505050;color:#888;cursor:not-allowed;opacity:.7}.recommendation-actions .connect-button svg{font-size:1.6vh}.recommendations-tab{height:100%;width:100%;overflow:hidden;display:flex;justify-content:center;align-items:flex-start}.recommendations-tab .empty-state{height:60vh}.error-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2vh;text-align:center}.error-message p{color:#d32f2f;margin-bottom:2vh;font-size:1.4vh;max-width:25vw}.retry-button{background-color:var(--accent-primary, #C7B783);color:#fff;border:none;border-radius:3vh;padding:1vh 2vw;font-size:1.4vh;cursor:pointer;transition:background-color .2vh ease}.retry-button:hover{background-color:var(--accent-secondary, #B2A068)}.request-list{display:flex;flex-direction:column;gap:1.5vh;padding:1vh;width:100%;overflow-y:auto;max-height:60vh}.request-item{background-color:var(--bg-card, #2A2A2A);border-radius:1vh;border:.1vh solid #3A3A3A;overflow:hidden;padding:1.5vh;margin-bottom:.5vh;box-shadow:0 .2vh .4vh #0003;display:flex;align-items:center;transition:transform .2s ease,box-shadow .2s ease;position:relative}.request-item:hover{transform:translateY(-.2vh);box-shadow:0 .4vh .8vh #0000004d}.request-avatar{margin-right:1.5vh;position:relative}.request-avatar img,.request-avatar .default-avatar{width:5vh;height:5vh;border-radius:50%}.request-info{flex:1;padding-right:1vh}.request-name{font-size:1.6vh;font-weight:600;margin:0 0 .5vh;color:#fff}.request-message{font-size:1.3vh;color:#b0b0b0;margin:0 0 .5vh}.request-date{display:flex;align-items:center;margin-top:.8vh;font-size:1.2vh;color:#888}.request-date svg{margin-right:.5vh;font-size:1.1vh}.request-actions{display:flex;gap:1vh}.accept-button,.ignore-button{width:3.6vh;height:3.6vh;border-radius:50%;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:transform .2s ease,background-color .2s ease}.accept-button{background-color:#2a7a2a;color:#fff}.accept-button:hover{background-color:#3a8a3a;transform:scale(1.05)}.ignore-button{background-color:#7a2929;color:#fff}.ignore-button:hover{background-color:#8a3939;transform:scale(1.05)}.request-item.new-request{border-left:.3vw solid var(--accent-primary, #C7B783)}.invitation-list{display:flex;flex-direction:column;gap:1.5vh;padding:1vh;width:100%;overflow-y:auto;max-height:60vh}.invitation-item{background-color:var(--bg-card, #2A2A2A);border-radius:1vh;border:.1vh solid #3A3A3A;overflow:hidden;padding:1.5vh;margin-bottom:.5vh;box-shadow:0 .2vh .4vh #0003;display:flex;align-items:center;transition:transform .2s ease,box-shadow .2s ease}.invitation-item:hover{transform:translateY(-.2vh);box-shadow:0 .4vh .8vh #0000004d}.invitation-avatar{margin-right:1.5vh}.invitation-avatar img,.invitation-avatar .default-avatar{width:5vh;height:5vh;border-radius:50%}.invitation-info{flex:1;padding-right:1vh}.invitation-name{font-size:1.6vh;font-weight:600;margin:0 0 .5vh;color:#fff}.invitation-status{font-size:1.3vh;color:var(--accent-primary, #C7B783);margin:0 0 .5vh}.invitation-date{display:flex;align-items:center;margin-top:.8vh;font-size:1.2vh;color:#888}.invitation-date svg{margin-right:.5vh;font-size:1.1vh}.invitation-actions{display:flex;gap:1vh}.withdraw-button{width:3.6vh;height:3.6vh;border-radius:50%;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:transform .2s ease,background-color .2s ease;background-color:#7a4d29;color:#fff}.withdraw-button:hover{background-color:#8a5d39;transform:scale(1.05)}.connection-item.has-unread{background-color:#4a90c033;border-left:.3vw solid #4A90C0}.connection-item.active-chat{background-color:#4a4a4a;border-left:.3vw solid var(--accent-primary, #C7B783)}.message-interface{display:flex;flex-direction:column;height:100%;width:100%;background-color:var(--bg-main);border-radius:1.2vh;box-shadow:0 0 1.2vh #0000001a;overflow:hidden;position:relative}.message-header{display:flex;flex-direction:column;padding:0vw 1vw;border-bottom:.01vh solid var(--border-default);background-color:var(--bg-secondary);z-index:10;overflow:visible;min-height:9vh;flex-shrink:0}.message-header-top{display:flex;align-items:center;width:100%;min-height:5vh;padding-bottom:.2vh}.message-header-bottom{display:flex;align-items:center;width:100%;min-height:3vh;padding-top:.2vh}.message-header-avatar{margin-right:1.4vw}.message-header-avatar img{width:4.2vh;height:4.2vh;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:.01vh solid var(--border-default)}.message-header-avatar .default-avatar{width:4.2vh;height:4.2vh;border-radius:50%;background-color:var(--accent-primary);color:var(--text-heading);display:flex;align-items:center;justify-content:center;font-size:1.8vh;font-weight:500}.message-header-info{flex:1;overflow:hidden;max-width:50%}.message-header-info h3{margin:0;font-size:1.8vh;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-heading)}.message-header-info .connection-title{margin:0;font-size:1.4vh;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-header-controls{display:flex;gap:.8vw;align-items:center;margin-left:auto}.message-content{flex:1;overflow-y:auto;padding:1.6vh 1.6vw;background-color:var(--bg-main);background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z' fill='%23D3CDBF' fill-opacity='0.1' fill-rule='evenodd'/%3E%3C/svg%3E");min-height:0}.message-content.empty{display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.empty-conversation{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);text-align:center;padding:1.6vh 1.6vw}.empty-conversation p{margin:1vh 0;font-size:1.25vh}.message-list{display:flex;flex-direction:column;padding-bottom:1vh}.date-separator{display:flex;align-items:center;justify-content:center;margin:1.6vh 0;position:relative}.date-separator span{padding:.6vh 1.4vw;background-color:var(--bg-tertiary);border-radius:1.8vh;font-size:1.3vh;color:var(--text-secondary);font-weight:500}.message-bubble{max-width:80%;margin-bottom:.8vh;position:relative;display:flex;word-break:break-word}.message-sender-avatar{margin-right:.8vw;align-self:flex-end}.connection-avatar{width:4vh;height:4vh;border-radius:50%;overflow:hidden}.connection-avatar img,.default-avatar{width:4vh;height:4vh;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:.01vh solid var(--border-default)}.message-avatar{width:3.2vh;height:3.2vh;border-radius:50%;overflow:hidden;border:.01vh solid var(--border-default)}.message-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.avatar-initial{width:100%;height:100%;background-color:var(--accent-primary);color:var(--text-heading);display:flex;align-items:center;justify-content:center;font-size:1.4vh;font-weight:500}.message-content-wrapper{padding:1.2vh 1.4vw;border-radius:1.8vh;box-shadow:0 .1vh .2vh #0000000d}.message-bubble.incoming{align-self:flex-start;margin-right:4vw}.message-bubble.incoming .message-content-wrapper{background-color:var(--msg-assistant-bg);border-bottom-left-radius:.4vh}.message-bubble.outgoing{align-self:flex-end;justify-content:flex-end;margin-left:4vw}.message-bubble.outgoing .message-content-wrapper{background-color:var(--msg-user-bg);color:var(--text-primary);border-bottom-right-radius:.4vh}.message-text{font-size:1.6vh;line-height:1.5;word-wrap:break-word}.message-bubble.incoming .message-text,.message-bubble.outgoing .message-text{color:var(--text-primary)}.message-meta{display:flex;justify-content:flex-end;align-items:center;margin-top:.4vh;font-size:1.1vh}.message-time{opacity:.8;font-size:1.2vh}.message-status{margin-left:.6vw;opacity:.8;display:flex;align-items:center}.read-receipt,.sent-receipt{display:flex;align-items:center}.read-receipt svg{color:#c7b783;font-size:1.1vh;width:1.1vh;height:1.1vh}.sent-receipt svg{color:#8d8d8d;font-size:1.1vh;width:1.1vh;height:1.1vh}.message-bubble.outgoing .read-receipt svg{color:#c7b783}.message-bubble.outgoing .sent-receipt svg{color:#8d8d8d}.message-input-container{padding:1.4vh 1.6vw;border-top:.01vh solid var(--border-default);background-color:var(--bg-secondary);flex-shrink:0;min-height:7vh}.message-input-container form{display:flex;align-items:center}.input-wrapper{display:flex;width:100%;align-items:center;background-color:var(--input-bg);border-radius:2.4vh;padding:.8vh 1.6vw;border:.01vh solid var(--input-border);transition:border-color .2s,box-shadow .2s}.input-wrapper:focus-within{border-color:var(--input-focus);box-shadow:0 0 0 .2vh #c7b78333}.message-input{flex:1;padding:.8vh 1vw;border:none;border-radius:2.4vh;font-size:1.6vh;outline:none;background-color:transparent;color:var(--text-primary)}.message-input::-moz-placeholder{color:var(--text-placeholder)}.message-input::placeholder{color:var(--text-placeholder)}.send-button{display:flex;align-items:center;justify-content:center;width:2vh;height:2vh;border:none;background:none;color:#c7b783;border-radius:.6vh;cursor:pointer;transition:all .2s;margin-left:1vw;padding:0}.send-button:hover:not(:disabled){color:#d8a692;transform:scale(1.1);filter:drop-shadow(0 0 .6vh #C7B783)}.send-button:disabled{color:#8d8d8d;cursor:not-allowed;opacity:.5}.send-button svg{font-size:1.2vh;width:1.2vh!important;height:1.2vh!important}.message-header-actions{display:flex;gap:.8vw;align-items:center;justify-content:center;width:100%}.minimize-button,.close-button{display:flex;align-items:center;justify-content:center;width:2vh;height:2vh;border:none;background:none;cursor:pointer;color:#e2e2e2;border-radius:.6vh;transition:all .2s;padding:0}.minimize-button:hover{color:#c7b783;transform:scale(1.1);filter:drop-shadow(0 0 .6vh #C7B783)}.close-button:hover{color:#e9959a;transform:scale(1.1);filter:drop-shadow(0 0 .6vh #E9959A)}.minimize-button svg,.close-button svg{font-size:1.2vh;width:1.2vh!important;height:1.2vh!important}.call-button,.group-action{display:flex;align-items:center;justify-content:center;width:2vh;height:2vh;border:none;background:none;cursor:pointer;border-radius:.6vh;transition:all .2s;margin-left:.5vw;padding:0}.call-button:hover,.group-action:hover{transform:scale(1.1)}@media (max-width: 76.8vw){.message-interface{width:100%;height:100vh;border-radius:0}.message-bubble{max-width:85%}}.connections-interface.with-active-chat .chat-container .message-interface{border-top-left-radius:1vh;border-bottom-left-radius:1vh;overflow:hidden;width:15vw;height:80vh}.connections-interface.with-active-chat .chat-container .message-header-info h3{font-size:1.6vh;max-width:9vw}.connections-interface.with-active-chat .chat-container .message-header-info .connection-title{font-size:1.2vh;max-width:9vw}@media (max-width: 57.6vw){.message-interface{width:85vw;height:80vh}.message-header-info h3,.message-header-info .connection-title{max-width:65vw}.message-bubble{max-width:60vw}.message-input{width:70vw}.connections-interface.with-active-chat .chat-container .message-interface{border-radius:0;border-top-left-radius:1vh;border-top-right-radius:1vh;width:85vw}.connections-interface.with-active-chat .chat-container .message-header-info h3,.connections-interface.with-active-chat .chat-container .message-header-info .connection-title{max-width:65vw}.empty-conversation{height:60vh}}.message-header-actions{display:flex;align-items:center;margin-left:auto}.minimize-button,.close-button{background:none;border:none;color:#555;cursor:pointer;padding:0;width:2vh;height:2vh;display:flex;align-items:center;justify-content:center;border-radius:.6vh;transition:background-color .2s ease;margin-left:.5vw}.minimize-button:hover,.close-button:hover{background-color:#0000001a}.minimize-button svg,.close-button svg{font-size:1.2vh}.call-button,.group-action{display:flex!important;align-items:center!important;justify-content:center!important;width:2vh!important;height:2vh!important;border:none!important;background:none!important;cursor:pointer;color:#fff!important;border-radius:.6vh;transition:all .2s;margin-left:.5vw}.call-button:hover,.group-action:hover{transform:scale(1.02)}.audio-call{color:#a2e1a0}.audio-call:hover{color:#a2e1a0;filter:drop-shadow(0 0 .6vh #A2E1A0)}.video-call{color:#90b8f0}.video-call:hover{color:#90b8f0;filter:drop-shadow(0 0 .6vh #90B8F0)}.screen-share{color:#f0a690}.screen-share:hover{color:#f0a690;filter:drop-shadow(0 0 .6vh #F0A690)}.group-action{color:#c7adf0}.group-action:hover{color:#c7adf0;filter:drop-shadow(0 0 .6vh #C7ADF0)}.call-button svg,.group-action svg{font-size:1.2vh;width:1.2vh!important;height:1.2vh!important}.group-action-container{position:relative}.group-options-dropdown{position:absolute;top:100%;right:0;margin-top:.5vh;background-color:var(--bg-card);border:.01vh solid var(--border-default);border-radius:.8vh;box-shadow:0 0 1.2vh #0000001a;width:9vw;z-index:1000}.group-options-dropdown button{display:block;width:100%;padding:1vh 1.5vw;border:none;background:none;text-align:left;cursor:pointer;font-size:1.25vh;color:var(--text-primary);transition:all .2s}.group-options-dropdown button:hover{background-color:var(--surface-hover);color:var(--accent-primary)}.group-options-dropdown button:first-child{border-top-left-radius:.8vh;border-top-right-radius:.8vh}.group-options-dropdown button:last-child{border-bottom-left-radius:.8vh;border-bottom-right-radius:.8vh}.chat-window-wrapper .message-interface{position:relative;margin:0;transform:none}.minimized-close{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:.4vh;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.message-interface svg{display:inline-block!important;vertical-align:middle!important;fill:currentColor!important;stroke:none!important;width:auto!important;height:auto!important}.message-header button{opacity:1!important;visibility:visible!important}.message-header button svg{opacity:1!important;visibility:visible!important}.minimized-chat-bar{position:fixed;bottom:1vh;right:29vw;display:flex;gap:1vw;z-index:59997;pointer-events:auto;transition:all .3s ease}.chat-windows-container:has(.chat-window-wrapper)~.minimized-chat-bar{right:54vw}.chat-windows-container:has(.chat-window-wrapper:nth-child(2))~.minimized-chat-bar{right:80vw}.chat-windows-container:has(.chat-window-wrapper:nth-child(3))~.minimized-chat-bar{right:106vw}.minimized-chat-item{background-color:var(--bg-card);border:.01vh solid var(--border-default);border-radius:2vh;padding:.8vh 1.2vw;cursor:pointer;display:flex;align-items:center;gap:.8vw;transition:all .2s ease;box-shadow:0 0 .8vh #0000001a;max-width:20vw}.minimized-chat-item:hover{transform:translateY(-.2vh);box-shadow:0 0 1.2vh #00000026;border-color:var(--accent-primary)}.minimized-avatar{width:3.2vh;height:3.2vh;border-radius:50%;background-color:var(--accent-primary);color:var(--text-heading);display:flex;align-items:center;justify-content:center;font-size:1.4vh;font-weight:500;flex-shrink:0}.minimized-info{flex:1;min-width:0}.minimized-name{font-size:1.4vh;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-heading)}.minimized-message{font-size:1.2vh;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.minimized-unread{background-color:var(--accent-primary);color:var(--text-heading);font-size:1.1vh;font-weight:600;padding:.2vh .6vw;border-radius:1vh;min-width:1.8vw;text-align:center}.minimized-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.4vh;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.minimized-close:hover{color:var(--red-gamified);transform:scale(1.05);filter:drop-shadow(0 0 .6vh var(--red-gamified))}.minimized-close svg{width:1.4vh;height:1.4vh}@media (max-width: 57.6vw){.minimized-chat-bar{right:1vw;bottom:82vh;max-width:90vw;flex-wrap:wrap}.minimized-chat-item{max-width:45vw}}.network-panels-container{position:fixed;bottom:1vh;right:.4vw;display:flex;flex-direction:row;justify-content:flex-end;align-items:flex-end;gap:.4vw;z-index:59998;pointer-events:none}.call-dialog-overlay,.call-interface-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:59999;pointer-events:auto}.chat-windows-container{display:flex;flex-direction:row;gap:.4vw;align-items:flex-end;pointer-events:auto;max-width:70vw}.chat-window-wrapper{position:relative;width:25vw;height:50vh;pointer-events:auto}.chat-window-wrapper .message-interface{width:100%;height:100%;background-color:var(--bg-card);border-radius:.6vw;border:.01vw solid var(--border-default);box-shadow:0 0 .6vw #00ffff4d,0 0 1.25vw #0ff3;overflow:hidden;display:flex;flex-direction:column}.chat-window-wrapper:nth-child(1){z-index:59997}.chat-window-wrapper:nth-child(2){z-index:59996}.chat-window-wrapper:nth-child(3){z-index:59995}.chat-window-wrapper:nth-child(n+4){display:none}.minimized-chat-bar{position:fixed;bottom:1vh;right:27.2vw;z-index:59997;pointer-events:auto}.network-panel{position:relative;width:26vw;height:80vh;background-color:var(--bg-card);border-radius:.6vw;border:.01vw solid var(--border-default);box-shadow:0 0 .6vw #00ffff4d,0 0 1.25vw #0ff3;display:flex;flex-direction:column;pointer-events:auto;transition:opacity .3s ease;box-sizing:border-box;overflow:hidden;align-items:center;z-index:59994;flex-shrink:0}.network-panel.panel-open{opacity:1;visibility:visible}.network-panel.panel-closed{opacity:0;visibility:hidden;pointer-events:none}.network-panel:before,.network-panel:after{display:none!important}.network-panel-header{width:26vw;padding:.8vw 1.2vw;height:5vh;border-bottom:.01vw solid var(--border-default);display:flex;justify-content:space-between;align-items:center;box-sizing:border-box}.network-panel-header-left{display:flex;align-items:center;gap:.8vw}.network-panel-header-right{display:flex;align-items:center;gap:.4vw}.network-search-container{position:relative;width:14vw;height:3vh}.network-search-input{width:14vw;height:3vh;background-color:var(--input-bg);border:none;border-radius:.6vw;padding:0 .8vw;font-family:DM Sans,sans-serif;font-size:1.203vh;line-height:1.685vh;font-weight:300;color:var(--text-primary);outline:none;transition:all .2s ease}.network-search-input::-moz-placeholder{color:var(--text-placeholder)}.network-search-input::placeholder{color:var(--text-placeholder)}.network-search-input:focus{background-color:transparent;border:.01vw solid var(--input-focus);text-shadow:0 0 .03vh #00ff41,0 0 .06vh #00ff41,0 0 .09vh #00ff41;filter:drop-shadow(0 0 .02vh #00ff41)}.network-panel-avatar{width:3vh;height:3vh;border-radius:.6vw;background-color:var(--bg-tertiary)}.network-panel-avatar img{width:3vh;height:3vh;-o-object-fit:cover;object-fit:cover;border-radius:.6vw}.network-panel-avatar .default-avatar{width:3vh;height:3vh;background-color:var(--accent-primary);color:var(--text-heading);display:flex;align-items:center;justify-content:center;border-radius:.6vw;font-family:Saira,sans-serif;font-size:1.313vh;line-height:1.642vh;font-weight:400}.network-panel-title{font-family:Saira,sans-serif;font-size:1.969vh;line-height:2.56vh;font-weight:500;color:var(--text-heading);margin:0vh 0vw;width:8vw}.network-panel-minimize-btn{background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.4vw;border-radius:.6vw;color:var(--text-secondary);transition:all .2s ease;opacity:.8}.network-panel-minimize-btn:hover{background-color:transparent;color:var(--mode-theme, #ffe6c8);text-shadow:0 0 .03vh #00ff41,0 0 .06vh #00ff41,0 0 .09vh #00ff41;filter:drop-shadow(0 0 .02vh #00ff41);opacity:.9}.network-panel-minimize-btn svg{width:2vh;height:2vh;stroke:currentColor}.network-panel-tabs{width:26vw;height:4vh;display:flex;justify-content:center;border-bottom:.01vw solid var(--border-default);box-sizing:border-box}.network-tab{width:8vw;padding:.8vw 0vw;text-align:center;font-family:DM Sans,sans-serif;font-size:1.531vh;line-height:2.221vh;font-weight:400;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;position:relative;box-sizing:border-box;transition:all .2s ease;opacity:.8}.network-tab.active{color:var(--accent-primary);font-weight:500;opacity:1}.network-tab.active:after{content:"";position:absolute;bottom:0;left:0;width:8vw;height:.2vh;background-color:var(--accent-primary);box-shadow:0 0 .03vh #00b3ff,0 0 .06vh #00b3ff,0 0 .09vh #00b3ff}.network-tab:hover:not(.active){background-color:transparent;color:var(--mode-theme, #ffe6c8);text-shadow:0 0 .03vh #00ff41,0 0 .06vh #00ff41,0 0 .09vh #00ff41;filter:drop-shadow(0 0 .02vh #00ff41);opacity:.9}.network-panel-subtabs{width:26vw;height:3.5vh;display:flex;justify-content:center;background-color:var(--bg-tertiary);border-bottom:.01vw solid var(--border-default);box-sizing:border-box}.network-subtab{width:10vw;padding:.4vw 0vw;text-align:center;font-family:DM Sans,sans-serif;font-size:1.313vh;line-height:1.838vh;font-weight:300;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;position:relative;box-sizing:border-box;transition:all .2s ease;opacity:.8}.network-subtab.active{color:var(--accent-primary);font-weight:400;opacity:1}.network-subtab.active:after{content:"";position:absolute;bottom:0;left:0;width:10vw;height:.2vh;background-color:var(--accent-primary);box-shadow:0 0 .03vh #00b3ff,0 0 .06vh #00b3ff,0 0 .09vh #00b3ff}.network-subtab:hover:not(.active){background-color:transparent;color:var(--mode-theme, #ffe6c8);text-shadow:0 0 .03vh #00ff41,0 0 .06vh #00ff41,0 0 .09vh #00ff41;filter:drop-shadow(0 0 .02vh #00ff41);opacity:.9}.network-panel-content{width:26vw;height:69vh;padding:.8vw .4vw;overflow-y:auto;box-sizing:border-box}@media (max-width: 31.3vw){.network-panels-container{width:98vw;flex-direction:column-reverse;gap:.8vw}.chat-windows-container{max-width:90vw;flex-direction:column;max-height:40vh}.chat-window-wrapper{width:90vw;height:35vh}.minimized-chat-bar{right:.4vw;bottom:calc(80vh + 1.6vw)}.network-panel{width:90vw}.network-panel-header{width:90vw;padding:.8vw 1.2vw}.network-search-container,.network-search-input{width:40vw}.network-panel-tabs,.network-panel-subtabs{width:90vw}.network-panel-content{width:90vw;padding:.8vw}.network-panel-title{width:84vw}.network-tab{width:30vw}.network-tab.active:after{width:30vw}.network-subtab{width:30vw}.network-subtab.active:after{width:30vw}}@media (min-width: 31.4vw) and (max-width: 53.3vw){.network-panels-container{width:95vw;gap:.8vw}.network-panel{width:35vw}.network-panel-header{width:35vw;padding:.8vw 1.2vw}.network-search-container,.network-search-input{width:18vw}.network-panel-tabs,.network-panel-subtabs{width:35vw}.network-panel-content{width:35vw;padding:.8vw}.network-panel-title{width:12vw}.network-tab{width:11.67vw}.network-tab.active:after{width:11.67vw}.network-subtab{width:11.67vw}.network-subtab.active:after{width:11.67vw}}.app-main-page{padding:0;height:100vh;display:flex;flex-direction:column;background-color:var(--bg-main);color:var(--text-heading);border:none;position:relative;z-index:0}.app-nav-sidebar{position:absolute;top:6vh;left:0;width:12vw;height:94vh;padding:1.5vh 1vw 1.5vh .5vw;display:flex;flex-direction:column;align-items:flex-start;border:none;background-color:var(--bg-main);z-index:5}.app-main-container,.app-main-container-full{position:absolute;top:6vh;left:12vw;width:88vw;height:94vh;border-top:none;border-bottom:none;z-index:20000}.app-glassy-layer{position:absolute;top:0;left:0;right:0;bottom:0;z-index:10000;background:linear-gradient(135deg,#c7b783b3,#d8a692b3,#a2c0d1b3);background-size:400% 400%;backdrop-filter:blur(.8vh);-webkit-backdrop-filter:blur(.8vh);border:none;box-shadow:0 0 1vh #c8998a4d;pointer-events:none;transition:all 1.5s ease-in-out;animation:theme-color-flow 30s ease infinite,theme-color-pulse 15s ease-in-out infinite alternate;opacity:0;visibility:hidden;will-change:background-position,box-shadow,backdrop-filter}.app-glassy-layer-active{opacity:1;visibility:visible}.app-main-page--unauthenticated .app-glassy-layer{background:linear-gradient(135deg,#c7b78399,#a2c0d199,#d8a69299);background-size:400% 400%;backdrop-filter:blur(.5vh);-webkit-backdrop-filter:blur(.5vh);animation:theme-color-flow 30s ease infinite,theme-color-pulse 15s ease-in-out infinite alternate;z-index:8000!important}@keyframes theme-color-flow{0%{background-position:0% 0%}25%{background-position:100% 25%}50%{background-position:75% 100%}75%{background-position:25% 75%}to{background-position:0% 0%}}@keyframes theme-color-pulse{0%{box-shadow:0 0 1vh #c8998a4d,inset 0 0 3vh #c7b7831a;backdrop-filter:blur(.7vh);-webkit-backdrop-filter:blur(.7vh)}50%{box-shadow:0 0 2vh #c8998a66,inset 0 0 5vh #c7b78333;backdrop-filter:blur(1vh);-webkit-backdrop-filter:blur(1vh)}to{box-shadow:0 0 1vh #c8998a4d,inset 0 0 3vh #c7b7831a;backdrop-filter:blur(.7vh);-webkit-backdrop-filter:blur(.7vh)}}:root .app-glassy-layer{background-image:linear-gradient(135deg,#c7b783b3,#d8a692b3 30%,#a2c0d1b3 70%,#bca8c6b3)}[data-theme=dark] .app-glassy-layer{background-image:linear-gradient(135deg,#c7b783b3,#c8998ab3 30%,#88afc4b3 70%,#a98fb1b3)}.app-content-window{background-color:var(--bg-card);border-radius:1.6vh;margin:0 1vw 1vh 0;display:flex;flex-direction:column;height:93vh;border:.01vh solid var(--border-default);box-shadow:0 0 1.2vh #00ffff1a;transition:all .3s ease;position:relative;z-index:20}.app-main-page--unauthenticated .app-content-window{overflow:hidden}.content-above-grid{position:relative;z-index:1;width:100%;height:100%}.app-content-window:hover{box-shadow:0 0 1.2vh #0ff3,0 0 2.4vh #00ffff1a}.app-content-window-body{padding:0;display:flex;flex-direction:column;flex:1;width:87vw;background-color:transparent;padding-bottom:6vh;position:relative;z-index:2}.app-content-window-footer{padding:0;background-color:transparent;min-height:4.8vh;border-top:none;position:absolute;bottom:0;left:0;right:0;z-index:25}:root{--mode-theme: #ffe6c8;--logo-filter: invert(1)}[data-theme=light]{--mode-theme: #1a1a1a;--logo-filter: invert(0)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;color:var(--text-primary)}.loading-spinner{width:6vh;height:6vh;border:.5vh solid rgba(255,255,255,.3);border-radius:50%;border-top-color:var(--accent-primary);animation:spin 1s ease-in-out infinite;margin-bottom:2vh}.app-nav-sidebar-space{position:absolute;top:6vh;left:0;width:12vw;height:94vh;z-index:5}@media (orientation: portrait) and (hover: none) and (pointer: coarse){.app-nav-sidebar{display:none!important}.app-main-container{left:0;width:100vw;top:6vh;height:94vh;overflow-y:visible}.app-content-window{margin:0;border-radius:0;height:auto;min-height:94vh;overflow:visible}.app-content-window-body{width:100vw;min-height:94vh;padding-bottom:0;margin-bottom:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.app-content-window-footer{position:static;height:auto;min-height:4vh;background-color:transparent;border-top:none;z-index:1}.app-glassy-layer{display:none!important;opacity:0!important;visibility:hidden!important}.app-logo-standalone{display:none!important}.app-main-page--unauthenticated{background:#0f0f0f!important}.app-content-window{background:transparent!important;border:none!important;box-shadow:none!important}.app-main-container-full{left:0!important;width:100vw!important;top:6vh!important;height:auto!important}@keyframes theme-color-pulse{0%{box-shadow:0 0 1dvh #c8998a4d,inset 0 0 3dvh #c7b7831a;backdrop-filter:blur(.7dvh);-webkit-backdrop-filter:blur(.7dvh)}50%{box-shadow:0 0 2dvh #c8998a66,inset 0 0 5dvh #c7b78333;backdrop-filter:blur(1dvh);-webkit-backdrop-filter:blur(1dvh)}to{box-shadow:0 0 1dvh #c8998a4d,inset 0 0 3dvh #c7b7831a;backdrop-filter:blur(.7dvh);-webkit-backdrop-filter:blur(.7dvh)}}}body.force-mobile .app-glassy-layer{display:none!important;opacity:0!important;visibility:hidden!important}body.force-mobile .app-logo-standalone{display:none!important}body.force-mobile .app-main-page--unauthenticated{background:#0f0f0f!important}body.force-mobile .app-content-window{background:transparent!important;border:none!important;box-shadow:none!important}body.force-mobile .app-main-container-full{left:0!important;width:100vw!important;top:6vh!important;height:auto!important}@media (max-width: 480px){.app-header-bar{height:8dvh}.app-main-container{top:8dvh;height:92dvh}.app-content-window-body{height:87dvh}.loading-spinner{width:6dvh;height:6dvh;border:.5dvh solid rgba(255,255,255,.3);margin-bottom:2dvh}}.app-logo-standalone{position:absolute;top:3vh;left:-.5vw;z-index:50000;color:var(--accent-primary);display:flex;align-items:flex-start;justify-content:center;pointer-events:auto}[data-theme=dark] .app-logo-standalone,[data-theme=light] .app-logo-standalone{color:var(--accent-primary)!important}.app-logo-standalone.siteLogo{height:3vh}.app-logo-standalone img{width:4.5vw;height:4.5vh;transform-style:preserve-3d;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 .2vh .4vh rgba(0,0,0,.3))!important;margin:0 0 0 1vw;flex:0 0 2vw}[data-theme=dark] .app-logo-standalone img,[data-theme=light] .app-logo-standalone img{filter:drop-shadow(0 .2vh .4vh rgba(0,0,0,.3))!important}.app-logo-standalone:not(:hover) img{animation:animate 18s linear infinite}.app-logo-standalone .app-logo-text{background:linear-gradient(90deg,#324bc7,#4aa0e6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-family:Saira;font-size:3.0375vh;font-weight:600;line-height:3.375vh;white-space:pre-line;display:inline-block;letter-spacing:.02vh;margin:0 0 0 .5vw;padding:0;text-align:left;text-shadow:0 .2vh .4vh rgba(0,0,0,.3);width:8vw;flex:0 0 6vw}[data-theme=dark] .app-logo-standalone .app-logo-text,[data-theme=light] .app-logo-standalone .app-logo-text{background:linear-gradient(90deg,#324bc7,#4aa0e6)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important}.app-logo-standalone.siteLogo:hover{animation:logo-hover .1875s linear 2;--logo-color: #00ff41}.app-logo-standalone.siteLogo:hover img{animation:logo-spin .5s ease-out forwards;filter:drop-shadow(0 0 .025vw var(--logo-color)) drop-shadow(0 0 .075vw var(--logo-color)) drop-shadow(0 0 .125vw var(--logo-color))!important}.app-logo-standalone.siteLogo:hover .app-logo-text{background:linear-gradient(90deg,#324bc7,#4aa0e6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 .025vw var(--logo-color)) drop-shadow(0 0 .075vw var(--logo-color)) drop-shadow(0 0 .125vw var(--logo-color))}@media (max-width: 64vw){.app-logo-standalone{left:1.5vw}}@media (max-width: 48vw){.app-logo-standalone img{width:3vw;height:3vh}}.footer-container{width:96vw;position:relative;padding:2vh 0;height:8vh;display:flex;align-items:center;background-color:var(--bg-main)}.footer-row{display:flex;justify-content:space-between;align-items:center;width:87vw;height:8vh}.footer-left{display:flex;align-items:flex-start;gap:.5vw;padding-left:1vw;min-width:20vw;z-index:2;padding-top:1.5vh}.footer-text-container{display:flex;flex-direction:column;gap:.25vh}.footer-logo{color:var(--accent-primary);display:flex;align-items:center;justify-content:center;margin-top:.125vh}.footer-logo img{width:8vw;height:8vh;transform-style:preserve-3d;filter:none!important}[data-theme=dark] .footer-logo,[data-theme=light] .footer-logo{color:var(--accent-primary)!important}[data-theme=dark] .footer-logo img,[data-theme=light] .footer-logo img{filter:none!important}.footer-logo:not(:hover) img{animation:animate 18s linear infinite}.footer-text{color:var(--text-secondary);font-family:DM Sans,sans-serif;font-size:1.25vh;font-weight:300;line-height:1.2vh}.footer-menu{display:flex;flex-wrap:nowrap;align-items:center;overflow-x:visible;justify-content:center;position:absolute;top:2.4vh;left:64vw;transform:translate(-25vw);z-index:1;margin:0;padding:0;gap:1vw;bottom:1vh}.footer-menu-item{color:var(--text-primary);cursor:pointer;transition:color .3s ease,text-shadow .3s ease;position:relative;padding-bottom:.25vh;white-space:nowrap;font-family:DM Sans,sans-serif;font-size:1.5vh;font-weight:400;line-height:1.3vh;text-decoration:none}.footer-menu-item:hover{color:var(--mode-theme, #ffe6c8);text-decoration:underline}.footer-language-selector{margin-left:.5vw;position:relative;top:-.3vh}.footer-right{display:flex;align-items:center;gap:2vw;z-index:2;white-space:nowrap;min-width:20vw;padding-right:1vw;justify-content:flex-end}.links-group{display:flex;gap:1vw}.footer-link{color:var(--text-secondary);cursor:pointer;transition:color .3s ease;display:flex;flex-direction:column;align-items:center;font-family:DM Sans,sans-serif;font-size:1.25vh;font-weight:300;line-height:1.2vh;text-align:center}.footer-link:hover{color:var(--text-link)}.theme-toggle-container{display:flex;align-items:center;justify-content:center}@keyframes animate{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}@keyframes logo-spin{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}@keyframes logo-hover{0%,33%{--logo-color: #00ff41}33.1%,66%{--logo-color: #ff1800}66.1%,to{--logo-color: #00b3ff}}.footer-logo.siteLogo:hover{animation:logo-hover .1875s linear 2;--logo-color: #00ff41}.footer-logo.siteLogo:hover img{animation:logo-spin .5s ease-out forwards;filter:none!important}.unauth-sidebar-nav{pointer-events:none}.unauth-sidebar-nav .sidebar-item:not(.auth-button){opacity:.7;cursor:default}.auth-buttons-outer-container{position:fixed;left:1vw;bottom:2vh;width:10vw;z-index:30000;pointer-events:auto}@media (orientation: portrait) and (hover: none) and (pointer: coarse){.auth-buttons-outer-container{display:none!important}}.auth-buttons-container{position:relative;display:flex;flex-direction:column;gap:1vh;width:100%;pointer-events:auto}.auth-button{display:flex;align-items:center;gap:1vw;padding:1.2vh 1.5vw;border-radius:.8vh;text-decoration:none;font-family:DM Sans,sans-serif;font-size:2vh;font-weight:600;transition:all .3s ease;width:100%;cursor:pointer;box-shadow:0 .2vh .6vh #00000026}.auth-login-button{background-color:#6ac17d;border:.15vh solid #6AC17D;color:#4a4a4a}.auth-login-button span,.auth-login-button svg{color:#4a4a4a}.auth-login-button:hover{background-color:#5ab46d;box-shadow:0 .2vh .8vh #6ac17d66;transform:translateY(-.3vh);color:#4a4a4a}.auth-login-button:hover span,.auth-login-button:hover svg{color:#4a4a4a}.auth-register-button{background-color:var(--accent-primary, #C7B783);color:#4a4a4a;margin-top:1vh}.auth-register-button:hover{background-color:#c7b783e6;box-shadow:0 .2vh .8vh #c7b78366;transform:translateY(-.3vh);color:#4a4a4a}.auth-register-button:hover span,.auth-register-button:hover svg{color:#4a4a4a}.auth-button svg{width:2.2vh;height:2.2vh;color:inherit}.auth-button:active,.auth-button:focus{outline:none;transform:translateY(0)}.lattice-video-background{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-1;overflow:hidden;pointer-events:none}.lattice-video{position:absolute;top:50%;left:50%;min-width:100%;min-height:100%;width:auto;height:auto;transform:translate(-50%,-50%);opacity:0;transition:opacity .5s ease-in-out;filter:brightness(var(--lattice-video-brightness, .8)) contrast(var(--lattice-video-contrast, 1.2)) hue-rotate(var(--lattice-video-hue, 0deg))}.lattice-video-loaded{opacity:1}.lattice-css-fallback{position:relative;width:100%;height:100%;background:var(--bg-primary, #2a2a3e)}.lattice-layer{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.1;pointer-events:none}.lattice-layer-1{background-image:repeating-linear-gradient(45deg,transparent,transparent 7vh,var(--text-color, #ffffff) 7vh,var(--text-color, #ffffff) 7.08vh);animation:lattice-move-1 20s linear infinite}.lattice-layer-2{background-image:repeating-linear-gradient(-45deg,transparent,transparent 7vh,var(--text-color, #ffffff) 7vh,var(--text-color, #ffffff) 7.08vh);animation:lattice-move-2 25s linear infinite;opacity:.06}@keyframes lattice-move-1{0%{transform:translate(0)}to{transform:translate(10vh,10vh)}}@keyframes lattice-move-2{0%{transform:translate(0)}to{transform:translate(-8vh,8vh)}}:root{--lattice-video-brightness: .8;--lattice-video-contrast: 1.2;--lattice-video-hue: 0deg}[data-theme=light]{--lattice-video-brightness: 1.2;--lattice-video-contrast: .8;--lattice-video-hue: 180deg}@media (prefers-reduced-motion: reduce){.lattice-video,.lattice-layer{animation:none}}@media (max-width: 768px){.lattice-video{filter:brightness(var(--lattice-video-brightness, .8)) contrast(var(--lattice-video-contrast, 1.2)) hue-rotate(var(--lattice-video-hue, 0deg)) blur(.5px)}.lattice-layer{opacity:.05}}@media (max-width: 480px){.lattice-video-background{display:none}.lattice-css-fallback{display:block}}.keyboard-key{transition:all .15s cubic-bezier(.4,0,.2,1);transform-origin:center;will-change:transform,background-color,box-shadow;background-color:transparent}.keyboard-key.key-pressed{transform:scale(.95);background-color:transparent!important;box-shadow:inset 0 2px 4px #0003,0 0 0 2px #c7b7834d;z-index:10}.keyboard-key.key-correct{background-color:transparent!important;color:var(--mode-theme, #ffe6c8)!important;text-shadow:0 0 .03vh #00b3ff,0 0 .06vh #00b3ff,0 0 .09vh #00b3ff!important;filter:drop-shadow(0 0 .02vh #00b3ff)!important;opacity:1;z-index:15;animation:correct-pulse .3s ease-out}.keyboard-key.key-incorrect{background-color:transparent!important;color:var(--mode-theme, #ffe6c8)!important;text-shadow:0 0 .03vh #ff0040,0 0 .06vh #ff0040,0 0 .09vh #ff0040!important;filter:drop-shadow(0 0 .02vh #ff0040)!important;opacity:1;z-index:15;animation:incorrect-pulse .4s ease-out}@keyframes correct-pulse{0%{transform:scale(1);text-shadow:0 0 .01vh #00b3ff}50%{transform:scale(1.05);text-shadow:0 0 .06vh #00b3ff,0 0 .12vh #00b3ff,0 0 .18vh #00b3ff}to{transform:scale(1);text-shadow:0 0 .03vh #00b3ff,0 0 .06vh #00b3ff,0 0 .09vh #00b3ff}}@keyframes incorrect-pulse{0%{transform:scale(1);text-shadow:0 0 .01vh #ff0040}25%{transform:scale(1.08);text-shadow:0 0 .08vh #ff0040,0 0 .16vh #ff0040,0 0 .24vh #ff0040}50%{transform:scale(.98)}75%{transform:scale(1.02)}to{transform:scale(1);text-shadow:0 0 .03vh #ff0040,0 0 .06vh #ff0040,0 0 .09vh #ff0040}}@media screen and (max-width: 768px){.keyboard-key{min-height:7vh;font-size:1.8vh;border-radius:1vh;transition:all .1s ease-out}.keyboard-key.key-pressed{transform:scale(.92);box-shadow:inset 0 3px 6px #00000040,0 0 0 3px #c7b78366}.keyboard-key.key-correct{text-shadow:0 0 .04vh #00b3ff,0 0 .08vh #00b3ff,0 0 .12vh #00b3ff!important;filter:drop-shadow(0 0 .03vh #00b3ff)!important;animation:correct-pulse-mobile .4s ease-out}.keyboard-key.key-incorrect{text-shadow:0 0 .04vh #ff0040,0 0 .08vh #ff0040,0 0 .12vh #ff0040!important;filter:drop-shadow(0 0 .03vh #ff0040)!important;animation:incorrect-pulse-mobile .5s ease-out}@keyframes correct-pulse-mobile{0%{transform:scale(1);text-shadow:0 0 .02vh #00b3ff}50%{transform:scale(1.08);text-shadow:0 0 .08vh #00b3ff,0 0 .16vh #00b3ff,0 0 .24vh #00b3ff}to{transform:scale(1);text-shadow:0 0 .04vh #00b3ff,0 0 .08vh #00b3ff,0 0 .12vh #00b3ff}}@keyframes incorrect-pulse-mobile{0%{transform:scale(1);text-shadow:0 0 .02vh #ff0040}20%{transform:scale(1.12)}40%{transform:scale(.95);text-shadow:0 0 .12vh #ff0040,0 0 .24vh #ff0040,0 0 .36vh #ff0040}60%{transform:scale(1.04)}80%{transform:scale(.98)}to{transform:scale(1);text-shadow:0 0 .04vh #ff0040,0 0 .08vh #ff0040,0 0 .12vh #ff0040}}.keyboard-display *{touch-action:manipulation!important;-webkit-touch-callout:none!important;-webkit-user-select:none!important;-webkit-tap-highlight-color:transparent!important}}.mfp-layout-root{width:100vw;min-height:100vh;background:#0f0f0f;color:#e6e6e6;overflow-x:hidden;display:flex;flex-direction:column}.mfp-header{height:8vh;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;background:#0f0f0f;position:fixed;top:0;left:0;right:0;z-index:1000;border-bottom:.1vh solid rgba(255,255,255,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.mfp-logo{display:inline-flex;align-items:center;gap:2vw;text-decoration:none;color:#f0f0f0}.mfp-logo img{width:4vh;height:4vh;transform-style:preserve-3d;animation:mfp-logo-spin 18s linear infinite;filter:brightness(0) invert(1)}.mfp-logo-text{font-family:Saira,-apple-system,BlinkMacSystemFont,sans-serif;font-size:2.5vh;color:#f0f0f0;font-weight:600}.mfp-header-actions{display:inline-flex;align-items:center;gap:4vw}.mfp-signin{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;color:#e6e6e6;text-decoration:none;font-size:2.2vh;font-weight:500;transition:color .3s ease}.mfp-signin:hover{color:#324bc7}.mfp-header-actions .theme-toggle-button{width:6vh;height:3vh;border-radius:1.5vh;background:#fff3;border:.1vh solid rgba(255,255,255,.3);transition:all .3s ease}.mfp-header-actions .theme-toggle-button:hover{background:#ffffff4d;transform:scale(1.05)}@keyframes mfp-logo-spin{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}.mfp-main{flex:1;width:100vw;height:84vh;max-height:84vh;padding-top:8vh;padding-bottom:8vh;overflow-y:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box}.mfp-footer{height:8vh;position:fixed;bottom:0;left:0;right:0;z-index:1000;background:#0f0f0f;border-top:.1vh solid rgba(255,255,255,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center}.mfp-footer .footer-container{width:96vw!important;height:8vh!important;position:static!important;padding:0!important;background:transparent!important;display:flex!important;align-items:center!important;justify-content:center!important}.mfp-footer .footer-row{width:96vw!important;height:8vh!important;display:flex!important;align-items:center!important;justify-content:space-between!important}.mfp-footer .footer-left{display:flex!important;align-items:center!important;gap:2vw!important}.mfp-footer .footer-text-container{display:flex!important;flex-direction:column!important;justify-content:center!important}@media (orientation: landscape) and (hover: none) and (pointer: coarse){.mfp-header-spacer{height:8vh}}[data-theme=light] .mfp-layout-root{background:#f7f6f2!important;color:#0a0a0a!important}[data-theme=light] .mfp-header{background:#fffffff2!important;border-bottom:.1vh solid #e6e6e6!important}[data-theme=light] .mfp-footer{background:#fffffff2!important;border-top:.1vh solid #e6e6e6!important}[data-theme=light] .mfp-logo{color:#0a0a0a!important}[data-theme=light] .mfp-logo img{filter:brightness(0) invert(0)!important}[data-theme=light] .mfp-logo-text,[data-theme=light] .mfp-signin{color:#0a0a0a!important}[data-theme=light] .mfp-signin:hover{color:#324bc7!important}[data-theme=light] .footer-container{border-top-color:#e6e6e6!important}[data-theme=light] .footer-text{color:#2a2a2a!important}[data-theme=light] .footer-menu-item{color:#0a0a0a!important}[data-theme=light] .footer-link{color:#2a2a2a!important}[data-theme=light] .footer-link:hover{color:#0a0a0a!important}:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width: 480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.call-dialog-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:59999;animation:fadeIn .3s ease-in-out}.call-dialog{width:25vw;background-color:var(--bg-main);border-radius:1vw;box-shadow:0 .5vh 2vh #0003;overflow:hidden;display:flex;flex-direction:column;animation:slideIn .3s ease-in-out}.call-dialog-header{padding:1.5vh 1.5vw;background-color:var(--bg-secondary);border-bottom:.05vh solid var(--border-default)}.call-dialog-header h3{font-size:1.6vh;font-weight:600;margin:0;color:var(--text-heading);text-align:center}.call-dialog-content{padding:3vh 2vw;display:flex;flex-direction:column;align-items:center;gap:2vh}.call-dialog-avatar{position:relative;width:8vw;height:8vw;border-radius:50%;overflow:hidden;background-color:var(--bg-tertiary);border:.2vh solid var(--accent-primary)}.call-dialog-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.call-avatar-placeholder{width:100%;height:100%;display:flex;justify-content:center;align-items:center;font-size:4vh;font-weight:500;color:var(--text-heading);background-color:var(--accent-secondary)}.call-type-icon{position:absolute;bottom:0;right:0;width:2.5vw;height:2.5vw;background-color:var(--accent-primary);border-radius:50%;display:flex;justify-content:center;align-items:center;color:#fff;font-size:1.2vh;border:.2vh solid var(--bg-main)}.call-info{text-align:center}.caller-name{font-size:2vh;font-weight:600;color:var(--text-heading);margin-bottom:.5vh}.call-status{font-size:1.4vh;color:var(--text-secondary);animation:pulse 1.5s infinite}.call-dialog-actions{display:flex;justify-content:space-around;padding:2vh 1vw;border-top:.05vh solid var(--border-default);background-color:var(--bg-secondary)}.call-dialog-actions button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1vh;padding:1vh 1vw;border-radius:.5vw;border:none;cursor:pointer;width:8vw;height:8vh;transition:all .2s ease}.reject-call-btn{background-color:var(--error-bg);color:var(--error-text)}.reject-call-btn:hover{background-color:var(--error-bg-hover)}.accept-call-btn{background-color:var(--success-bg);color:var(--success-text)}.accept-call-btn:hover{background-color:var(--success-bg-hover)}.call-dialog-actions button svg{font-size:2.5vh;margin-bottom:.5vh}@keyframes slideIn{0%{transform:translateY(-5vh);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 768px){.call-dialog{width:80vw}.call-dialog-avatar{width:20vw;height:20vw}.call-type-icon{width:5vw;height:5vw}.call-dialog-actions button{width:30vw}}.call-status-overlay{position:fixed;top:20px;right:20px;z-index:9999;pointer-events:none}.call-status-indicator{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:20px;color:#fff;box-shadow:0 10px 30px #0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);min-width:300px;pointer-events:auto;animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.call-status-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.call-status-icon{width:32px;height:32px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:14px}.call-status-icon .spinning{animation:spin 1s linear infinite}.call-status-info{flex:1}.call-recipient-name{font-weight:600;font-size:16px;margin-bottom:4px}.call-status-text{font-size:14px;opacity:.9}.call-status-avatar{position:relative;display:flex;justify-content:center;margin-bottom:16px}.call-status-avatar img,.call-avatar-placeholder{width:80px;height:80px;border-radius:50%;border:3px solid rgba(255,255,255,.3)}.call-avatar-placeholder{background:#fff3;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:600}.call-type-badge{position:absolute;bottom:0;right:50%;transform:translate(50%);width:24px;height:24px;background:#4caf50;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;border:2px solid white}.call-pulse-animation{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.pulse-ring{position:absolute;border:2px solid rgba(255,255,255,.5);border-radius:50%;animation:pulse 2s ease-out infinite;width:100px;height:100px;top:-50px;left:-50px}.pulse-ring.delay-1{animation-delay:.5s}.pulse-ring.delay-2{animation-delay:1s}@keyframes pulse{0%{transform:scale(.8);opacity:1}to{transform:scale(1.4);opacity:0}}.call-status-actions{display:flex;justify-content:center;margin-bottom:12px}.end-call-btn{background:#f44336;color:#fff;border:none;border-radius:25px;padding:10px 20px;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #f443364d}.end-call-btn:hover{background:#d32f2f;transform:translateY(-1px);box-shadow:0 6px 16px #f4433666}.end-call-btn:active{transform:translateY(0)}.call-status-indicators{display:flex;align-items:center;justify-content:center;gap:8px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.status-dot{width:8px;height:8px;border-radius:50%;background:#4caf50;animation:statusPulse 2s ease-in-out infinite}.status-dot.initiating{background:#ff9800}.status-dot.ringing{background:#2196f3;animation:statusPulse 1s ease-in-out infinite}.status-dot.connecting{background:#9c27b0}.status-dot.connected{background:#4caf50;animation:none}@keyframes statusPulse{0%,to{opacity:1}50%{opacity:.5}}.status-label{font-size:12px;font-weight:500;opacity:.8}@media (max-width: 768px){.call-status-overlay{top:10px;right:10px;left:10px}.call-status-indicator{min-width:auto;padding:16px}.call-status-avatar img,.call-avatar-placeholder{width:60px;height:60px}.pulse-ring{width:80px;height:80px;top:-40px;left:-40px}}@media (prefers-color-scheme: dark){.call-status-indicator{background:linear-gradient(135deg,#2d3748,#4a5568);border-color:#fff3}}.call-interface-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000c;display:flex;justify-content:center;align-items:center;z-index:59999}.call-interface{width:90vw;height:90vh;display:flex;flex-direction:column;background-color:var(--bg-main);border-radius:1vw;overflow:hidden;box-shadow:0 .5vh 2vh #0000004d}.call-header{height:5vh;display:flex;justify-content:space-between;align-items:center;padding:0 1.5vw;background-color:var(--bg-secondary);border-bottom:.05vh solid var(--border-default)}.call-title{display:flex;align-items:center}.call-title h3{font-size:1.6vh;font-weight:600;margin:0;color:var(--text-heading);display:flex;align-items:center;gap:.5vw}.group-icon{color:var(--accent-primary);margin-left:.5vw}.connecting-indicator{font-size:1.2vh;color:var(--text-secondary);margin-left:1vw;display:flex;align-items:center;animation:pulse 1.5s infinite}.call-timer{font-size:1.4vh;color:var(--text-secondary);font-family:monospace}.video-grid{flex:1;display:grid;padding:1.5vh 1.5vw;gap:1vh 1vw;background-color:var(--bg-tertiary);overflow:hidden}.video-grid.participants-2{grid-template-columns:1fr 1fr}.video-grid.participants-4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.video-grid.participants-6{grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr}.video-grid.participants-many{grid-template-columns:repeat(auto-fill,minmax(25%,1fr));grid-auto-rows:1fr}.video-container{position:relative;width:100%;height:100%;background-color:var(--bg-secondary);border-radius:.5vw;overflow:hidden;display:flex;justify-content:center;align-items:center}.video-container.local-video{border:.15vh solid var(--accent-primary)}.video-container.video-off{background-color:var(--bg-tertiary)}.video-element{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;background-color:#2c3e50}.video-element:before{content:"";display:block;height:100%;width:100%}.avatar-placeholder{width:8vw;height:8vw;background-color:var(--bg-card);border-radius:50%;display:flex;justify-content:center;align-items:center;color:var(--text-secondary);font-size:4vh}.participant-info{position:absolute;bottom:1vh;left:1vw;background-color:#00000080;color:#fff;padding:.5vh 1vw;border-radius:.3vw;font-size:1.2vh;display:flex;align-items:center;gap:.5vw}.muted-icon{color:var(--error-text)}.screen-share-indicator{position:absolute;top:1vh;right:1vw;background-color:#00000080;color:#fff;padding:.5vh 1vw;border-radius:.3vw;font-size:1.2vh;display:flex;align-items:center;gap:.5vw}.connecting-placeholder{background-color:var(--bg-tertiary)}.connecting-animation{display:flex;justify-content:center;align-items:center;gap:1vw}.connecting-dot{width:1vw;height:1vw;background-color:var(--accent-primary);border-radius:50%;opacity:.6}.connecting-dot:nth-child(1){animation:dotPulse 1.2s infinite ease-in-out}.connecting-dot:nth-child(2){animation:dotPulse 1.2s infinite ease-in-out .4s}.connecting-dot:nth-child(3){animation:dotPulse 1.2s infinite ease-in-out .8s}.call-controls{height:10vh;display:flex;justify-content:center;align-items:center;gap:2vw;background-color:var(--bg-secondary);border-top:.05vh solid var(--border-default)}.control-button{width:5vw;height:5vw;border-radius:50%;display:flex;justify-content:center;align-items:center;border:none;background-color:var(--bg-tertiary);color:var(--text-secondary);font-size:2vh;cursor:pointer;transition:all .2s ease}.control-button:hover{background-color:var(--bg-hover);transform:scale(1.05)}.control-button.active{background-color:var(--accent-primary);color:#fff}.control-button.end-call{background-color:var(--error-bg);color:var(--error-text)}.control-button.end-call:hover{background-color:var(--error-bg-hover)}@keyframes pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}@keyframes dotPulse{0%,to{transform:scale(.7);opacity:.5}50%{transform:scale(1.2);opacity:1}}@media (max-width: 768px){.call-interface{width:100vw;height:100vh;border-radius:0}.video-grid{padding:1vh 1vw}.video-grid.participants-2,.video-grid.participants-4{grid-template-columns:1fr;grid-auto-rows:1fr}.video-grid.participants-6,.video-grid.participants-many{grid-template-columns:1fr 1fr;grid-auto-rows:1fr}.control-button{width:12vw;height:12vw;font-size:4vw}.avatar-placeholder{width:20vw;height:20vw}}.mastery-badge-shield{display:flex;align-items:center;justify-content:center;position:relative;left:0;top:0;margin:0 auto;z-index:10;pointer-events:none;width:100%;height:100%}.shield-score-display{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;pointer-events:none;z-index:2}.shield-score-value{position:absolute;top:-25%;left:50%;font-size:1.8vh;font-weight:700;font-family:IBM Plex Mono,monospace;color:#fff;text-shadow:0 0 .5vh rgba(0,0,0,.8),0 0 1vh rgba(0,0,0,.6),0 0 1.5vh rgba(0,0,0,.4);text-align:center;transform:translate(-50%);white-space:nowrap}.shield-tier-name{position:absolute;bottom:-20%;left:50%;font-size:1.2vh;opacity:1;font-weight:600;text-transform:uppercase;letter-spacing:.1vh;color:#fff;text-shadow:0 0 .5vh rgba(0,0,0,.8),0 0 1vh rgba(0,0,0,.6),0 0 1.5vh rgba(0,0,0,.4);text-align:center;transform:translate(-50%);white-space:nowrap}.segment{transition:opacity .3s ease-out,fill .3s ease-out}.segment.active{animation:pulse 2s infinite}.energy-field{animation:pulse 3s infinite}.shield-outline{animation:shine 4s infinite}@keyframes pulse{0%{opacity:.7}50%{opacity:1}to{opacity:.7}}@keyframes shine{0%{stroke-opacity:.4;stroke-width:.01}50%{stroke-opacity:.8;stroke-width:.02}to{stroke-opacity:.4;stroke-width:.01}}.shield-diamond .segment.active{animation:diamondPulse 1.5s infinite}.shield-platinum .segment.active{animation:platinumPulse 1.5s infinite}.shield-gold .segment.active{animation:goldPulse 2s infinite}.shield-silver .segment.active{animation:silverPulse 2.5s infinite}.shield-bronze .segment.active{animation:bronzePulse 3s infinite}@keyframes diamondPulse{0%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}to{opacity:.7;transform:scale(1)}}@keyframes platinumPulse{0%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}to{opacity:.7;transform:scale(1)}}@keyframes goldPulse{0%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}to{opacity:.7;transform:scale(1)}}@keyframes silverPulse{0%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}to{opacity:.7;transform:scale(1)}}@keyframes bronzePulse{0%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.01)}to{opacity:.7;transform:scale(1)}}.stats-grid{display:grid;grid-template-rows:repeat(3,auto);-moz-column-gap:0;column-gap:0;row-gap:0!important;box-sizing:border-box;align-items:center;margin:0}.stats-label{display:none}.stats-pair{display:flex;align-items:center;position:relative;cursor:pointer;padding:.3vh .6vw;border-radius:.4vw}.stats-icon{text-align:center;font-size:2.19vh;display:flex;align-items:center;justify-content:center;padding:0;position:relative;margin-right:.5vw}.stats-icon-svg{width:2.2vh;height:2.2vh;display:inline-block;vertical-align:middle}.stats-icon:before,.stats-icon:after{display:none!important;content:none!important}.stats-value{text-align:left;font-family:IBM Plex Mono,monospace;font-size:1.8vh;line-height:1.3;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0;display:flex;align-items:center}.stats-pair-top-left{grid-column:1 / span 2;grid-row:1}.stats-pair-top-center{grid-column:4 / span 2;grid-row:1}.stats-pair-top-right{grid-column:7 / span 2;grid-row:1}.stats-pair-middle-left{grid-column:1 / span 2;grid-row:2}.stats-pair-middle-center{grid-column:4 / span 2;grid-row:2}.stats-pair-middle-right{grid-column:7 / span 2;grid-row:2}.stats-pair-bottom-left{grid-column:1 / span 2;grid-row:3}.stats-pair-bottom-center{grid-column:4 / span 2;grid-row:3}.stats-pair-bottom-right{grid-column:7 / span 2;grid-row:3}.stats-grid:has(.stats-hovered) .stats-hovered{background-color:#ffffff0d}.stats-pair:hover:before{content:attr(data-label);position:absolute;top:-2.5vh;left:50%;transform:translate(-50%);background-color:#000000bf;color:#fff;font-size:1.2vh;padding:.5vh .75vw;border-radius:.3vw;white-space:nowrap;z-index:100;font-family:IBM Plex Mono,monospace;font-weight:300}.stats-pair:hover:after{content:"";position:absolute;top:-.75vh;left:50%;transform:translate(-50%);border-width:.5vh;border-style:solid;border-color:rgba(0,0,0,.75) transparent transparent transparent;z-index:100}.stats-primary{color:var(--accent-primary)}.stats-secondary{color:var(--accent-secondary)}.stats-tertiary{color:var(--accent-tertiary)}.stats-success{color:var(--green-gamified)}.stats-danger{color:var(--red-gamified)}.stats-gold{color:var(--gold-gamified)}.stats-blue{color:var(--blue-gamified)}.stats-purple{color:var(--purple-gamified)}.stats-energy{color:var(--energy-blue, var(--blue-gamified))}.enhanced-student-card__stats.stats-grid{margin:0 auto!important;width:100%!important;left:0!important;right:0!important;position:relative!important}.stats-grid.no-background{background-color:transparent!important;background:none!important;box-shadow:none!important;border:none!important}@media (max-width: 76.8vw){.stats-grid{row-gap:.5vh!important;font-size:.9rem}.stats-icon{font-size:2.19dvh;min-width:16px}.stats-icon-svg{width:2.2dvh;height:2.2dvh;min-width:14px;min-height:14px}.stats-value{font-size:1.8dvh;min-width:30px}.stats-pair{white-space:nowrap;padding:.3dvh .6dvw}}@media (max-width: 48vw){.stats-grid{grid-template-columns:2dvw 5.5dvw .5dvw 2dvw 5.5dvw .5dvw 2dvw 5.5dvw!important;font-size:.8rem}.stats-icon{min-width:14px;margin-right:.8vw}.stats-value{min-width:24px;font-size:1.2vh}}.stat-icon{composes:stats-icon}.stat-label{composes:stats-label}.stat-value{composes:stats-value}.stats-grid-compact{display:grid;grid-template-columns:1fr 1fr;grid-gap:.5rem;padding:.5rem}.stats-label-compact-left{grid-column:1;grid-row:1;text-align:center}.stats-pair-compact-left{grid-column:1;grid-row:2;justify-content:center}.stats-label-compact-right{grid-column:2;grid-row:1;text-align:center}.stats-pair-compact-right{grid-column:2;grid-row:2;justify-content:center}.enhanced-student-card--compact{padding:.75rem}.enhanced-student-card--compact .enhanced-student-card__header{padding:.5rem}.enhanced-student-card--compact .enhanced-student-card__title{font-size:.9rem;line-height:1.2;max-height:2.4rem}.enhanced-student-card--compact .enhanced-student-card__buttons-container{margin-left:.5rem}.enhanced-student-card--compact .enhanced-student-card__button{padding:.3rem .5rem;font-size:.8rem;min-width:60px}.enhanced-student-card--compact .enhanced-student-card__concept-text,.enhanced-student-card--compact .enhanced-student-card__timestamp,.enhanced-student-card--compact .enhanced-student-card__id{font-size:.7rem}.enhanced-student-card--compact .enhanced-student-card__images-row{grid-template-columns:1fr 1fr;gap:.5rem;padding:.5rem}.enhanced-student-card--compact .enhanced-student-card__shield-column{justify-content:center}@media (max-width: 768px){.enhanced-student-card--compact .enhanced-student-card__title-row{flex-direction:column;align-items:flex-start}.enhanced-student-card--compact .enhanced-student-card__buttons-container{margin:.5rem 0 0;width:100%;justify-content:space-between}.enhanced-student-card--compact .enhanced-student-card__info-row{flex-direction:column;align-items:flex-start}.enhanced-student-card--compact .enhanced-student-card__metadata{margin-top:.25rem}}@media (max-width: 480px){.enhanced-student-card{width:100%!important;margin:.5rem 0!important;box-sizing:border-box!important}.enhanced-student-card__header-container{width:100%!important;padding:.5rem!important}.enhanced-student-card__title{font-size:.9rem!important;max-width:100%!important}.enhanced-student-card__buttons-container{flex-wrap:wrap!important;margin-top:.5rem!important}.enhanced-student-card__button{margin-bottom:.3rem!important;padding:.3rem .6rem!important}.enhanced-student-card__images-container{width:100%!important}.enhanced-student-card__stats-container{width:100%!important;overflow:hidden!important}.stats-grid{padding:.5rem!important;width:100%!important;overflow:hidden!important}}.stats-grid-compact-full{transform:scale(.9);transform-origin:center top;font-size:.85rem;gap:.3rem!important}.stats-grid-compact-full .stats-icon{font-size:1.5vh;min-width:14px}.stats-grid-compact-full .stats-icon-svg{width:1.5vh;height:1.5vh;min-width:12px;min-height:12px}.stats-grid-compact-full .stats-value{font-size:1.3vh;min-width:20px}.stats-grid-compact-full .stats-pair{padding:.2vh .2vw;white-space:nowrap}@media (max-width: 480px){.stats-grid-compact-full{transform:scale(.85);font-size:.8rem}.stats-grid-compact-full .stats-pair{padding:.1vh .1vw}.stats-grid-compact-full .stats-icon{font-size:1.3vh;min-width:12px}.stats-grid-compact-full .stats-icon-svg{width:1.3vh;height:1.3vh;min-width:10px;min-height:10px}.stats-grid-compact-full .stats-value{font-size:1.1vh;min-width:18px}}@media (max-width: 320px){.stats-grid-compact-full{transform:scale(.8)}}.min-width-16{min-width:1.6vw}.min-width-14{min-width:1.4vw}.min-height-14{min-height:1.4vh}.min-width-30{min-width:3vw}.min-width-60{min-width:6vw}.card{--card-radius: 12px;--card-padding: 1.25rem;--card-shadow: 0 4px 12px rgba(0, 0, 0, .15);--card-shadow-hover: 0 8px 16px rgba(0, 0, 0, .25);--card-transition: all .3s ease;border-radius:var(--card-radius);box-shadow:var(--card-shadow);transition:var(--card-transition);overflow:hidden;position:relative;display:flex;flex-direction:column;background-color:#1a1a1a;color:#eee}.card-default{background-color:#1a1a1a;border:1px solid rgba(255,255,255,.1);color:#eee}.card-primary{background-color:var(--blue-gamified, #002f50);color:#fff}.card-secondary{background-color:var(--purple-gamified, #300040);color:#fff}.card-gradient{background:linear-gradient(to right,var(--purple-gamified, #640032),var(--blue-gamified, #300040));color:#fff}.card-outline{background-color:transparent;border:2px solid rgba(255,255,255,.1);box-shadow:none;color:#eee}.card-small{padding:.75rem;font-size:.875rem}.card-medium{padding:var(--card-padding);font-size:1rem}.card-large{padding:1.5rem;font-size:1.125rem}.card-hoverable:hover{transform:translateY(-4px);box-shadow:var(--card-shadow-hover)}.card-clickable{cursor:pointer}.card-clickable:focus{outline:2px solid var(--blue-gamified, #002f50);outline-offset:2px}.card-full-width{width:100%}.card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.1)}.card-primary .card-header,.card-secondary .card-header,.card-gradient .card-header{border-bottom-color:#fff3}.card-body{flex:1 1 auto;padding-bottom:.5rem}.card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.1)}.card-primary .card-footer,.card-secondary .card-footer,.card-gradient .card-footer{border-top-color:#fff3}.card,[data-theme=light] .card{background-color:#1a1a1a!important;color:#eee!important}.card-default,[data-theme=light] .card-default{background-color:#1a1a1a!important;border:1px solid rgba(255,255,255,.1)!important;color:#eee!important}.card-outline,[data-theme=light] .card-outline{background-color:transparent!important;border:2px solid rgba(255,255,255,.1)!important;color:#eee!important}.card-header,[data-theme=light] .card-header{border-bottom:1px solid rgba(255,255,255,.1)!important;color:#eee!important}.card-footer,[data-theme=light] .card-footer{border-top:1px solid rgba(255,255,255,.1)!important;color:#eee!important}.card-subtitle,[data-theme=light] .card-subtitle{color:#aaa!important}.card-text,[data-theme=light] .card-text,.card-title,[data-theme=light] .card-title{color:#eee!important}.card-clickable:active{transform:translateY(2px);box-shadow:0 2px 8px #00000026;transition:transform .1s ease,box-shadow .1s ease}@media (max-width: 768px){.card{--card-padding: 1rem}.card-large{padding:1.25rem}}.card-title{font-weight:600;margin-top:0;margin-bottom:.5rem;line-height:1.4}.card-subtitle{font-size:.875rem;color:#aaa;margin-top:0;margin-bottom:.75rem}.card-primary .card-subtitle,.card-secondary .card-subtitle,.card-gradient .card-subtitle{color:#ffffffb3}.card-text{line-height:1.5;margin-bottom:1rem}.card-small .card-title{font-size:1rem}.card-medium .card-title{font-size:1.25rem}.card-large .card-title{font-size:1.5rem}.card-content-center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.card-accent-top{border-top:4px solid var(--purple-gamified, #300040)}.card-accent-left{border-left:4px solid var(--purple-gamified, #300040)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}@media (max-width: 640px){.card-grid{grid-template-columns:1fr}}.student-card-page-2{min-height:100vh;padding:2vh 2vw;display:flex;flex-direction:column;align-items:center;overflow:visible}.student-card-page{width:100%}.page-content-layout{display:grid;gap:2vh 2vw;justify-content:center}.enhanced-card-section{margin-bottom:2vh}.section-title{margin-bottom:1.5vh}.enhanced-student-card{width:30vw;height:36vh;margin:0 auto;border-radius:1.5vw;overflow:visible;position:relative;display:flex;flex-direction:column;padding:.75vh;box-sizing:border-box}.enhanced-student-card__header-container{padding-bottom:1vh;margin-bottom:1vh}.enhanced-student-card__images-container{flex:1;padding-top:1vh;padding-bottom:1vh;margin-bottom:1vh}.enhanced-student-card__stats-container{padding-bottom:.5vh}.enhanced-student-card__header{padding:.75vh 1.5vw .35vh;position:relative;display:flex;flex-direction:column}.enhanced-student-card__title-row{display:flex;position:relative;margin-bottom:.5vh;justify-content:space-between;align-items:center}.enhanced-student-card__title{margin:0;font-size:1.8vh;max-width:15vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;flex:0 1 auto;font-family:Saira,sans-serif;font-weight:500}.enhanced-student-card__title:hover:before{content:attr(data-full-title);position:absolute;top:-3vh;left:0;background-color:#000c;color:#fff;padding:.5vh 1vw;border-radius:.4vw;font-size:1.5vh;white-space:normal;max-width:25vw;z-index:1000;box-shadow:0 0 .5vh #00000080}.enhanced-student-card__buttons-container{display:flex;align-items:center;gap:.8vw;flex:0 0 auto;margin-left:1vw}.enhanced-student-card__button{border-radius:.75vh;padding:.25vh 1vw;height:3vh;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.8vh;cursor:pointer;transition:all .2s ease}.enhanced-student-card__button:hover{filter:brightness(1.3)}.enhanced-student-card__button--disabled{opacity:.5;cursor:not-allowed}.enhanced-student-card__button--disabled:hover{filter:none!important;box-shadow:none!important;background-color:inherit!important}.enhanced-student-card--red .enhanced-student-card__button:hover{box-shadow:0 0 1.5vh #ff3a5ecc;background-color:#3c282de6}.enhanced-student-card--blue .enhanced-student-card__button:hover{box-shadow:0 0 1.5vh #3a8affcc;background-color:#282d37e6}.enhanced-student-card--green .enhanced-student-card__button:hover{box-shadow:0 0 1.5vh #3aff8acc;background-color:#28372de6}.enhanced-student-card--yellow .enhanced-student-card__button:hover{box-shadow:0 0 1.5vh #ffda3acc;background-color:#373228e6}.enhanced-student-card__info-row{display:flex;justify-content:space-between;align-items:center;padding-top:.5vh;padding-bottom:.5vh}.enhanced-student-card__concept-text{margin:0;font-size:1.25vh;font-family:DM Sans,sans-serif;font-weight:300}.enhanced-student-card__metadata{display:flex;align-items:center;gap:1vw}.enhanced-student-card__timestamp{font-size:1.25vh;font-family:IBM Plex Mono,monospace}.enhanced-student-card__timestamp{color:#fff9}.enhanced-student-card__id{font-size:1.25vh;font-family:IBM Plex Mono,monospace}.enhanced-student-card__images-row{display:flex;position:relative;height:9.375vh;flex:1}.enhanced-student-card__shield-column{width:12.5vw;position:relative;display:flex;align-items:center;justify-content:center}.enhanced-student-card__shield-container{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.enhanced-student-card__theme-image-column{width:15vw;height:100%;position:relative;overflow:hidden;border-radius:.75vw;margin:0 auto}.enhanced-student-card__theme-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.enhanced-student-card__theme-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;opacity:.7;filter:grayscale(50%)}.enhanced-student-card__photo-column{width:12.5vw;display:flex;justify-content:center;align-items:center}.enhanced-student-card__photo-container{width:8vh;height:8vh;border-radius:50%;overflow:hidden}.enhanced-student-card__photo{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.enhanced-student-card__stats{position:relative;z-index:2;margin:0;padding:0}.enhanced-student-card--red{background-color:#281e23f2;box-shadow:0 0 1.5vh #ff3a5e66,0 0 .5vh #ff3a5e33 inset;border:.1vh solid rgba(255,58,94,.5)}.enhanced-student-card--red .enhanced-student-card__title{color:#ff3a5e;text-shadow:0 0 1vh rgba(255,58,94,.5)}.enhanced-student-card--red .enhanced-student-card__button{background-color:#281e23b3;box-shadow:0 0 1vh #ff3a5e80;border:.1vh solid #ff3a5e;color:#ff3a5e;text-shadow:0 0 .5vh rgba(255,58,94,.5)}.enhanced-student-card--red .enhanced-student-card__concept-text,.enhanced-student-card--red .enhanced-student-card__timestamp,.enhanced-student-card--red .enhanced-student-card__id{color:#ff8fa3}.enhanced-student-card--red .enhanced-student-card__shield-container{filter:drop-shadow(0 0 1vh rgba(255,58,94,.5))}.enhanced-student-card--red .enhanced-student-card__theme-image-column{border:.1vh solid #ff3a5e;box-shadow:0 0 1.5vh #ff3a5e4d inset}.enhanced-student-card--red .enhanced-student-card__theme-overlay{background-color:#ff3a5e33}.enhanced-student-card--red .enhanced-student-card__photo-container{border:.125vh solid #ff3a5e;box-shadow:0 0 1.5vh #ff3a5e66}.enhanced-student-card--blue{background-color:#1e2328f2;box-shadow:0 0 1.5vh #3a8aff66,0 0 .5vh #3a8aff33 inset;border:.1vh solid rgba(58,138,255,.5)}.enhanced-student-card--blue .enhanced-student-card__title{color:#3a8aff;text-shadow:0 0 1vh rgba(58,138,255,.5)}.enhanced-student-card--blue .enhanced-student-card__button{background-color:#1e2328b3;box-shadow:0 0 1vh #3a8aff80;border:.1vh solid #3a8aff;color:#3a8aff;text-shadow:0 0 .5vh rgba(58,138,255,.5)}.enhanced-student-card--blue .enhanced-student-card__concept-text,.enhanced-student-card--blue .enhanced-student-card__timestamp,.enhanced-student-card--blue .enhanced-student-card__id{color:#8fbaff}.enhanced-student-card--blue .enhanced-student-card__shield-container{filter:drop-shadow(0 0 1vh rgba(58,138,255,.5))}.enhanced-student-card--blue .enhanced-student-card__theme-image-column{border:.1vh solid #3a8aff;box-shadow:0 0 1.5vh #3a8aff4d inset}.enhanced-student-card--blue .enhanced-student-card__theme-overlay{background-color:#3a8aff33}.enhanced-student-card--blue .enhanced-student-card__photo-container{border:.125vh solid #3a8aff;box-shadow:0 0 1.5vh #3a8aff66}.enhanced-student-card--green{background-color:#1e2823f2;box-shadow:0 0 1.5vh #3aff8a66,0 0 .5vh #3aff8a33 inset;border:.1vh solid rgba(58,255,138,.5)}.enhanced-student-card--green .enhanced-student-card__title{color:#3aff8a;text-shadow:0 0 1vh rgba(58,255,138,.5)}.enhanced-student-card--green .enhanced-student-card__button{background-color:#1e2823b3;box-shadow:0 0 1vh #3aff8a80;border:.1vh solid #3aff8a;color:#3aff8a;text-shadow:0 0 .5vh rgba(58,255,138,.5)}.enhanced-student-card--green .enhanced-student-card__concept-text,.enhanced-student-card--green .enhanced-student-card__timestamp,.enhanced-student-card--green .enhanced-student-card__id{color:#8fffc0}.enhanced-student-card--green .enhanced-student-card__shield-container{filter:drop-shadow(0 0 1vh rgba(58,255,138,.5))}.enhanced-student-card--green .enhanced-student-card__theme-image-column{border:.1vh solid #3aff8a;box-shadow:0 0 1.5vh #3aff8a4d inset}.enhanced-student-card--green .enhanced-student-card__theme-overlay{background-color:#3aff8a33}.enhanced-student-card--green .enhanced-student-card__photo-container{border:.125vh solid #3aff8a;box-shadow:0 0 1.5vh #3aff8a66}.enhanced-student-card--yellow{background-color:#28261ef2;box-shadow:0 0 1.5vh #ffda3a66,0 0 .5vh #ffda3a33 inset;border:.1vh solid rgba(255,218,58,.5)}.enhanced-student-card--yellow .enhanced-student-card__title{color:#ffda3a;text-shadow:0 0 1vh rgba(255,218,58,.5)}.enhanced-student-card--yellow .enhanced-student-card__button{background-color:#28261eb3;box-shadow:0 0 1vh #ffda3a80;border:.1vh solid #ffda3a;color:#ffda3a;text-shadow:0 0 .5vh rgba(255,218,58,.5)}.enhanced-student-card--yellow .enhanced-student-card__concept-text,.enhanced-student-card--yellow .enhanced-student-card__timestamp,.enhanced-student-card--yellow .enhanced-student-card__id{color:#ffe88f}.enhanced-student-card--yellow .enhanced-student-card__shield-container{filter:drop-shadow(0 0 1vh rgba(255,218,58,.5))}.enhanced-student-card--yellow .enhanced-student-card__theme-image-column{border:.1vh solid #ffda3a;box-shadow:0 0 1.5vh #ffda3a4d inset}.enhanced-student-card--yellow .enhanced-student-card__theme-overlay{background-color:#ffda3a33}.enhanced-student-card--yellow .enhanced-student-card__photo-container{border:.125vh solid #ffda3a;box-shadow:0 0 1.5vh #ffda3a66}.no-background{background-color:transparent!important;background:none!important;box-shadow:none!important;border:none!important}.no-background *{background-color:transparent!important;background:none!important}.student-card-stats table{position:relative!important;width:100%!important}.student-card-stats{background-color:transparent!important;background:none!important;box-shadow:none!important;border:none!important;padding:0!important;box-sizing:border-box!important;margin:0!important}@media (max-width: 1200px){.enhanced-student-card{width:36vw}.enhanced-student-card__title{max-width:18vw}}@media (max-width: 992px){.enhanced-student-card{width:45vw}.enhanced-student-card__concept-text,.enhanced-student-card__timestamp,.enhanced-student-card__id{font-size:1vh}.enhanced-student-card__title{max-width:22vw}.enhanced-student-card__buttons-container{gap:.5vw}.enhanced-student-card__button{padding:.2vh .8vw}}@media (max-width: 768px){.enhanced-student-card{width:100%;height:auto;margin-bottom:1.5rem;display:flex;flex-direction:column}.enhanced-student-card--scaled{transform-origin:top left;width:100%;font-size:.9rem;overflow:visible;margin-bottom:1.5rem;min-height:auto}.enhanced-student-card__header-container{padding:.75rem}.enhanced-student-card__title{font-size:1rem;max-width:none;white-space:normal;overflow:visible;text-overflow:clip;display:block;margin-bottom:.5rem}.enhanced-student-card__title-row{flex-direction:column;align-items:flex-start}.enhanced-student-card__buttons-container{margin-top:.5rem;width:100%;justify-content:flex-start;gap:1rem}.enhanced-student-card__button{padding:.5rem 1rem;font-size:.9rem;height:auto}.enhanced-student-card__images-row{display:grid;grid-template-columns:1fr 2fr 1fr;height:auto;padding:.75rem}.enhanced-student-card__stats-container{padding:.75rem}}@media (max-width: 480px){.enhanced-student-card{width:100%;box-sizing:border-box;min-width:300px}.enhanced-student-card__header{padding:.5rem}.feed-content{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 380px){.enhanced-student-card--scaled{font-size:.8rem}}}.placeholder-text{font-family:Saira,sans-serif;font-size:2.5vh;font-weight:600;opacity:.3}.enhanced-student-card--scaled{transform-origin:top left;width:100%;font-size:.9rem;overflow-x:auto}.enhanced-student-card--scaled .enhanced-student-card__title{font-size:.9rem;line-height:1.2}.enhanced-student-card--scaled .enhanced-student-card__concept-text,.enhanced-student-card--scaled .enhanced-student-card__timestamp,.enhanced-student-card--scaled .enhanced-student-card__id{font-size:.7rem}.enhanced-student-card--scaled .enhanced-student-card__button{padding:.3rem .5rem;font-size:.8rem;min-width:60px}.enhanced-student-card,[data-theme=light] .enhanced-student-card,.enhanced-student-card--red,[data-theme=light] .enhanced-student-card--red,.enhanced-student-card--blue,[data-theme=light] .enhanced-student-card--blue,.enhanced-student-card--green,[data-theme=light] .enhanced-student-card--green,.enhanced-student-card--yellow,[data-theme=light] .enhanced-student-card--yellow{background-color:#281e23f2!important;border:.1vh solid rgba(255,255,255,.3)!important;color:#eee!important}.enhanced-student-card .enhanced-student-card__title,[data-theme=light] .enhanced-student-card .enhanced-student-card__title,.enhanced-student-card--red .enhanced-student-card__title,[data-theme=light] .enhanced-student-card--red .enhanced-student-card__title,.enhanced-student-card--blue .enhanced-student-card__title,[data-theme=light] .enhanced-student-card--blue .enhanced-student-card__title,.enhanced-student-card--green .enhanced-student-card__title,[data-theme=light] .enhanced-student-card--green .enhanced-student-card__title,.enhanced-student-card--yellow .enhanced-student-card__title,[data-theme=light] .enhanced-student-card--yellow .enhanced-student-card__title{color:#eee!important}.enhanced-student-card .enhanced-student-card__concept-text,[data-theme=light] .enhanced-student-card .enhanced-student-card__concept-text,.enhanced-student-card .enhanced-student-card__timestamp,[data-theme=light] .enhanced-student-card .enhanced-student-card__timestamp,.enhanced-student-card .enhanced-student-card__id,[data-theme=light] .enhanced-student-card .enhanced-student-card__id,.enhanced-student-card--red .enhanced-student-card__concept-text,[data-theme=light] .enhanced-student-card--red .enhanced-student-card__concept-text,.enhanced-student-card--red .enhanced-student-card__timestamp,[data-theme=light] .enhanced-student-card--red .enhanced-student-card__timestamp,.enhanced-student-card--red .enhanced-student-card__id,[data-theme=light] .enhanced-student-card--red .enhanced-student-card__id,.enhanced-student-card--blue .enhanced-student-card__concept-text,[data-theme=light] .enhanced-student-card--blue .enhanced-student-card__concept-text,.enhanced-student-card--blue .enhanced-student-card__timestamp,[data-theme=light] .enhanced-student-card--blue .enhanced-student-card__timestamp,.enhanced-student-card--blue .enhanced-student-card__id,[data-theme=light] .enhanced-student-card--blue .enhanced-student-card__id,.enhanced-student-card--green .enhanced-student-card__concept-text,[data-theme=light] .enhanced-student-card--green .enhanced-student-card__concept-text,.enhanced-student-card--green .enhanced-student-card__timestamp,[data-theme=light] .enhanced-student-card--green .enhanced-student-card__timestamp,.enhanced-student-card--green .enhanced-student-card__id,[data-theme=light] .enhanced-student-card--green .enhanced-student-card__id,.enhanced-student-card--yellow .enhanced-student-card__concept-text,[data-theme=light] .enhanced-student-card--yellow .enhanced-student-card__concept-text,.enhanced-student-card--yellow .enhanced-student-card__timestamp,[data-theme=light] .enhanced-student-card--yellow .enhanced-student-card__timestamp,.enhanced-student-card--yellow .enhanced-student-card__id,[data-theme=light] .enhanced-student-card--yellow .enhanced-student-card__id{color:#aaa!important}.enhanced-student-card .enhanced-student-card__button,[data-theme=light] .enhanced-student-card .enhanced-student-card__button,.enhanced-student-card--red .enhanced-student-card__button,[data-theme=light] .enhanced-student-card--red .enhanced-student-card__button,.enhanced-student-card--blue .enhanced-student-card__button,[data-theme=light] .enhanced-student-card--blue .enhanced-student-card__button,.enhanced-student-card--green .enhanced-student-card__button,[data-theme=light] .enhanced-student-card--green .enhanced-student-card__button,.enhanced-student-card--yellow .enhanced-student-card__button,[data-theme=light] .enhanced-student-card--yellow .enhanced-student-card__button{background-color:#281e23f2!important;border:.1vh solid rgba(255,255,255,.3)!important;color:#eee!important}.enhanced-student-card *,[data-theme=light] .enhanced-student-card *,.enhanced-student-card--red *,[data-theme=light] .enhanced-student-card--red *,.enhanced-student-card--blue *,[data-theme=light] .enhanced-student-card--blue *,.enhanced-student-card--green *,[data-theme=light] .enhanced-student-card--green *,.enhanced-student-card--yellow *,[data-theme=light] .enhanced-student-card--yellow *{color:inherit!important}.brain-icon{display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease-in-out;border-radius:50%;position:relative}.brain-icon:hover{transform:scale(1.1);filter:brightness(1.2)}.brain-icon.clickable{cursor:pointer}.brain-icon-img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.brain-icon-img.status-blue{filter:brightness(.7) saturate(1.2) hue-rotate(195deg);opacity:1}.brain-icon-img.status-green{filter:brightness(.7) saturate(1.2) hue-rotate(100deg);opacity:1}.brain-icon-img.status-red{filter:brightness(.7) saturate(1.2) hue-rotate(0deg);opacity:1}.brain-icon-img.status-yellow,.brain-icon-img.status-gold{filter:brightness(.8) saturate(1.5) hue-rotate(40deg);opacity:1}.dark-theme .brain-icon-img.status-blue{filter:brightness(1) saturate(1.5) hue-rotate(195deg);opacity:1}.dark-theme .brain-icon-img.status-green{filter:brightness(1) saturate(1.5) hue-rotate(100deg);opacity:1}.dark-theme .brain-icon-img.status-red{filter:brightness(1) saturate(1.5) hue-rotate(0deg);opacity:1}.dark-theme .brain-icon-img.status-yellow,.dark-theme .brain-icon-img.status-gold{filter:brightness(1) saturate(1.8) hue-rotate(40deg);opacity:1}.brain-icon.x-small{width:16px;height:16px}.brain-icon.small{width:24px}.brain-icon.medium{width:18px;height:18px}.brain-icon.large{width:22px;height:22px}.brain-icon.blue:hover{box-shadow:0 0 8px #4a90e2b3}.brain-icon.green:hover{box-shadow:0 0 8px #4caf50b3}.brain-icon.red:hover{box-shadow:0 0 8px #f44336b3}.brain-icon.gold:hover,.brain-icon.yellow:hover{box-shadow:0 0 8px #ffd700b3}.brain-icon.purple:hover{box-shadow:0 0 8px #9c27b0b3}.dark-theme .brain-icon.blue{box-shadow:0 0 6px #4a90e2b3}.dark-theme .brain-icon.green{box-shadow:0 0 6px #4caf50b3}.dark-theme .brain-icon.red{box-shadow:0 0 6px #f44336b3}.dark-theme .brain-icon.gold,.dark-theme .brain-icon.yellow{box-shadow:0 0 6px #ffd700b3}.dark-theme .brain-icon.purple{box-shadow:0 0 6px #9c27b0b3}.dark-theme .brain-icon.blue:hover{box-shadow:0 0 10px #4a90e2e6}.dark-theme .brain-icon.green:hover{box-shadow:0 0 10px #4caf50e6}.dark-theme .brain-icon.red:hover{box-shadow:0 0 10px #f44336e6}.dark-theme .brain-icon.gold:hover,.dark-theme .brain-icon.yellow:hover{box-shadow:0 0 10px #ffd700e6}.dark-theme .brain-icon.purple:hover{box-shadow:0 0 10px #9c27b0e6}.brain-stack-container{display:flex;flex-direction:row;align-items:flex-start;justify-content:center;position:relative;gap:2px;height:100%;min-height:50px}.brain-stack-compact{min-height:30px;gap:1px;transform:scale(.9)}.brain-column{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;min-width:8px;margin:0 4px}.brain-stack-compact .brain-column{gap:1px;min-width:6px;margin:0 2px}.blue-column{order:1}.green-column{order:2}.yellow-column{order:3}.red-column{order:4}.brain-column .brain-icon{animation:brainPop .3s ease-out;animation-fill-mode:both;margin:0}.brain-stack-compact .brain-icon{animation-duration:.2s}.brain-stack{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;gap:1px}.multiple-brains .brain-stack{flex-wrap:nowrap;max-height:50px;justify-content:flex-start;overflow:visible}.brain-stack .brain-icon{animation:brainPop .3s ease-out;animation-fill-mode:both;margin:0 1px}.multiple-brains .brain-icon{transform:scale(.85)}.brain-overflow-indicator{font-size:8px;color:#666;text-align:center;margin-top:1px;font-weight:700}.brain-overflow-indicator.compact{font-size:6px;margin-top:0}.brain-overflow-indicator span{background:#0000001a;border-radius:3px;padding:1px 2px}.dark-theme .brain-overflow-indicator{color:#fffc}.dark-theme .brain-overflow-indicator span{background:#ffffff26;box-shadow:0 0 3px #ffffff4d}.brain-overflow-indicator.compact span{padding:0 1px}@keyframes brainPop{0%{opacity:0;transform:scale(.5) translateY(10px)}70%{transform:scale(1.1) translateY(-2px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width: 480px){.brain-stack-container{min-height:35px}.brain-stack-compact{min-height:25px}}.dashboard-page{padding:0;height:100vh;display:flex;flex-direction:column}.dashboard-content{display:flex;flex-direction:column;height:91vh;overflow:hidden;border-top:.01px solid var(--border-default);width:87vw}.dashboard-container{display:grid;grid-template-columns:55vw 32vw;height:85vh;overflow:hidden;width:87vw;max-width:87vw;box-sizing:border-box}.dashboard-sidebar{border-right:.01px solid var(--border-default);padding:1.5rem 0;overflow-y:auto}.dashboard-calendar-section{padding:2vw;border-radius:8px;display:flex;flex-direction:column;overflow:hidden;position:relative}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.calendar-title{display:flex;align-items:center}.month-title{font-family:Saira,sans-serif;font-size:1.125rem;font-weight:500;color:var(--text-heading);margin:0}.calendar-nav{display:flex;gap:.5rem}.calendar-nav-btn{background:var(--bg-tertiary);border:.01px solid var(--border-default);width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;position:relative}.calendar-nav-btn:hover{background:var(--surface-hover)}.prev-month-btn:before,.next-month-btn:before{content:"";display:block;width:10px;height:10px;border-style:solid;position:absolute}:root:not(.dark-theme) .prev-month-btn:before{border-width:0 0 2px 2px;border-color:var(--text-primary);transform:rotate(45deg)}:root:not(.dark-theme) .next-month-btn:before{border-width:0 2px 2px 0;border-color:var(--text-primary);transform:rotate(-45deg)}.dark-theme .prev-month-btn:before{border-width:0 0 2px 2px;border-color:#fff;transform:rotate(45deg)}.dark-theme .next-month-btn:before{border-width:0 2px 2px 0;border-color:#fff;transform:rotate(-45deg)}.calendar-grid{display:flex;flex-direction:column;height:100%;flex:1;overflow:hidden}.calendar-days-header{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:.5rem}.day-header{font-family:DM Sans,sans-serif;font-size:.7rem;font-weight:500;color:var(--text-secondary);padding:.3rem 0}.calendar-days-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:.3rem;overflow-y:auto;max-height:calc(100vh - 15rem);padding-right:.25rem;padding-bottom:4.5rem;flex:1}.calendar-day{background-color:var(--bg-secondary);border:.01px solid var(--border-default);border-radius:8px;padding:.5rem;min-height:65px;cursor:pointer;display:flex;flex-direction:column;position:relative;transition:all .2s ease;overflow:visible}.calendar-day.empty{background-color:transparent;border-color:transparent;cursor:default;box-shadow:none}.calendar-day.empty:hover{transform:none;box-shadow:none;background-color:transparent}.calendar-day:hover{background-color:var(--surface-hover);transform:translateY(-2px);box-shadow:0 4px 8px #0003}.calendar-day.selected{background-color:var(--surface-selected);border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary),0 4px 8px #c7b7834d}.day-number{font-family:Saira,sans-serif;font-size:.8rem;font-weight:500;color:var(--text-primary);margin-bottom:.2rem;line-height:1}.selected .day-number{color:var(--text-heading);font-weight:600}.calendar-brain-container{display:flex;justify-content:center;align-items:flex-end;position:absolute;left:50%;transform:translate(-50%);overflow:visible;pointer-events:none;z-index:2;width:24px}.brain-overflow-indicator{font-size:.7rem;color:var(--text-primary);text-align:center;margin-top:2px;line-height:1;font-weight:600}.activity-indicators{display:flex;gap:.5rem;margin-top:auto;padding-top:.5rem}.indicator{width:10px;height:10px;border-radius:50%;display:inline-block}.indicator.yellow{background-color:var(--gold-gamified);box-shadow:0 0 4px var(--gold-gamified)}.indicator.blue{background-color:var(--blue-gamified);box-shadow:0 0 4px var(--blue-gamified)}.indicator.green{background-color:var(--green-gamified);box-shadow:0 0 4px var(--green-gamified)}.indicator.red{background-color:var(--red-gamified);box-shadow:0 0 4px var(--red-gamified)}.indicator.purple{background-color:var(--purple-gamified);box-shadow:0 0 4px var(--purple-gamified)}.calendar-legend{display:flex;justify-content:center;gap:1rem;padding:.75rem .5rem;position:absolute;bottom:0;left:0;right:0;width:100%;z-index:10}.legend-item{display:flex;align-items:center;gap:.25rem}.legend-brain{width:12px;height:12px;border-radius:50%;display:inline-block;position:relative}.legend-brain.blue{background-color:#4a90e2;box-shadow:0 0 4px #4a90e280}.legend-brain.green{background-color:#4caf50;box-shadow:0 0 4px #4caf5080}.legend-brain.gold{background-color:gold;box-shadow:0 0 4px #ffd70080}.legend-brain.red{background-color:#f44336;box-shadow:0 0 4px #f4433680}.legend-text{font-family:DM Sans,sans-serif;font-size:.65rem;color:var(--text-secondary);white-space:nowrap}.legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.legend-dot.yellow,.legend-dot.gold{background-color:var(--gold-gamified);box-shadow:0 0 4px var(--gold-gamified)}.legend-dot.blue{background-color:var(--blue-gamified);box-shadow:0 0 4px var(--blue-gamified)}.legend-dot.green{background-color:var(--green-gamified);box-shadow:0 0 4px var(--green-gamified)}.legend-dot.red{background-color:var(--red-gamified);box-shadow:0 0 4px var(--red-gamified)}.legend-dot.purple{background-color:var(--purple-gamified);box-shadow:0 0 4px var(--purple-gamified)}.student-cards-section{width:32vw;height:100%;display:flex;flex-direction:column;overflow:hidden}.feed-title{font-size:2.2vh;font-weight:600;color:var(--text-heading);border-bottom:.1vh solid var(--border-default);flex-shrink:0;text-align:center}.section-heading{font-size:2.5vh;font-weight:600;color:var(--text-heading);margin-bottom:.5vh}.section-subtitle{font-size:1.125rem;font-weight:500;color:var(--text-primary);margin-top:.5vh;text-align:center;width:auto}.subtitle-wrapper{display:flex;width:100%;justify-content:center}@media (min-width: 769px){.student-card-feed::-webkit-scrollbar{width:.5vw}.student-card-feed::-webkit-scrollbar-track{background:var(--bg-card);border-radius:.25vw}.student-card-feed::-webkit-scrollbar-thumb{background-color:var(--accent-primary, #c7b783);border-radius:.25vw;border:.1vw solid var(--bg-card)}.student-card-feed::-webkit-scrollbar-thumb:hover{background-color:var(--accent-secondary, #d8a692)}}@media (max-width: 768px){.dashboard-page{height:auto;display:flex;flex-direction:column;overflow-y:auto}.dashboard-container{grid-template-columns:1fr;display:flex;flex-direction:column;overflow-y:visible;width:100%;max-width:100%;height:auto;padding:0}.dashboard-content{width:100%;height:auto;overflow-y:visible;padding:0}.dashboard-sidebar{border-right:none;border-bottom:.01px solid var(--border-default);width:100%;max-width:100%;padding:0;overflow-y:visible}.dashboard-calendar-section{padding:.75rem;width:100%;box-sizing:border-box;overflow-y:visible}.student-card-visual{display:none}.calendar-grid{max-height:none;overflow-y:visible}.calendar-days-grid{max-height:none;overflow-y:visible;padding-right:0;padding-bottom:1rem}.student-cards-section{width:100%;overflow:visible}.student-card-feed{width:100%;overflow-y:visible;padding-bottom:1rem}.feed-content{width:100%;max-width:100%;padding:.5rem;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-width:none}.feed-content::-webkit-scrollbar{display:none}.enhanced-student-card{width:100%;margin-bottom:1rem;min-width:350px}.feed-title{padding:.75rem;text-align:center}.section-heading{font-size:1.2rem}}.dashboard-header-bar{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;background-color:var(--bg-tertiary);border-bottom:.01px solid var(--border-default);height:6vh}.dashboard-header-left{display:flex;align-items:center}.dashboard-logo{color:var(--accent-primary);display:flex;align-items:center}.dashboard-header-right{display:flex;align-items:center;gap:1.5rem}.dashboard-header-icon{color:var(--text-secondary);cursor:pointer;transition:color .2s ease}.dashboard-header-icon:hover{color:var(--text-primary)}.dashboard-vbux-container{display:flex;align-items:center;gap:.5rem;padding:.25rem .75rem;background-color:var(--bg-secondary);border-radius:6px;border:.01px solid var(--border-default)}.dashboard-vbux-icon{color:var(--accent-primary)}.dashboard-vbux-amount{font-family:IBM Plex Mono,monospace;font-size:.875rem;font-weight:600;color:var(--text-primary)}.dashboard-user-info{display:flex;align-items:center;gap:.75rem}.dashboard-user-photo{width:2.25rem;height:2.25rem;border-radius:6px;overflow:hidden;border:.01px solid var(--border-default);background-color:var(--bg-main)}.dashboard-photo-placeholder{width:100%;height:100%;background-color:var(--accent-primary);opacity:.3}.dashboard-user-name{font-family:Saira,sans-serif;font-size:.875rem;font-weight:500;color:var(--text-primary)}.dashboard-container{height:85vh}.feed-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem;padding:.75rem .5rem;background-color:var(--bg-main);border-top:.01px solid var(--border-default);position:absolute;bottom:0;left:0;right:0;width:100%;z-index:10}.hexagon-score{display:flex;flex-direction:column;align-items:center;margin-right:1rem}.hexagon-score .percentage{font-size:1rem;font-weight:600;margin-bottom:.2rem;color:#00e0c6}.hexagon-shape{width:70px;height:60px;background-color:#00e0c6;position:relative;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);display:flex;align-items:center;justify-content:center}.badge-name{text-transform:uppercase;font-size:.7rem;font-weight:600;color:#222;text-align:center;letter-spacing:.5px}.student-card-score{display:flex;align-items:center;margin-bottom:.5rem}.calendar-day.today{background-color:#0078d71a;font-weight:700}.cards-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3vh 0;color:var(--text-secondary);gap:1vh}.loading-spinner{border:4px solid rgba(255,255,255,.3);border-radius:50%;border-top:4px solid #fff;width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:1rem}.cards-error{background-color:#dc354533;border:.01px solid rgba(220,53,69,.5);border-radius:.5vw;padding:2vh 2vw;color:#fff;text-align:center}.no-cards-message{display:flex;align-items:center;justify-content:center;padding:4vh 2vw;text-align:center;background-color:#ffffff0d;border-radius:.5vw;color:#ffffffb3;font-size:1.4vh;min-height:20vh}.dashboard-add-card{min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;color:#ffffffb3}.dashboard-add-card:hover{background:#32323266!important;border-color:#fff6!important;color:#fff}.add-icon{margin-bottom:1rem}.dashboard-add-card .card-title{font-size:1.2rem;margin-bottom:.5rem;text-align:center}.dashboard-add-card .card-text{text-align:center;opacity:.8}.mobile-calendar-section{width:100%;padding:.5rem;box-sizing:border-box;overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-calendar-section .calendar-days-grid{max-height:60vh;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.mobile-calendar-section .calendar-days-grid::-webkit-scrollbar{display:none}.mobile-calendar-legend{position:relative;background:var(--bg-main);padding:.5rem;flex-wrap:wrap;justify-content:space-around;margin-top:.5rem;bottom:auto}.mobile-calendar-legend .legend-item{margin:.25rem}.mobile-calendar-legend .legend-text{font-size:.7rem}@media (max-width: 1024px){.dashboard-container{grid-template-columns:1fr;overflow-y:auto}.student-cards-section{margin-bottom:2rem}}@media (max-width: 768px){.dashboard-container{grid-template-columns:1fr;overflow-y:auto;width:100%;max-width:100%;height:auto;padding:0}.dashboard-content{width:100%;height:auto;overflow-y:auto;padding:0}.dashboard-sidebar{border-right:none;border-bottom:.01px solid var(--border-default);width:100%;max-width:100%;padding:0}.dashboard-calendar-section{padding:.75rem;width:100%;box-sizing:border-box}.student-card-visual{display:none}.calendar-grid{max-height:none}.calendar-days-grid{max-height:60vh}.feed-content{width:100%;max-width:100%;padding:.5rem;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-width:none}.feed-content::-webkit-scrollbar{display:none}.enhanced-student-card{width:100%;margin-bottom:1rem;min-width:350px}.feed-title{padding:.75rem;text-align:center}.section-heading{font-size:1.2rem}}@media (max-width: 480px){.dashboard-page{height:auto;overflow-y:auto;width:100%}.dashboard-header-bar{padding:.5rem;height:auto;flex-wrap:wrap;width:100%}.dashboard-header-right{width:100%;justify-content:space-between;margin-top:.5rem}.dashboard-content{height:auto;width:100%}.calendar-header{flex-direction:column;align-items:flex-start}.calendar-nav{width:100%;justify-content:space-between;margin-top:.5rem}.calendar-nav-btn{width:36px;height:36px}.calendar-days-grid{grid-template-columns:repeat(7,1fr);grid-gap:.2rem;max-height:50vh;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-right:0}.calendar-day{min-height:45px;padding:.3rem}.day-number{font-size:.7rem}.calendar-legend{flex-wrap:wrap;padding-bottom:1rem;position:relative}.student-cards-section{width:100%;padding:0;overflow:hidden}.student-card-feed{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:1rem;scrollbar-width:none}.student-card-feed::-webkit-scrollbar{display:none}}@media (max-width: 320px){.dashboard-user-info{display:none}.calendar-days-header{display:flex;justify-content:space-between}.day-header{font-size:.6rem}.calendar-day{min-height:40px}}@media (min-width: 769px){.calendar-days-grid::-webkit-scrollbar{width:.5vw}.calendar-days-grid::-webkit-scrollbar-track{background:var(--bg-card);border-radius:.25vw}.calendar-days-grid::-webkit-scrollbar-thumb{background-color:var(--accent-primary, #c7b783);border-radius:.25vw;border:.1vw solid var(--bg-card)}.calendar-days-grid::-webkit-scrollbar-thumb:hover{background-color:var(--accent-secondary, #d8a692)}}@media (max-width: 768px){.student-cards-section{width:100%;padding:0 1rem;margin-top:1rem;display:block;overflow:visible}.feed-title{padding:1rem;text-align:center;margin-bottom:1rem;background-color:var(--bg-secondary);border-radius:8px;box-shadow:0 2px 4px #0000001a}.section-heading{font-size:1.2rem;margin-bottom:.75rem;font-weight:600;color:var(--text-heading);text-align:center;line-height:1.3}.section-subtitle{font-size:1.125rem;margin:0 auto;padding:.5rem 1.25rem;font-weight:600;color:var(--text-primary);text-align:center;letter-spacing:.5px;background-color:var(--bg-tertiary);border-radius:4px;display:inline-block;width:auto;box-shadow:0 1px 2px #0000000d;text-transform:uppercase}.subtitle-wrapper{display:flex;justify-content:center;width:100%;margin-top:.5rem}.student-card-feed{width:100%;overflow-y:visible;padding-bottom:2rem;margin-top:1.5rem}.feed-content{width:100%;display:flex;flex-direction:column;gap:1rem;padding:0}.enhanced-student-card{width:100%;margin-bottom:1rem;min-width:0}}@media (max-width: 480px){.feed-title{padding:.75rem}.section-heading{font-size:1.1rem;line-height:1.3;margin-bottom:.5rem}.section-subtitle{font-size:.85rem;padding:.4rem .75rem;margin-top:.25rem;width:auto;max-width:90%}}.mobile-calendar-days-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:.2rem;padding:0;margin-bottom:1rem}.mobile-calendar-day{display:flex;justify-content:center;align-items:center;min-height:2.5rem;padding:.25rem;background-color:var(--bg-secondary);border:none;border-radius:4px;cursor:pointer}.mobile-calendar-day .day-number{font-size:.9rem;font-weight:500;color:var(--text-primary);margin:0}.mobile-calendar-day.selected{background-color:var(--accent-primary-translucent);border:none}.mobile-calendar-day.selected .day-number{color:var(--text-heading);font-weight:600}.mobile-calendar-day.today{background-color:var(--bg-tertiary);box-shadow:inset 0 0 0 1px var(--accent-primary)}.mobile-calendar-legend{display:flex;justify-content:space-around;padding:.5rem;margin-top:.5rem;border-top:1px solid var(--border-default);margin-bottom:1.5rem}.mobile-calendar-legend .legend-item{display:flex;align-items:center;margin:0 .25rem}.mobile-calendar-legend .legend-text{font-size:.7rem;margin-left:.25rem}.mobile-calendar-legend .legend-dot{width:.6rem;height:.6rem;border-radius:50%;display:inline-block}@media (max-width: 768px){.student-cards-section{width:100%;padding:0 1rem;margin-top:1rem;display:block;overflow:visible}.feed-title{padding:1rem;text-align:center;margin-bottom:1rem;background-color:var(--bg-secondary);border-radius:8px;box-shadow:0 2px 4px #0000001a}.section-heading{font-size:1.2rem;margin-bottom:.75rem;font-weight:600;color:var(--text-heading);text-align:center;line-height:1.3}.section-subtitle{font-size:.95rem;margin:0 auto;padding:.5rem 1.25rem;font-weight:600;color:var(--text-primary);text-align:center;letter-spacing:.5px;background-color:var(--bg-tertiary);border-radius:4px;display:inline-block;width:auto;box-shadow:0 1px 2px #0000000d;text-transform:uppercase}.subtitle-wrapper{display:flex;justify-content:center;width:100%;margin-top:.5rem}.student-card-feed{width:100%;overflow-y:visible;padding-bottom:2rem;margin-top:1.5rem}.feed-content{width:100%;display:flex;flex-direction:column;gap:1rem;padding:0}.enhanced-student-card{width:100%;margin-bottom:1rem;min-width:0}}.user-profile{background-color:var(--bg-secondary);border-radius:.8vh;box-shadow:0 .8vh 2.4vh #0000001a;padding:2.4vh 2.4vw;max-width:60vw;margin:3vh auto}.profile-title{color:var(--text-primary);font-size:2.2vh;font-weight:600;margin-bottom:2.4vh;text-align:center;border-bottom:.1vh solid var(--border-color);padding-bottom:1.2vh}.profile-info{display:flex;flex-direction:column;gap:1.6vh}.profile-field{display:flex;flex-direction:row;align-items:baseline}.field-label{flex:0 0 10vw;font-weight:500;color:var(--text-secondary)}.field-value{flex:1;color:var(--text-primary)}.roles-list{display:flex;flex-wrap:wrap;gap:.8vh}.role-badge{background-color:var(--accent-color);color:#fff;padding:.4vh 1vw;border-radius:1.2vh;font-size:1.3vh;font-weight:500}.profile-loading,.profile-error,.profile-empty{text-align:center;padding:4vh;color:var(--text-secondary);background-color:var(--bg-secondary);border-radius:.8vh;box-shadow:0 .4vh 1.2vh #00000014;max-width:60vw;margin:3vh auto}.profile-error{color:#ff5757;background-color:#ff57570d;border:.1vh solid rgba(255,87,87,.2)}@media (max-width: 64vw){.profile-field{flex-direction:column;gap:.4vh}.field-label{flex:0 0 auto}.user-profile{max-width:90vw;padding:2vh 4vw}}@media (max-width: 76.8vw){.user-profile{border-radius:.8dvh;box-shadow:0 .8dvh 2.4dvh #0000001a;padding:2.4dvh 5dvw;max-width:90dvw;margin:3dvh auto}.profile-title{font-size:2.2dvh;margin-bottom:2.4dvh;border-bottom:.1dvh solid var(--border-color);padding-bottom:1.2dvh}.profile-info{gap:1.6dvh}.roles-list{gap:.8dvh}.role-badge{padding:.4dvh 1dvw;border-radius:1.2dvh;font-size:1.3dvh}.profile-loading,.profile-error,.profile-empty{padding:4dvh;border-radius:.8dvh;box-shadow:0 .4dvh 1.2dvh #00000014;max-width:90dvw;margin:3dvh auto}.profile-error{border:.1dvh solid rgba(255,87,87,.2)}}.library-content{flex-grow:1;padding:1rem;background-color:var(--background-color-light);overflow-y:auto;height:81vh;padding-bottom:6vh}.library-content::-webkit-scrollbar{width:.8vw}.library-content::-webkit-scrollbar-track{background:var(--background-color-light);border-radius:.4vh}.library-content::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-color);border-radius:.4vh;border:.2vh solid var(--background-color-light)}.library-content::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover-color)}.library-header-bar{display:flex;flex-direction:column;padding:.75vh 1.25vw;height:12vh;width:87vw;flex:0 0 12vh}.header-top-row{display:flex;justify-content:space-between;align-items:center;width:100%;flex:1}.header-breadcrumbs-row{display:flex;align-items:center;width:100%;padding:1vh 0;height:4vh}.header-breadcrumbs-row .breadcrumbs-container{background-color:transparent;border-radius:0;padding:0;box-shadow:none}.library-breadcrumb-container{display:flex;align-items:center;padding:1vh 1.25vw;height:4vh;width:87vw;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-default);border-radius:.8vh .8vh 0 0;-webkit-backdrop-filter:blur(.8vh);backdrop-filter:blur(.8vh);box-shadow:0 .2vh .8vh #0000001a;transition:all .3s ease}.library-breadcrumb-container:hover{box-shadow:0 .4vh 1.2vh #c7b78333;border-bottom-color:var(--accent-primary)}.library-breadcrumb-container .breadcrumbs-container{background-color:transparent;border-radius:0;padding:0;box-shadow:none}.library-breadcrumb-container .breadcrumb-item{font-size:1.6vh;font-weight:500;color:var(--text-secondary)}.library-breadcrumb-container .breadcrumb-item:hover{color:var(--accent-primary);background-color:#c7b7831a}.library-breadcrumb-container .breadcrumb-item.active{color:var(--text-primary);font-weight:600}.library-header-left{display:flex;align-items:center}.library-header-right{display:flex;align-items:center;gap:1.25rem}.library-search-container{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background-color:var(--bg-main);border-radius:.375rem;border:1px solid var(--border-default);width:18rem;position:relative}.library-search-input{background:transparent;border:none;outline:none;color:var(--text-primary);width:100%;padding-right:24px;transition:all .3s ease}.library-search-input.active-search{color:var(--accent-primary)}.clear-search-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;padding:2px;border-radius:50%;width:18px;height:18px}.clear-search-btn:hover{color:var(--accent-primary);background-color:var(--bg-tertiary)}.search-highlight{background-color:#c7b7834d;color:var(--accent-primary);font-weight:600;border-radius:2px;padding:0 2px;display:inline-block}.library-search-input::-moz-placeholder{color:var(--text-placeholder)}.library-search-input::placeholder{color:var(--text-placeholder)}.library-header-icon{color:var(--text-secondary);cursor:pointer}.library-vbux-icon{color:var(--gold-gamified)}.library-user-info{display:flex;align-items:center;gap:.625rem}.library-user-photo{width:2rem;height:2rem;border-radius:50%;overflow:hidden;background-color:var(--bg-secondary);border:1px solid var(--border-default)}.library-photo-placeholder{width:100%;height:100%;background-color:var(--bg-tertiary)}.library-user-name{font-family:IBM Plex Mono,monospace;font-size:1.75vh;font-weight:500;color:var(--text-primary)}.library-main{background-color:var(--bg-main);display:flex;flex-direction:column;height:100%;overflow:hidden;border-right:1px solid var(--border-default)}.library-header{padding:1rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-default)}.classes-nav{display:flex;align-items:center;gap:.5rem;color:var(--text-primary);font-family:IBM Plex Mono,monospace;font-size:1.875vh;font-weight:500}.action-buttons{display:flex;align-items:center;gap:.75rem}.find-button,.create-block-button{display:flex;align-items:center;gap:.5vw;padding:.375vh .75vw;background-color:transparent;border:.1vh solid var(--border-default);border-radius:.25vh;color:var(--text-primary);font-family:IBM Plex Mono,monospace;font-size:1.75vh;font-weight:500;cursor:pointer;transition:background-color .2s ease}.find-button:hover,.create-block-button:hover{background-color:transparent;color:var(--accent-primary);text-shadow:0 0 1vh var(--accent-primary),0 0 2vh var(--accent-primary),0 0 3vh var(--accent-primary);filter:drop-shadow(0 0 .5vh var(--accent-primary))}.stop-course-button{padding:.375vh .75vw;background-color:var(--error-bg);border:.1vh solid var(--error-text);border-radius:.25vh;color:var(--error-text);font-family:IBM Plex Mono,monospace;font-size:1.75vh;font-weight:500;cursor:pointer;transition:background-color .2s ease}.stop-course-button:hover{background-color:var(--error-bg);color:var(--error-text);text-shadow:0 0 1vh var(--error-text),0 0 2vh var(--error-text),0 0 3vh var(--error-text);filter:drop-shadow(0 0 .5vh var(--error-text))}.settings-button{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background-color:transparent;border:none;border-radius:.25rem;color:var(--text-secondary);cursor:pointer;transition:background-color .2s ease,color .2s ease}.settings-button:hover{background-color:transparent;color:var(--text-primary);text-shadow:0 0 1vh var(--text-primary),0 0 2vh var(--text-primary),0 0 3vh var(--text-primary);filter:drop-shadow(0 0 .5vh var(--text-primary))}.course-tree{position:relative;width:52vw;flex:0 0 52vw;overflow-y:auto!important;overflow-x:hidden;padding:1.5vh 1.5vw;padding-bottom:0;border-right:1px solid var(--border-color);height:69.5vh;max-height:69.5vh;overscroll-behavior:contain;z-index:0;font-family:IBM Plex Mono,monospace;scroll-behavior:smooth;scrollbar-width:thin;-webkit-overflow-scrolling:touch;scroll-padding:1vh;will-change:scroll-position;scroll-snap-type:y proximity;padding-right:.8vw;backface-visibility:hidden;perspective:1000px;transition:width .3s ease,flex .3s ease}.course-tree-inner{min-height:100%;box-sizing:border-box}.library-content-container.has-content .course-tree{width:52vw;flex:0 0 52vw}.library-content-container.has-content .course-stats{width:52vw}.library-content-container.no-content .course-stats{width:87vw}.course-tree::-webkit-scrollbar{width:.6vw;background-color:transparent}.course-tree::-webkit-scrollbar-track{background:transparent;margin:.5vh 0;border-radius:.3vw}.course-tree::-webkit-scrollbar-thumb{background-color:#00000026;border-radius:.3vw;border:.15vw solid transparent;background-clip:content-box;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.course-tree::-webkit-scrollbar-thumb:hover{background-color:#00000040}.course-tree:not(:hover)::-webkit-scrollbar-thumb{background-color:#00000014}.course-item{margin-bottom:2vh;position:relative;scroll-snap-align:start;scroll-margin-top:1vh}.course-header{margin-bottom:1vh;position:relative;display:flex;align-items:center}.course-title{display:flex;align-items:center;gap:.75vw;font-family:IBM Plex Mono,monospace;font-size:2vh;font-weight:700;line-height:3.4vh;color:var(--text-heading);cursor:pointer;padding:.7vh .8vw;border-radius:.4vh;transition:all .3s cubic-bezier(.25,.46,.45,.94);text-transform:capitalize;letter-spacing:.02em;flex-grow:1;will-change:opacity}.course-title .chevron{font-size:1.6vh;color:var(--text-secondary);margin-right:.5vw;transition:color .2s ease}.course-title:hover{background-color:#f5f5f5;color:#333}.course-title:hover .chevron{color:#333}.course-title.selected{background-color:gold;color:#2b2b2b;box-shadow:0 .1vh .2vh #0000001a}.course-title.selected .chevron{color:#2b2b2b}.module-list{margin-left:1.8vw;margin-top:.8vh}.module-item{margin-bottom:1vh;font-family:IBM Plex Mono,monospace;font-size:1.75vh;font-weight:600;line-height:2.9vh;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;gap:.75vw;padding:.6vh .8vw;border-radius:.3vh;transition:all .3s cubic-bezier(.25,.46,.45,.94);scroll-snap-align:start;scroll-margin-top:.5vh;will-change:opacity}.module-header{display:flex;align-items:center;gap:.75vw;flex-grow:1}.module-header .chevron{font-size:2vh;color:var(--text-secondary);margin-right:.5vw;transition:color .2s ease}.module-item:hover{background-color:#f5f5f5;color:#333}.module-item:hover .module-icon,.module-item:hover .chevron{color:#333}.module-item.selected .module-icon,.module-item.selected .chevron{color:#2b2b2b}.lesson-list{margin-left:2.2vw;margin-top:.5vh;overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .2s ease-in-out,margin .3s ease-in-out;max-height:1000vh;opacity:1}.lesson-list.collapsed{max-height:0;opacity:0;margin-top:0;margin-bottom:0}.lesson-item{display:flex;align-items:center;gap:.6vw;font-family:IBM Plex Mono,monospace;font-size:1.75vh;font-weight:500;line-height:2.5vh;color:var(--text-secondary);cursor:pointer;padding:.5vh .7vw;border-radius:.3vh;transition:all .3s cubic-bezier(.25,.46,.45,.94);scroll-snap-align:start;scroll-margin-top:.4vh;will-change:opacity}.lesson-icon{color:var(--text-secondary);font-size:1.7vh;transition:color .2s ease}.lesson-item .chevron{font-size:1.7vh;color:var(--text-secondary);margin-right:.5vw;transition:color .2s ease}.lesson-item:hover{background-color:#f5f5f5;color:#333}.lesson-item:hover .lesson-icon,.lesson-item:hover .chevron{color:#333}.lesson-item.selected .lesson-icon,.lesson-item.selected .chevron{color:#2b2b2b}.sublesson-list{margin-left:2.4vw;margin-top:.4vh}.sublesson-list.collapsed{display:none}.sublesson-item{display:flex;align-items:center;gap:.6vw;font-family:IBM Plex Mono,monospace;font-size:1.6vh;font-weight:400;line-height:2.2vh;color:var(--text-secondary);font-style:normal;cursor:pointer;padding:.4vh .7vw;border-radius:.3vh;transition:all .3s cubic-bezier(.25,.46,.45,.94);position:relative;margin-left:0;scroll-snap-align:start;scroll-margin-top:.3vh;will-change:opacity;text-decoration:underline}.sublesson-icon{color:var(--text-secondary);font-size:1.4vh;transition:color .2s ease}.sublesson-item:hover{background-color:#f5f5f5;color:#333}.sublesson-item:hover .sublesson-icon{color:#333}.start-button{margin-left:auto;background-color:gold;color:#2b2b2b;border:none;border-radius:.3vh;padding:.3vh 1vw;font-size:1.6vh;font-weight:500;cursor:pointer;opacity:0;transition:opacity .2s ease,background-color .2s ease}.start-button:hover{background-color:#e6c200;color:#2b2b2b}.course-item .drag-handle,.module-item .drag-handle,.lesson-item .drag-handle,.sublesson-item .drag-handle{opacity:.3;cursor:move;margin-right:.6vw;display:flex;align-items:center;color:var(--text-secondary);transition:opacity .2s ease,color .2s ease}.course-item:hover .drag-handle,.module-item:hover .drag-handle,.lesson-item:hover .drag-handle,.sublesson-item:hover .drag-handle{opacity:.8;color:var(--text-primary)}.course-item.selected .drag-handle,.module-item.selected .drag-handle,.lesson-item.selected .drag-handle,.sublesson-item.selected .drag-handle{opacity:.8;color:#2b2b2b}.context-trigger{opacity:0;cursor:pointer;margin-left:.6vw;display:flex;align-items:center;color:var(--text-secondary);transition:opacity .2s ease,color .2s ease}.course-item:hover .context-trigger,.module-item:hover .context-trigger,.lesson-item:hover .context-trigger,.sublesson-item:hover .context-trigger{opacity:1;color:var(--text-heading)}.course-item.selected .context-trigger,.module-item.selected .context-trigger,.lesson-item.selected .context-trigger,.sublesson-item.selected .context-trigger{opacity:1;color:#2b2b2b}.module-list.collapsed{display:none}.module-icon{color:var(--text-secondary);display:flex;align-items:center;font-size:2vh;transition:color .2s ease}.module-header{display:flex;align-items:center;gap:.75vw}.lesson-list{margin-left:2.2vw}.lesson-container{margin:.6vh 0}.lesson-icon{color:#666;font-size:1.7vh;transition:color .2s ease}.lesson-content-header .chevron.tiny{margin-right:5px;min-width:10px;transition:color .2s ease;color:#797979}.lesson-content-header.expanded .chevron.tiny{transform:rotate(90deg)}.sublesson-list{margin-left:2.4vw}.sublesson-icon{color:#666;font-size:1.4vh;transition:color .2s ease}.chevron{transition:transform .3s cubic-bezier(.4,0,.2,1),color .3s ease;color:#797979;transform-origin:center}.expanded .chevron{transform:rotate(90deg)}.course-title.selected .chevron,.module-item.selected .chevron,.lesson-item.selected .chevron,.lesson-content-header.selected .chevron.tiny{color:#2b2b2b}.content-item.selected{background-color:#c7b783;color:#2b2b2b}.start-button{margin-left:auto;background-color:var(--accent-primary);color:#2b2b2b;border:none;border-radius:.3vh;padding:.3vh 1vw;font-size:1.6vh;font-weight:500;cursor:pointer;opacity:0;transition:opacity .2s ease,background-color .2s ease}.sublesson-item:hover .start-button{opacity:1}.start-button:hover{background-color:var(--accent-hover);color:#2b2b2b}.create-button,.browse-button{background-color:gold;color:#2b2b2b}.course-stats{display:flex;align-items:center;justify-content:space-around;gap:1vw;padding:.75vh 1.5vw;height:5vh;position:absolute;bottom:0;left:0;width:52vw;z-index:9999;box-sizing:border-box}.folder-stats{display:flex;align-items:center;gap:.5vw;margin-left:1vw;margin-right:.5vw;font-size:1.6vh}.count-indicator{display:flex;align-items:center;gap:.25vw;font-size:1.4vh;white-space:nowrap}.folder-count,.brain-count{color:inherit}.count-indicator svg{flex-shrink:0;color:inherit}.count-indicator span{font-family:IBM Plex Mono,monospace;font-weight:100;font-style:italic;color:inherit}.course-title.selected .folder-stats,.module-item.selected .folder-stats,.lesson-item.selected .folder-stats{opacity:.9}.stats-item{display:flex;align-items:center;gap:.5vw;font-family:IBM Plex Mono,monospace;font-size:1.75vh;font-weight:500;color:var(--text-primary)}.content-pane{background-color:var(--bg-main);display:flex;flex-direction:column;width:35vw;flex:0 0 35vw;height:69.5vh;overflow-y:auto;position:relative;scroll-behavior:smooth;scrollbar-width:thin;-webkit-overflow-scrolling:touch;scroll-padding:1vh;will-change:scroll-position;scroll-snap-type:y proximity;padding-right:.8vw;transition:opacity .3s ease,transform .3s ease}@media (max-width: 768px){.content-pane,.content-header,.content-list,.content-title,.content-nav,.course-content-card{display:none}.library-content-container{width:100%!important;overflow:hidden}.course-tree{width:100%!important;flex:1 1 100%!important;max-width:100%}.course-tree:after{display:none}.library-page,.library-content,.library-content-container{overflow-x:hidden;max-width:100vw}}.content-pane::-webkit-scrollbar{width:.6vw;background-color:transparent}.content-pane::-webkit-scrollbar-track{background:transparent;margin:.5vh 0;border-radius:.3vw}.content-pane::-webkit-scrollbar-thumb{background-color:#00000026;border-radius:.3vw;border:.15vw solid transparent;background-clip:content-box;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.content-pane::-webkit-scrollbar-thumb:hover{background-color:#00000040}.content-pane:not(:hover)::-webkit-scrollbar-thumb{background-color:#00000014}.content-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-default);display:flex;justify-content:space-between;align-items:center}.content-title{font-family:Saira,sans-serif;font-size:2.125vh;font-weight:500;color:var(--text-heading);margin:0}.content-nav{display:flex;align-items:center;gap:1rem;color:var(--text-secondary)}.content-list{padding:1.25rem 1.25rem 5rem;display:flex;flex-direction:column;align-items:center}.content-item{display:flex;align-items:center;gap:1rem;padding:.875rem 1rem;border-radius:.5rem;margin-bottom:.75rem;background-color:var(--bg-secondary);cursor:pointer;transition:background-color .2s ease}.content-item:hover{background-color:var(--surface-hover)}.content-item.selected{background-color:var(--surface-selected)}.content-icon{color:var(--text-secondary)}.content-text{font-family:IBM Plex Mono,monospace;font-size:1.8125vh;color:var(--text-primary)}.content-status{display:flex;align-items:center;justify-content:space-between;padding:.75vh 1.5vw;height:5vh;position:absolute;bottom:0;right:0;width:35vw;z-index:9999;box-sizing:border-box}.status-item{display:flex;align-items:center;gap:.375vw;font-family:IBM Plex Mono,monospace;font-size:1.75vh;font-weight:500}.brain-icon{width:1vh;height:1vh}.status-icon .brain-icon{width:1.8vh;height:1.8vh}.loading-indicator{padding:1.5vh;color:#555;font-style:italic;display:flex;align-items:center;justify-content:center;background-color:#0000000d;border-radius:.4vh;margin:1vh 0}.error-message{padding:1.5vh;color:#d32f2f;background-color:#ffebee;border-radius:.4vh;margin:1vh 0;border-left:.4vh solid #d32f2f}.content-detail{padding:2vh 2vw;background-color:var(--bg-card, #2A2A2A);border-radius:.8vh;box-shadow:0 .2vh .4vh #0000001a}.content-detail h3{margin-top:0;font-size:2.5vh;color:var(--text-heading, #FFFFFF);border-bottom:1px solid var(--border-default, #4A4A4A);padding-bottom:1vh;margin-bottom:1.5vh}.content-difficulty{margin-bottom:15px;font-weight:500}.content-difficulty span{padding:3px 8px;border-radius:4px;font-size:1.875vh}.content-text-full{white-space:pre-wrap;line-height:1.6;margin-bottom:20px;max-height:500px;overflow-y:auto;padding:15px;background-color:var(--bg-secondary, #3A3A3A);border-radius:4px;border:1px solid var(--border-default, #4A4A4A);color:var(--text-primary, #E0E0E0)}.question-indicators{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.question-badge{display:flex;align-items:center;padding:5px 10px;border-radius:20px;font-size:1.875vh;gap:6px}.context-menu{position:fixed;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;padding:8px 0;z-index:1000;min-width:180px;font-family:var(--font-body)}.context-menu ul{list-style:none;padding:0;margin:0}.context-menu li{padding:10px 16px;cursor:pointer;color:var(--text-primary);font-size:2.4vh;transition:background-color .2s ease}.context-menu li:hover{background-color:var(--bg-hover)}.context-menu li.destructive{color:var(--color-danger)}.context-menu li.destructive:hover{background-color:rgba(var(--color-danger-rgb),.1)}.sublesson-item{cursor:pointer;position:relative}.practice-loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:9999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.practice-loading-spinner{background-color:var(--bg-card, #2A2A2A);padding:2rem;border-radius:8px;display:flex;flex-direction:column;align-items:center;gap:1rem;box-shadow:0 4px 12px #0000001a}.practice-loading-spinner p{margin:0;font-family:IBM Plex Mono,monospace;font-size:2vh;color:var(--text-primary)}.library-list-container{overflow:hidden}.library-content-container{display:flex;flex-direction:row;width:87vw;height:81vh;min-height:0;overflow:hidden;transition:all .3s cubic-bezier(.25,.1,.25,1);position:relative;top:2vh}.library-content-container.no-content .course-tree{width:87vw;flex:1 1 87vw}.library-content-container.no-content .content-pane{width:0;flex:0 0 0;opacity:0;transform:translate(5vw);overflow:hidden;pointer-events:none}.course-item:last-child{margin-bottom:3rem}.content-item:last-child,.content-detail,.empty-content{margin-bottom:3rem}.lesson-content-container{margin-left:12px;border-left:1px solid rgba(0,0,0,.1)}.lesson-content-header:hover{background-color:#f2e2d0;color:#4a4a4a}.lesson-content-header .chevron.tiny{margin-right:5px;min-width:10px;transition:none}.lesson-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:1.85vh;font-weight:500}.sublesson-item{margin-left:0}.popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1100}body .popup-content{box-shadow:0 4px 12px #00000026;padding:2vh 2vw;border-radius:.8vh;text-align:center}.popup-content h2{margin-top:0;margin-bottom:1.5rem;color:var(--text-primary)}.course-type-popup button,.mastery-popup .popup-button{display:block;width:100%;padding:.8rem 1rem;margin-bottom:1rem;border:none;border-radius:5px;cursor:pointer;font-size:2vh;transition:background-color .2s ease;background-color:var(--primary-color);color:var(--bg-primary);font-weight:500}.course-type-popup button:disabled{background-color:var(--bg-tertiary);color:var(--text-secondary);cursor:not-allowed}.course-type-popup button:not(:disabled):hover{background-color:var(--primary-color-dark)}.mastery-popup .form-group{margin-bottom:1rem;text-align:left}.mastery-popup label{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-size:1.75vh}.mastery-popup input[type=text],.mastery-popup textarea{width:100%;padding:.6rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--bg-secondary);color:var(--text-primary);font-size:2vh;box-sizing:border-box}.mastery-popup textarea{resize:vertical;min-height:60px}.mastery-popup .popup-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.mastery-popup .popup-button{display:inline-block;width:auto;padding:.6rem 1.2rem}.mastery-popup .cancel-button{background-color:var(--bg-tertiary);color:var(--text-secondary)}.mastery-popup .cancel-button:hover{background-color:var(--border-color)}.mastery-popup .submit-button:hover{background-color:var(--primary-color-dark)}.mastery-popup .submit-button:disabled,.mastery-popup .cancel-button:disabled{opacity:.6;cursor:not-allowed}.error-message{color:var(--color-danger);margin-bottom:1rem;text-align:center;font-size:1.75vh}.category-selector{display:flex;align-items:center;gap:1rem;padding:.25rem;border-radius:8px}.category-option{padding:.5rem 1rem;cursor:pointer;border-radius:6px;font-weight:500;transition:all .2s ease}.category-option:hover{background-color:transparent;color:var(--mode-theme, #ffe6c8);text-shadow:0 0 .03vh #00ff41,0 0 .06vh #00ff41,0 0 .09vh #00ff41;filter:drop-shadow(0 0 .02vh #00ff41);opacity:.9}.category-option.active{background-color:transparent;color:var(--mode-theme, #ffe6c8);text-shadow:0 0 .03vh #00b3ff,0 0 .06vh #00b3ff,0 0 .09vh #00b3ff;filter:drop-shadow(0 0 .02vh #00b3ff);opacity:1}.create-button{background-color:gold;color:#2b2b2b;display:flex;align-items:center;gap:.5vw;padding:.375vh .75vw;border:none;border-radius:.25vh;font-family:IBM Plex Mono,monospace;font-size:1.75vh;font-weight:500;cursor:pointer}.create-button:hover{background-color:#e6c200;color:#2b2b2b}.browse-button{background-color:gold;color:#2b2b2b;display:flex;align-items:center;gap:.5vw;padding:.375vh .75vw;border:none;border-radius:.25vh;font-family:IBM Plex Mono,monospace;font-size:1.75vh;font-weight:500;cursor:pointer}.browse-button:hover{background-color:#e6c200;color:#2b2b2b}.form-group{margin-bottom:1vh;text-align:left}.form-group label{display:block;margin-bottom:.5vh;color:var(--text-secondary);font-size:1.75vh}.form-group input[type=text],.form-group textarea{width:100%;padding:.6vh;border:.1vh solid var(--border-color, #ddd);border-radius:.4vh;background-color:var(--bg-secondary, #f5f5f5);color:var(--text-primary, #333);font-size:2vh;box-sizing:border-box}.form-group textarea{resize:vertical;min-height:8vh}.popup-actions{display:flex;justify-content:flex-end;gap:1vw;margin-top:1.5vh}button:disabled,button.disabled{opacity:.6;cursor:not-allowed;background-color:var(--bg-tertiary, #ddd);color:var(--text-secondary, #777)}.drag-handle{opacity:.3;cursor:move;margin-right:.6vw;display:flex;align-items:center}.module-item:hover .drag-handle,.lesson-item:hover .drag-handle,.sublesson-item:hover .drag-handle{opacity:.8}[data-is-drop-target=true]{transition:background-color .2s ease,outline .2s ease;pointer-events:auto!important;touch-action:auto!important}.drop-target-active{background-color:#4bb5431a!important;outline:1px dashed #4BB543!important;pointer-events:auto!important}.drop-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);will-change:transform;background-color:#4bb543cc;color:#fff;font-size:2.2vh;font-weight:700;padding:.4vh .8vw;border-radius:.4vh;z-index:2;pointer-events:none}.library-page{height:93vh;width:87vw;max-height:93vh;display:flex;flex-direction:column;overflow:hidden}.lesson-content-header{display:flex;align-items:center;padding:.6vh .8vw;cursor:pointer;border-radius:.4vh;margin-bottom:.2vh;color:var(--text-primary);font-size:1.75vh;font-weight:500}.content-section{margin-bottom:2rem}.content-section-title{font-family:Saira,sans-serif;font-size:2.125vh;font-weight:500;color:var(--text-heading);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-default)}.direct-content-section{margin-top:1rem}.enhanced-card-wrapper{margin-bottom:1.5vh;position:relative;width:30vw;overflow:visible}.enhanced-card-wrapper:last-child{margin-bottom:5vh}.content-pane .enhanced-student-card{width:30vw;height:36vh;border-radius:1.5vw;overflow:visible;position:relative;display:flex;flex-direction:column;padding:.75vh;box-sizing:border-box;margin:0 auto}.content-pane .enhanced-student-card:hover{cursor:pointer;box-shadow:0 0 2vh #c7b783b3,0 0 4vh #c7b78366,0 0 6vh #c7b78333}.content-pane .enhanced-student-card--red:hover{box-shadow:0 0 2vh #ff3a5eb3,0 0 4vh #ff3a5e66,0 0 6vh #ff3a5e33}.content-pane .enhanced-student-card--blue:hover{box-shadow:0 0 2vh #3a8affb3,0 0 4vh #3a8aff66,0 0 6vh #3a8aff33}.content-pane .enhanced-student-card--green:hover{box-shadow:0 0 2vh #3aff8ab3,0 0 4vh #3aff8a66,0 0 6vh #3aff8a33}.content-pane .enhanced-student-card--yellow:hover{box-shadow:0 0 2vh #ffda3ab3,0 0 4vh #ffda3a66,0 0 6vh #ffda3a33}.content-pane .enhanced-student-card__title{font-size:1.8vh;max-width:20vw}.content-pane .enhanced-student-card__button{height:3vh;font-size:1.8vh;padding:0 1vw}.enhanced-student-card img{width:3.6vh;height:3.6vh;border-radius:50%;-o-object-fit:cover;object-fit:cover;margin-right:1.2vw}.enhanced-student-card .student-info{display:flex;flex-direction:column}.enhanced-student-card .student-name{font-weight:500;color:var(--text-primary);font-size:2vh}.enhanced-student-card .student-email{color:var(--text-secondary);font-size:2.2vh;margin-top:.4vh}.course-title.selected *,.module-item.selected *,.lesson-item.selected *,.sublesson-item.selected *,.lesson-content-header.selected *,.content-item.selected *,.course-title.selected * *,.module-item.selected * *,.lesson-item.selected * *,.sublesson-item.selected * *,.lesson-content-header.selected * *,.content-item.selected * *,.course-title.selected * * *,.module-item.selected * * *,.lesson-item.selected * * *,.sublesson-item.selected * * *,.lesson-content-header.selected * * *,.content-item.selected * * *,.course-title.selected * * * *,.module-item.selected * * * *,.lesson-item.selected * * * *,.sublesson-item.selected * * * *,.lesson-content-header.selected * * * *,.content-item.selected * * * *,.course-title.selected * * * * *,.module-item.selected * * * * *,.lesson-item.selected * * * * *,.sublesson-item.selected * * * * *,.lesson-content-header.selected * * * * *,.content-item.selected * * * * *{color:#2b2b2b}.course-title.selected img,.module-item.selected img,.lesson-item.selected img,.sublesson-item.selected img,.content-item.selected img,.lesson-content-header.selected img,.course-title.selected * img,.module-item.selected * img,.lesson-item.selected * img,.sublesson-item.selected * img,.content-item.selected * img,.lesson-content-header.selected * img,.course-title.selected * * img,.module-item.selected * * img,.lesson-item.selected * * img,.sublesson-item.selected * * img,.content-item.selected * * img,.lesson-content-header.selected * * img,.course-title.selected * * * img,.module-item.selected * * * img,.lesson-item.selected * * * img,.sublesson-item.selected * * * img,.content-item.selected * * * img,.lesson-content-header.selected * * * img,.course-title.selected svg:not(.chevron),.module-item.selected svg:not(.chevron,.module-icon),.lesson-item.selected svg:not(.chevron,.lesson-icon),.sublesson-item.selected svg:not(.chevron,.sublesson-icon),.lesson-content-header.selected svg:not(.chevron),.course-title.selected * svg:not(.chevron),.module-item.selected * svg:not(.chevron,.module-icon),.lesson-item.selected * svg:not(.chevron,.lesson-icon),.sublesson-item.selected * svg:not(.chevron,.sublesson-icon),.lesson-content-header.selected * svg:not(.chevron),.course-title.selected * * svg:not(.chevron),.module-item.selected * * svg:not(.chevron,.module-icon),.lesson-item.selected * * svg:not(.chevron,.lesson-icon),.sublesson-item.selected * * svg:not(.chevron,.sublesson-icon),.lesson-content-header.selected * * svg:not(.chevron),.course-title.selected * * * svg:not(.chevron),.module-item.selected * * * svg:not(.chevron,.module-icon),.lesson-item.selected * * * svg:not(.chevron,.lesson-icon),.sublesson-item.selected * * * svg:not(.chevron,.sublesson-icon),.lesson-content-header.selected * * * svg:not(.chevron),.course-title.selected * * * * svg:not(.chevron),.module-item.selected * * * * svg:not(.chevron,.module-icon),.lesson-item.selected * * * * svg:not(.chevron,.lesson-icon),.sublesson-item.selected * * * * svg:not(.chevron,.sublesson-icon),.lesson-content-header.selected * * * * svg:not(.chevron),.course-title.selected * * * * * svg:not(.chevron),.module-item.selected * * * * * svg:not(.chevron,.module-icon),.lesson-item.selected * * * * * svg:not(.chevron,.lesson-icon),.sublesson-item.selected * * * * * svg:not(.chevron,.sublesson-icon),.lesson-content-header.selected * * * * * svg:not(.chevron){color:inherit}.course-title:hover{color:#333;background-color:#f5f5f5}.course-title.selected{color:#2b2b2b;background-color:gold;border-radius:.4vh;padding:.7vh .8vw;box-shadow:0 .1vh .2vh #0000001a}.module-item.selected{background-color:gold;color:#2b2b2b;box-shadow:0 .1vh .2vh #0000001a}.module-item.selected .module-icon{color:#2b2b2b}.lesson-item.selected{background-color:gold;color:#2b2b2b;box-shadow:0 .1vh .2vh #0000001a}.lesson-item.selected .lesson-icon{color:#2b2b2b}.lesson-content-header.selected{background-color:#c7b783;color:#2b2b2b;box-shadow:0 .1vh .2vh #0000001a}.sublesson-item.selected{background-color:gold;color:#2b2b2b;box-shadow:0 .1vh .2vh #0000001a}.sublesson-item.selected .sublesson-icon{color:#2b2b2b}.sublesson-item.selected .sublesson-icon .brain-icon{background:transparent!important;border-radius:0!important;box-shadow:none!important}.category-option.active{color:var(--accent-primary);text-shadow:0 0 1vh var(--accent-primary),0 0 2vh var(--accent-primary);font-weight:600}.content-item.selected{background-color:gold;color:#2b2b2b}.content-item.selected .content-icon,.content-item.selected .content-text{color:#2b2b2b}.create-button,.browse-button,.find-button[style*="background-color: var(--primary-color)"],.action-button[style*="background-color: var(--primary-color)"],button[style*="background-color: var(--primary-color)"],button[style*="background-color: var(--accent-primary)"],button[style*="background-color: var(--trust-color)"],button[style*="background: var(--primary-color)"],button[style*="background: var(--accent-primary)"],button[style*="background: var(--trust-color)"],.mastery-popup .popup-button,.mastery-popup .submit-button,.mastery-popup .cancel-button,.mastery-popup .form-group label,.mastery-popup .form-group input[type=text],.mastery-popup .form-group textarea,.mastery-popup .popup-actions button,.mastery-popup .popup-actions button:hover,.mastery-popup .popup-actions button:disabled,.mastery-popup .popup-actions button:disabled:hover,.mastery-popup .submit-button:hover,.mastery-popup .submit-button:disabled,.mastery-popup .submit-button:disabled:hover,.mastery-popup .cancel-button:hover,.mastery-popup .cancel-button:disabled,.mastery-popup .cancel-button:disabled:hover,.mastery-popup .submit-button:hover:disabled,.mastery-popup .submit-button:disabled:hover:disabled,.mastery-popup .submit-button:hover:disabled:disabled,.mastery-popup .cancel-button:hover:disabled,.mastery-popup .cancel-button:hover:disabled:disabled,.mastery-popup .submit-button:hover:disabled:disabled:hover,.mastery-popup .submit-button:disabled:hover:disabled:hover,.mastery-popup .cancel-button:disabled:hover:disabled,.mastery-popup .cancel-button:hover:disabled:disabled:hover,.mastery-popup .submit-button:hover:disabled:disabled:hover:hover,.mastery-popup .submit-button:disabled:hover:disabled:hover:hover,.mastery-popup .cancel-button:hover:disabled:disabled:hover:hover,.mastery-popup .cancel-button:disabled:hover:disabled:hover,.mastery-popup .submit-button:hover:disabled:disabled:hover:hover:hover,.mastery-popup .submit-button:disabled:hover:disabled:hover:hover:hover,.mastery-popup .cancel-button:hover:disabled:disabled:hover:hover:hover,.mastery-popup .cancel-button:disabled:hover:disabled:hover:hover,.mastery-popup .submit-button:hover:disabled:disabled:hover:hover:hover:hover:hover,.mastery-popup .submit-button:disabled:hover:disabled:hover:hover:hover:hover:hover,.mastery-popup .cancel-button:hover:disabled:disabled:hover:hover:hover:hover,.mastery-popup .cancel-button:disabled:hover:disabled:hover:hover:hover,.mastery-popup .submit-button:hover:disabled:disabled:hover:hover:hover:hover:hover:hover,.mastery-popup .submit-button:disabled:hover:disabled:hover:hover:hover:hover:hover:hover,.mastery-popup .cancel-button:hover:disabled:disabled:hover:hover:hover:hover:hover:hover,.mastery-popup .cancel-button:disabled:hover:disabled:hover:hover:hover:hover:hover:hover,.mastery-popup .submit-button:hover:disabled:disabled:hover:hover:hover:hover:hover:hover:hover,.mastery-popup .submit-button:disabled:hover:disabled:hover:hover:hover:hover:hover:hover:hover,.mastery-popup .cancel-button:hover:disabled:disabled:hover:hover:hover:hover:hover:hover:hover,.mastery-popup .cancel-button:disabled:hover:disabled:hover:hover:hover:hover:hover:hover:hover,.mastery-popup .submit-button:hover:disabled:disabled:hover:hover:hover:hover:hover:hover:hover:hover,.mastery-popup .submit-button:disabled:hover:disabled:hover:hover:hover:hover:hover:hover:hover:hover,.mastery-popup .cancel-button:hover:disabled:disabled:hover:hover:hover:hover:hover:hover:hover:hover,.mastery-popup .cancel-button:disabled:hover:disabled:hover:hover:hover:hover:hover:hover:hover:hover,.mastery-popup .submit-button:hover:disabled:disabled:hover:hover:hover:hover:hover:hover:hover:hover:hover,.mastery-popup .submit-button:disabled:hover:disabled:hover:hover:hover:hover:hover:hover:hover:hover:hover,.mastery-popup .submit-button:hover:disabled:disabled:hover:hover:hover:hover:hover:hover:hover:hover:hover:hover,.course-type-popup button,.popup-content button[style*="background-color: var(--primary-color)"]{background-color:var(--primary-color);color:#2b2b2b!important}.mastery-popup .submit-button:hover{background-color:var(--primary-color-dark);color:#2b2b2b!important}.gold-gamified,.library-vbux-icon,[class*=gold-gamified]{color:var(--gold-gamified)}span.gold-gamified,div.gold-gamified,p.gold-gamified,.gold-background{background-color:var(--gold-gamified);color:#2b2b2b!important}.library-vbux-container{display:flex;align-items:center;gap:.5rem;padding:.25rem .75rem;background-color:var(--bg-secondary);border-radius:4px;border:1px solid var(--border-default)}.library-vbux-amount{font-family:IBM Plex Mono,monospace;font-size:1.75vh;font-weight:500;color:var(--text-primary)}.library-logo{color:var(--accent-primary)}.library-page button[class*=primary],.library-page .btn-primary,.library-page .primary-button,.library-page button[style*=--primary-color],.library-page button[style*=--accent-primary],.library-page a[class*=primary],.library-page .primary-link{color:#2b2b2b!important}.toast-notification.success{background-color:var(--success-bg);color:var(--success-text)}.spinner{animation:spin 1.5s linear infinite;color:var(--accent-primary);will-change:transform}.practice-loading-spinner{background-color:#fff;color:var(--text-primary)}.drop-indicator{background-color:#4bb543cc;color:#fff}.question-badge.mcq{background-color:#e3f2fd;color:#1976d2}.question-badge.open-ended{background-color:#e8f5e9;color:#2e7d32}.library-header-icon{color:var(--text-secondary)}.library-header-icon:hover{color:var(--text-primary)}.diamond{color:var(--blue-gamified)}.circle{color:var(--green-gamified)}.triangle{color:var(--red-gamified)}.settings-button{color:var(--text-secondary)}.settings-button:hover{color:var(--text-primary)}.stop-course-button{color:var(--error-text)}.status-icon.gold{color:var(--gold-gamified)}.status-value{color:var(--text-primary)}.brain-icon.status-pending{filter:invert(51%) sepia(85%) saturate(1962%) hue-rotate(196deg) brightness(96%) contrast(94%)}.brain-icon.status-success{filter:invert(56%) sepia(61%) saturate(435%) hue-rotate(81deg) brightness(99%) contrast(88%)}.brain-icon.status-failure{filter:invert(40%) sepia(92%) saturate(2549%) hue-rotate(340deg) brightness(99%) contrast(96%)}.brain-icon.status-incomplete{filter:invert(50%) sepia(9%) saturate(11%) hue-rotate(22deg) brightness(93%) contrast(87%)}.course-title.selected:hover,.module-item.selected:hover,.lesson-item.selected:hover,.sublesson-item.selected:hover,.lesson-content-header.selected:hover{background-color:#c7b783;color:#2b2b2b}.course-title.selected:hover .chevron,.module-item.selected:hover .module-icon,.module-item.selected:hover .chevron,.lesson-item.selected:hover .lesson-icon,.lesson-item.selected:hover .chevron,.sublesson-item.selected:hover .sublesson-icon,.lesson-content-header.selected:hover .chevron.tiny,.lesson-content-header.selected:hover .lesson-title{color:#2b2b2b}.course-item.selected:hover .drag-handle,.module-item.selected:hover .drag-handle,.lesson-item.selected:hover .drag-handle,.sublesson-item.selected:hover .drag-handle,.course-item.selected:hover .context-trigger,.module-item.selected:hover .context-trigger,.lesson-item.selected:hover .context-trigger,.sublesson-item.selected:hover .context-trigger{color:#2b2b2b;opacity:.8}.course-title{font-size:2vh;font-weight:700;line-height:3.4vh}.module-item{font-size:1.75vh;font-weight:600;line-height:2.9vh}.lesson-item{font-size:1.75vh;font-weight:500;line-height:2.5vh}.sublesson-item{font-size:1.6vh;font-weight:400;line-height:2.2vh}html body .course-tree .course-title.selected,html body .course-tree .module-item.selected,html body .course-tree .lesson-item.selected,html body .course-tree .sublesson-item.selected,html body .course-tree .lesson-content-header.selected,html body .course-tree .course-title.selected *,html body .course-tree .module-item.selected *,html body .course-tree .lesson-item.selected *,html body .course-tree .sublesson-item.selected *,html body .course-tree .lesson-content-header.selected *,html body .course-tree .course-title.selected:hover,html body .course-tree .module-item.selected:hover,html body .course-tree .lesson-item.selected:hover,html body .course-tree .sublesson-item.selected:hover,html body .course-tree .lesson-content-header.selected:hover,html body .course-tree .course-title.selected:hover *,html body .course-tree .module-item.selected:hover *,html body .course-tree .lesson-item.selected:hover *,html body .course-tree .sublesson-item.selected:hover *,html body .course-tree .lesson-content-header.selected:hover *{color:#2b2b2b!important;background-color:#c7b783}html body[data-theme=dark] .course-tree .course-title.selected,html body[data-theme=dark] .course-tree .module-item.selected,html body[data-theme=dark] .course-tree .lesson-item.selected,html body[data-theme=dark] .course-tree .sublesson-item.selected,html body[data-theme=dark] .course-tree .lesson-content-header.selected,html body[data-theme=dark] .course-tree .course-title.selected *,html body[data-theme=dark] .course-tree .module-item.selected *,html body[data-theme=dark] .course-tree .lesson-item.selected *,html body[data-theme=dark] .course-tree .sublesson-item.selected *,html body[data-theme=dark] .course-tree .lesson-content-header.selected *,html body[data-theme=dark] .course-tree .course-title.selected:hover,html body[data-theme=dark] .course-tree .module-item.selected:hover,html body[data-theme=dark] .course-tree .lesson-item.selected:hover,html body[data-theme=dark] .course-tree .sublesson-item.selected:hover,html body[data-theme=dark] .course-tree .lesson-content-header.selected:hover,html body[data-theme=dark] .course-tree .course-title.selected:hover *,html body[data-theme=dark] .course-tree .module-item.selected:hover *,html body[data-theme=dark] .course-tree .lesson-item.selected:hover *,html body[data-theme=dark] .course-tree .sublesson-item.selected:hover *,html body[data-theme=dark] .course-tree .lesson-content-header.selected:hover *{color:#2b2b2b!important;background-color:#cfbe97}.lesson-content-container{margin-left:2.2vw;margin-top:.4vh;border-left:1px solid rgba(0,0,0,.1)}.lesson-content-header{display:flex;align-items:center;padding:.6vh .8vw;cursor:pointer;border-radius:.4vh;margin-bottom:.4vh;color:#797979;font-size:1.75vh;line-height:2.4vh;font-weight:500;transition:all .2s ease}.lesson-content-header .chevron.tiny{margin-right:5px;min-width:10px;transition:none;color:#797979}.lesson-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:1.7vh;line-height:2.3vh;font-weight:500;color:#797979;transition:color .2s ease}.lesson-content-header:not(.selected):hover{background-color:#f2e2d0;color:#4a4a4a}.lesson-content-header:not(.selected):hover .chevron.tiny,.lesson-content-header:not(.selected):hover .lesson-title{color:#4a4a4a}.lesson-content-header.selected{background-color:#c7b783;color:#2b2b2b;font-weight:600;box-shadow:0 .1vh .2vh #0000001a}.lesson-content-header.selected .chevron.tiny,.lesson-content-header.selected .lesson-title{color:#2b2b2b}.lesson-content-items{margin-left:15px}[data-theme=dark] .course-title.selected,[data-theme=dark] .module-item.selected,[data-theme=dark] .lesson-item.selected,[data-theme=dark] .sublesson-item.selected,[data-theme=dark] .lesson-content-header.selected,[data-theme=dark] .content-item.selected,[data-theme=dark] .category-option.active,[data-theme=dark] .start-button,[data-theme=dark] .create-button,[data-theme=dark] .browse-button,[data-theme=dark] .mastery-popup .popup-button,[data-theme=dark] button[style*="background-color: var(--primary-color)"],[data-theme=dark] button[style*="background-color: var(--accent-primary)"],[data-theme=dark] .library-page button[class*=primary],[data-theme=dark] .course-title.selected *,[data-theme=dark] .module-item.selected *,[data-theme=dark] .lesson-item.selected *,[data-theme=dark] .sublesson-item.selected *,[data-theme=dark] .lesson-content-header.selected *,[data-theme=dark] .content-item.selected *{color:#2b2b2b!important}html body[data-theme=dark] .course-tree .course-title.selected,html body[data-theme=dark] .course-tree .module-item.selected,html body[data-theme=dark] .course-tree .lesson-item.selected,html body[data-theme=dark] .course-tree .sublesson-item.selected,html body[data-theme=dark] .course-tree .lesson-content-header.selected,html body[data-theme=dark] .course-tree .course-title.selected:hover,html body[data-theme=dark] .course-tree .module-item.selected:hover,html body[data-theme=dark] .course-tree .lesson-item.selected:hover,html body[data-theme=dark] .course-tree .sublesson-item.selected:hover,html body[data-theme=dark] .course-tree .lesson-content-header.selected:hover{color:#2b2b2b!important;background-color:#cfbe97!important}html body[data-theme=dark] .course-tree .course-title.selected *,html body[data-theme=dark] .course-tree .module-item.selected *,html body[data-theme=dark] .course-tree .lesson-item.selected *,html body[data-theme=dark] .course-tree .sublesson-item.selected *,html body[data-theme=dark] .course-tree .lesson-content-header.selected *,html body[data-theme=dark] .course-tree .course-title.selected:hover *,html body[data-theme=dark] .course-tree .module-item.selected:hover *,html body[data-theme=dark] .course-tree .lesson-item.selected:hover *,html body[data-theme=dark] .course-tree .sublesson-item.selected:hover *,html body[data-theme=dark] .course-tree .lesson-content-header.selected:hover *{color:#2b2b2b!important}.mobile-content-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:var(--color-overlay);z-index:9999;display:flex;justify-content:center;align-items:center;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.mobile-content-actions{width:85vw;max-width:400px;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:2vh;padding:4vh 5vw;box-shadow:0 .5vh 2vh var(--color-overlay);display:flex;flex-direction:column;align-items:center;gap:3vh}[data-theme=dark] .mobile-content-actions{background:var(--glass-bg-dark);border:var(--glass-border-dark);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}[data-theme=light] .mobile-content-actions{background:var(--glass-bg-light);border:var(--glass-border-light);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.mobile-content-actions h3{font-size:2.5vh;margin:0;text-align:center;color:var(--text-primary);font-weight:500}.mobile-practice-btn{width:100%;padding:2vh 0;background-color:var(--color-blue);color:var(--text-inverse);border:none;border-radius:1vh;font-size:2.2vh;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:var(--gradient-info-glow)}.mobile-practice-btn:hover,.mobile-practice-btn:active{background-color:var(--color-blue);opacity:.9;transform:translateY(-.2vh);box-shadow:var(--gradient-info-glow)}.mobile-close-btn{width:100%;padding:1.5vh 0;background-color:transparent;color:var(--text-secondary);border:1px solid var(--color-border);border-radius:1vh;font-size:2vh;font-weight:400;cursor:pointer;transition:all .2s ease}.mobile-close-btn:hover,.mobile-close-btn:active{background-color:var(--color-elevated);color:var(--text-primary);border-color:var(--gray-50)}.breadcrumbs-container{display:flex;align-items:center;font-family:DM Sans,sans-serif;font-size:1.4vh;color:var(--text-primary);padding:0;overflow-x:auto;white-space:nowrap;width:100%;border-radius:.8vh}.breadcrumb-item{display:flex;align-items:center;color:var(--text-primary);text-decoration:none;background-color:transparent;transition:all .2s ease;padding:.4vh .8vw;border-radius:.4vh;cursor:pointer}.breadcrumb-item:hover{background-color:transparent;color:var(--mode-theme, #ffe6c8);text-shadow:0 0 .03vh #00ff41,0 0 .06vh #00ff41,0 0 .09vh #00ff41;filter:drop-shadow(0 0 .02vh #00ff41);opacity:.9}.breadcrumb-item.active{background-color:transparent;color:var(--mode-theme, #ffe6c8);font-weight:500;text-shadow:0 0 .03vh #00b3ff,0 0 .06vh #00b3ff,0 0 .09vh #00b3ff;filter:drop-shadow(0 0 .02vh #00b3ff);opacity:1}.breadcrumb-separator{margin:0 .5vw;display:flex;align-items:center;color:var(--text-primary)}.breadcrumb-icon{margin-right:.8vw;display:flex;align-items:center}.breadcrumb-text{font-size:1.75vh}.header-breadcrumbs-row .breadcrumb-text{max-width:15vw;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.header-breadcrumbs-row .breadcrumb-separator,.header-breadcrumbs-row .breadcrumb-icon{flex-shrink:0}.header-breadcrumbs-row .breadcrumb-item{flex-shrink:0;max-width:17vw}@media (max-width: 768px){.breadcrumbs-container{padding:0}.breadcrumb-text{font-size:1.2vh}.header-breadcrumbs-row .breadcrumb-text{max-width:12vw}.header-breadcrumbs-row .breadcrumb-item{max-width:14vw}}@media (max-width: 480px){.header-breadcrumbs-row .breadcrumb-text{max-width:10vw}.header-breadcrumbs-row .breadcrumb-item{max-width:12vw}}.vbux-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.vbux-modal-container{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:16px;box-shadow:0 20px 40px #00000026;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out;border:1px solid rgba(255,255,255,.2)}.vbux-modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 16px;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:16px 16px 0 0}.vbux-modal-title{display:flex;align-items:center;gap:16px}.vbux-icon{font-size:32px;background:#fff3;border-radius:12px;padding:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.vbux-modal-title h2{margin:0;font-size:24px;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.1)}.content-title{margin:4px 0 0;font-size:14px;opacity:.9;font-weight:400}.vbux-modal-close{background:#fff3;border:none;border-radius:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.vbux-modal-close:hover:not(:disabled){background:#ffffff4d;transform:scale(1.05)}.vbux-modal-close:disabled{opacity:.5;cursor:not-allowed}.vbux-modal-form{padding:24px}.form-group{margin-bottom:24px}.form-label{display:block;margin-bottom:8px;font-weight:600;color:#374151;font-size:14px}.required{color:#ef4444}.vbux-amount-input{position:relative;display:flex;align-items:center}.vbux-symbol{position:absolute;left:12px;font-size:18px;z-index:1;color:#667eea}.form-input{width:100%;padding:12px 12px 12px 44px;border:2px solid #e2e8f0;border-radius:8px;font-size:16px;transition:all .2s ease;background:#fff}.form-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-input.error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.error-message{display:block;margin-top:6px;color:#ef4444;font-size:12px;font-weight:500}.assignment-type-options{display:flex;flex-direction:column;gap:12px}.radio-option{display:flex;align-items:flex-start;gap:12px;padding:16px;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s ease;background:#fff}.radio-option:hover{border-color:#667eea;background:#f8fafc}.radio-option input[type=radio]{margin:0;width:18px;height:18px;accent-color:#667eea;cursor:pointer}.radio-option input[type=radio]:checked+.radio-content{color:#667eea}.radio-option:has(input[type=radio]:checked){border-color:#667eea;background:linear-gradient(135deg,#667eea0d,#764ba20d)}.radio-content{flex:1}.radio-title{font-weight:600;color:#374151;margin-bottom:4px}.radio-description{font-size:13px;color:#6b7280;line-height:1.4}.checkbox-option{display:flex;align-items:flex-start;gap:12px;padding:16px;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s ease;background:#fff}.checkbox-option:hover{border-color:#667eea;background:#f8fafc}.checkbox-option input[type=checkbox]{margin:0;width:18px;height:18px;accent-color:#667eea;cursor:pointer}.checkbox-option:has(input[type=checkbox]:checked){border-color:#667eea;background:linear-gradient(135deg,#667eea0d,#764ba20d)}.checkbox-content{flex:1}.checkbox-title{font-weight:600;color:#374151;margin-bottom:4px}.checkbox-description{font-size:13px;color:#6b7280;line-height:1.4}.vbux-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px;border-top:1px solid #e2e8f0}.btn-secondary{padding:12px 24px;border:2px solid #e2e8f0;border-radius:8px;background:#fff;color:#374151;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:14px}.btn-secondary:hover:not(:disabled){border-color:#d1d5db;background:#f9fafb}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-primary{padding:12px 24px;border:none;border-radius:8px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:14px;display:flex;align-items:center;gap:8px;box-shadow:0 4px 12px #667eea4d}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #667eea66}.btn-primary:disabled{opacity:.7;cursor:not-allowed;transform:none}.loading-spinner{display:flex;align-items:center;gap:8px}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.btn-icon{font-size:16px}.existing-assignment-info{margin:16px 24px 0;padding:16px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:8px;border:1px solid #bae6fd}.info-header{font-weight:600;color:#0369a1;margin-bottom:8px;font-size:14px}.info-details{display:flex;flex-direction:column;gap:4px}.info-details span{font-size:13px;color:#0c4a6e}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 640px){.vbux-modal-container{width:95%;margin:20px}.vbux-modal-header{padding:20px 16px 12px}.vbux-modal-title h2{font-size:20px}.vbux-modal-form{padding:20px 16px}.vbux-modal-actions{flex-direction:column-reverse}.btn-secondary,.btn-primary{width:100%;justify-content:center}}.vbux-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.vbux-modal-content{background:#fff;padding:2rem 2.5rem;border-radius:16px;box-shadow:0 8px 32px #0000002e;min-width:320px;max-width:90vw;display:flex;flex-direction:column;align-items:center;position:relative}.vbux-modal-content h2{margin-bottom:1.5rem;font-size:1.4rem;font-weight:600;color:#222}.vbux-purchase-form{display:flex;flex-direction:column;align-items:center;width:100%}.vbux-purchase-form input[type=number],.vbux-purchase-form input[type=text]{padding:.7rem 1rem;font-size:1.1rem;border:1px solid #d1d5db;border-radius:8px;margin-bottom:1.2rem;width:180px;outline:none;transition:border .2s}.vbux-purchase-form input:focus{border:1.5px solid #4f46e5}.vbux-purchase-form button{background:#4f46e5;color:#fff;font-size:1.1rem;padding:.7rem 2.2rem;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:background .18s,box-shadow .18s;box-shadow:0 2px 8px #4f46e514}.vbux-purchase-form button:hover{background:#3730a3}.vbux-modal-close{position:absolute;top:1.1rem;right:1.1rem;background:transparent;border:none;font-size:1.3rem;color:#888;cursor:pointer;transition:color .18s}.vbux-modal-close:hover{color:#222}.vbux-purchase-price{margin-bottom:1.1rem;font-size:1.08rem;color:#333}.vbux-purchase-error{color:#d32f2f;background:#fff0f0;border:1px solid #f8bbbc;border-radius:6px;padding:.5rem 1rem;margin-bottom:1rem;font-size:.98rem;text-align:center}@media (max-width: 480px){.vbux-modal-content{padding:1.2rem .5rem;min-width:90vw}.vbux-purchase-form input{width:100%}}.vbux-balance-display{position:relative;display:inline-flex;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:8px 16px;color:#fff;font-weight:600;box-shadow:0 4px 12px #667eea4d;transition:all .3s ease;overflow:hidden;min-width:80px}.vbux-balance-display.clickable{cursor:pointer}.vbux-balance-display.clickable:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.vbux-balance-content{display:flex;align-items:center;gap:8px;position:relative;z-index:2}.vbux-icon{position:relative;display:flex;align-items:center;justify-content:center;font-size:20px}.vbux-gem{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.vbux-sparkle{position:absolute;top:-4px;right:-4px;font-size:12px;animation:sparkle 2s ease-in-out infinite}.vbux-info{display:flex;flex-direction:column;align-items:flex-start;line-height:1}.vbux-amount{font-size:18px;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.1)}.vbux-label{font-size:11px;opacity:.9;font-weight:500;margin-top:2px}.vbux-details{display:flex;flex-direction:column;gap:4px;margin-left:12px;padding-left:12px;border-left:1px solid rgba(255,255,255,.3)}.vbux-stat{display:flex;align-items:center;gap:6px;font-size:11px}.stat-label{opacity:.8;font-weight:500}.stat-value{font-weight:600}.stat-value.earned{color:#10b981}.stat-value.spent{color:#f59e0b}.vbux-school{display:flex;align-items:center;gap:6px;font-size:10px;margin-top:2px}.school-label{opacity:.7;font-weight:500}.school-name{font-weight:600;opacity:.9}.vbux-balance-display.high{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b9814d}.vbux-balance-display.high.clickable:hover{box-shadow:0 6px 16px #10b98166}.vbux-balance-display.medium{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 12px #f59e0b4d}.vbux-balance-display.medium.clickable:hover{box-shadow:0 6px 16px #f59e0b66}.vbux-balance-display.low{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #ef44444d}.vbux-balance-display.low.clickable:hover{box-shadow:0 6px 16px #ef444466}.vbux-balance-display.empty{background:linear-gradient(135deg,#6b7280,#4b5563);box-shadow:0 4px 12px #6b72804d}.vbux-balance-display.empty.clickable:hover{box-shadow:0 6px 16px #6b728066}.vbux-balance-display.loading{background:linear-gradient(135deg,#e5e7eb,#d1d5db);color:#6b7280;box-shadow:0 4px 12px #d1d5db4d}.loading-shimmer{background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px;display:inline-block;width:30px;height:16px}.vbux-balance-display.error{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #ef44444d}.vbux-glow-effect{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at center,rgba(255,255,255,.1) 0%,transparent 70%);border-radius:12px;animation:glow 3s ease-in-out infinite alternate;pointer-events:none}@keyframes sparkle{0%,to{opacity:1;transform:scale(1) rotate(0)}50%{opacity:.7;transform:scale(1.2) rotate(180deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes glow{0%{opacity:.3}to{opacity:.6}}.vbux-balance-display.compact{padding:6px 12px;min-width:60px}.vbux-balance-display.compact .vbux-icon{font-size:16px}.vbux-balance-display.compact .vbux-amount{font-size:14px}.vbux-balance-display.compact .vbux-label{font-size:10px}.vbux-balance-display.large{padding:12px 20px;border-radius:16px}.vbux-balance-display.large .vbux-icon{font-size:28px}.vbux-balance-display.large .vbux-amount{font-size:24px}.vbux-balance-display.large .vbux-label{font-size:12px}@media (max-width: 640px){.vbux-balance-display{padding:6px 12px;min-width:70px}.vbux-icon{font-size:18px}.vbux-amount{font-size:16px}.vbux-label{font-size:10px}.vbux-details{display:none}}@media (prefers-color-scheme: dark){.vbux-balance-display.loading{background:linear-gradient(135deg,#374151,#1f2937);color:#9ca3af}}.vbux-purchase-button{background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;margin-left:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.vbux-purchase-button:hover{background:#ffffff4d;border-color:#ffffff80;transform:scale(1.1)}.vbux-purchase-button:active{transform:scale(.95)}.purchase-icon{color:#fff;font-size:16px;font-weight:700;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.2)}@media (max-width: 640px){.vbux-purchase-button{width:24px;height:24px;margin-left:6px}.purchase-icon{font-size:14px}}.practice1-content{position:relative;padding:0;height:100vh;min-height:80vh;overflow:visible;background-color:var(--bg-card)}.practice1-breadcrumbs-container{position:absolute;top:1vh;left:2vw;right:2vw;height:5vh;z-index:10;background-color:transparent;border-radius:.8vh;padding:0 1vw;-webkit-backdrop-filter:blur(.8vh);backdrop-filter:blur(.8vh);border:none;display:flex;align-items:center;box-shadow:none;transition:all .3s ease}.practice1-content-row{position:absolute;top:5vh;left:2vw;right:2vw;height:46vh;display:grid;grid-template-columns:20vw 39vw 20vw;gap:1vh 1vw}.empty-column{grid-column:2;height:100%}.practice1-stats-container{position:relative;grid-column:1;height:100%;background-color:transparent;border-radius:.8vh;padding:1vh 1vw;justify-self:center;display:flex;flex-direction:column;align-items:center}.practice1-practice-module{position:absolute;top:8vh;left:50%;transform:translate(-50%);height:50vh;width:35vw;background-color:var(--bg-tertiary, #323232);border-radius:.5vh;padding:1vh 1vw;border:.01vh solid transparent;overflow-y:auto;z-index:5;animation:iridescent-border 5s linear infinite;box-shadow:0 0 1vh #fff3;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-wrap:break-word;word-wrap:break-word}.practice1-practice-module.perf-mode,.practice1-practice-module.perf-mode *{animation:none!important;transition:none!important;box-shadow:none!important;filter:none!important}.practice-text-content{width:100%;max-width:100%;overflow-wrap:break-word;word-wrap:break-word;padding:.5vh .5vw}.practice-text-lines{width:100%;max-width:100%;overflow-wrap:break-word;word-wrap:break-word}.practice-text-line{width:100%;max-width:100%;overflow-wrap:break-word;word-wrap:break-word;white-space:pre-wrap}.practice1-media-section{grid-column:3;height:100%;display:flex;flex-direction:column;align-items:center;max-height:none;overflow:visible;padding-bottom:2vh;margin-top:3vh;position:relative;top:3vh}.practice1-webcam-container{position:absolute;top:43vh;left:9vw;width:15vh;height:15vh;border-radius:7.5vh;overflow:hidden;z-index:10}.practice1-keyboard-section{position:absolute;bottom:2vh;left:2vw;right:2vw;height:25vh;z-index:100}.practice1-content .test-score-comparison1-container{margin:0 auto;width:55vw;position:relative}.practice1-loading,.practice1-error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:20}.practice1-section-title{position:relative;font-family:Saira,sans-serif;font-size:2vh;font-weight:600;color:var(--text-heading);margin:0 0 .5vh;display:flex;flex-direction:column;align-items:center;text-align:center;width:100%}.section-title-text{margin:0;color:var(--text-heading);font-size:1.6vh;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;width:100%}.practice1-audio-player-container{width:16vw}.practice1-video-player-container{width:16vw;border-radius:.8vh;padding:.5vh .5vw;overflow:visible}.practice1-audio-player-wrapper,.practice1-video-player-wrapper{margin-top:.5vh}.practice1-video-player-wrapper{width:16vw;height:15vh;margin-top:.5vh;padding-bottom:3vh;position:relative;display:flex;align-items:center;justify-content:center;background-color:#000;border-radius:.25vh;box-sizing:content-box!important;overflow:visible!important;z-index:9000}.practice1-media-section .practice1-video-player-wrapper,.practice1-media-section .practice1-video-player-wrapper *{overflow:visible!important}.practice1-video-player-wrapper video,.practice1-video-player-wrapper .video-player{width:15vw;height:14vh;-o-object-fit:contain;object-fit:contain;display:block;position:relative;margin:0 auto;padding-bottom:3vh;overflow:visible}.practice1-video-player-wrapper:before{content:"Video could not be loaded";position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.6vh;color:var(--text-primary);background-color:var(--bg-primary);z-index:-1;opacity:0;transition:opacity .3s ease,z-index 0s .3s}.practice1-video-player-wrapper.error:before{z-index:1;opacity:1;transition:opacity .3s ease}.practice1-submit-button{background-color:#4caf50;color:var(--text-primary);padding:.75vh 1vw;border:none;border-radius:.25vh;cursor:pointer;font-weight:500;font-size:1.6vh;transition:all .3s ease;width:100%;text-transform:none}.practice1-submit-button:hover{background-color:#45a049;box-shadow:0 0 .8vh #4caf5099}.practice1-test-score-container{width:100%;margin-top:1.5vh;background-color:var(--bg-secondary);border-radius:.8vh;border:.01vh solid var(--border-default);padding:1.5vh 1.5vw;box-shadow:0 0 1.2vh #00ffff4d;margin-bottom:0}.practice1-test-score-wrapper{margin-top:1vh;display:flex;justify-content:center}.practice1-content-row{display:grid;grid-template-columns:20vw 39vw 20vw;gap:1vh 1vw;margin-bottom:1vh}.practice1-media-section{display:flex;flex-direction:column;gap:.5vh}.practice1-audio-player-container,.practice1-video-player-container{border-radius:.8vh;padding:.5vh .5vw}.practice1-audio-player-wrapper,.practice1-video-player-wrapper{margin-top:.75vh;width:100%}.practice1-video-player-wrapper{position:relative;padding-top:50%;width:100%;overflow:hidden}.practice1-video-player-wrapper .video-player{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.practice1-audio-player-container .audio-player-with-waveform{width:100%}.practice1-keyboard-container{width:100%;padding:.5vh .5vw;background-color:var(--bg-tertiary, rgba(30, 30, 30, .5));border-radius:1.6vh;display:flex;flex-direction:column;align-items:center;box-shadow:0 .8vh 1.6vh #0003;position:relative;z-index:10;overflow:visible;margin-top:1vh;border-top:none}.practice1-keyboard-wrapper{width:100%;min-height:25vh;display:flex;justify-content:center;align-items:center;position:relative;z-index:20}.practice1-keyboard-wrapper .keyboard-display{z-index:30!important;visibility:visible!important;opacity:1!important}.practice1-keyboard-container:before{content:"";position:absolute;top:-.5vh;left:-.5vw;right:-.5vw;bottom:-.5vh;background:transparent;border-radius:2vh;z-index:5;box-shadow:0 0 1.5vh #c7b7834d;pointer-events:none}.practice-completion-overlay{position:fixed;top:6vh;left:12vw;width:88vw;height:94vh;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:40000;-webkit-backdrop-filter:blur(.8vh);backdrop-filter:blur(.8vh)}.summary-recording-container,.summary-typing-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:40vh;width:100%;padding:2vh 2vw}.recording-prompt,.typing-prompt{text-align:center;padding:3vh 2vw}.recording-prompt-actions,.typing-prompt-actions{display:flex;gap:1vw;justify-content:center;align-items:center;margin-top:2vh}.recording-prompt-actions button{min-width:180px;width:180px;height:50px;white-space:nowrap;display:flex;align-items:center;justify-content:center;margin:0!important;padding:0!important;line-height:1!important}.recording-icon,.typing-icon{font-size:4vh;margin-bottom:2vh}.start-recording-button,.start-typing-button{background:var(--accent-primary)!important;color:var(--text-inverted)!important;border:none!important;padding:1.5vh 3vw!important;font-size:2vh!important;font-weight:500!important;border-radius:.8vh!important;cursor:pointer!important;transition:all .3s ease!important}.start-recording-button:hover,.start-typing-button:hover{background:var(--accent-hover)!important;transform:translateY(-.2vh)!important}.recording-active,.typing-active{text-align:center;padding:2vh 2vw;width:100%}.recording-indicator,.typing-indicator{display:flex;align-items:center;justify-content:center;gap:1vw;margin-bottom:2vh;font-size:1.2vh;font-weight:500;color:var(--text-primary)}.recording-dot{width:1vh;height:1vh;background-color:#f44;border-radius:50%;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.stop-recording-button{background:#f44!important;color:var(--text-primary)!important;border:none!important;padding:1.5vh 3vw!important;font-size:1.2vh!important;border-radius:1vh!important;cursor:pointer!important;transition:all .3s ease!important;margin-top:2vh!important}.stop-recording-button:hover{background:#f66!important;transform:translateY(-.2vh)!important}.summary-textarea{width:100%;max-width:60vw;min-height:20vh;padding:1.5vh 1.5vw;border:.1vh solid var(--border-default);border-radius:1vh;background-color:var(--bg-secondary);color:var(--text-primary);font-size:1vh;font-family:DM Sans,sans-serif;line-height:1.5;resize:vertical;outline:none;transition:border-color .3s ease}.summary-textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 .2vh #c7b78333}.typing-actions{display:flex;gap:1vw;margin-top:2vh;justify-content:center}.recording-complete,.typing-complete{text-align:center;padding:2vh 2vw;width:100%}.recording-success,.typing-success{margin-bottom:2vh}.success-icon{font-size:3vh;margin-bottom:1vh}.recording-actions,.typing-actions{display:flex;gap:1vw;justify-content:center;margin-top:2vh}.secondary-button{background:var(--accent-primary)!important;color:var(--text-inverted)!important;border:none!important;padding:1.5vh 3vw!important;font-size:2vh!important;font-weight:500!important;border-radius:.8vh!important;cursor:pointer!important;transition:all .3s ease!important}.secondary-button:hover{background:var(--accent-hover)!important;transform:translateY(-.2vh)!important;box-shadow:0 .4vh 1vh #c7b78366!important}.summary-preview{margin:2vh 0;text-align:left;max-width:60vw}.summary-preview h4{color:var(--text-heading);font-size:1.2vh;margin-bottom:1vh;font-family:Saira,sans-serif}.summary-text-preview{background-color:var(--bg-secondary);border:.1vh solid var(--border-default);border-radius:1vh;padding:1.5vh 1.5vw;color:var(--text-primary);font-size:1vh;line-height:1.5;max-height:15vh;overflow-y:auto;white-space:pre-wrap;word-wrap:break-word}@media (max-width: 768px){.summary-textarea,.summary-preview{max-width:80vw}.recording-actions,.typing-actions{flex-direction:column;align-items:center}.secondary-button,.start-recording-button,.start-typing-button,.stop-recording-button{width:100%;max-width:30vw}}.practice-completion-popup{width:90vw;height:95vh;background-color:var(--bg-card);border-radius:1.6vh;overflow:hidden;-webkit-backdrop-filter:blur(.8vh);backdrop-filter:blur(.8vh);border:.01vh solid var(--border-default);box-shadow:0 0 1.2vh #00ffff1a;animation:popup-fade-in .4s ease-out;display:flex;flex-direction:column;position:relative}.practice-completion-popup.typing-step{width:90vw;height:95vh;margin:0 auto;overflow:visible;position:relative;display:flex;flex-direction:column;border-radius:1.2vh;box-sizing:border-box}.practice-completion-popup.typing-step .popup-header{margin-top:-1.2vh;border-radius:1.2vh 1.2vh 0 0;width:90vw;background:none}.practice-completion-popup.typing-step .popup-content-typing{height:87vh;width:86vw;overflow:visible;display:flex;flex-direction:column;padding:2vh 2vw 0 2vw;box-sizing:border-box}.practice-completion-popup.typing-step .popup-content-typing .test-score-comparison1-container{margin-top:.5vh;padding-bottom:0;width:86vw;overflow:visible}.popup-advanced-keyboard{display:none}.stats-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1vh 1vw;margin-bottom:2vh}.summary-item{display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--bg-tertiary);padding:1vh;border-radius:.4vh}.summary-label{font-size:1.2vh;color:var(--text-secondary);margin-bottom:.5vh}.summary-value{font-size:1.6vh;font-weight:600;color:var(--text-heading)}.popup-message{text-align:center;margin:1vh 0 2vh;font-size:2.4vh}.popup-actions{display:flex;justify-content:center;gap:1.5vw;margin-top:auto;padding:2vh 0}.popup-action-button{padding:1vh 2vw;border:none;border-radius:.8vh;font-weight:500;font-size:2vh;cursor:pointer;transition:all .3s ease;background-color:var(--accent-primary);color:#2b2b2b}.popup-action-button:hover{transform:translateY(-.2vh);box-shadow:0 .4vh 1vh #c7b78366}.popup-question{font-size:2.2vh;line-height:1.6;color:var(--text-primary, #ffffff);margin-bottom:2vh;text-align:center;font-weight:500}.mb-4{margin-bottom:2vh}.options-list{display:flex;flex-direction:column;gap:1vh;width:80%;margin:0 auto}.option-item{display:flex;align-items:center;gap:2vw;padding:2vh 2vw;border-radius:1vh;background-color:#fff;border:.01vh solid var(--border-default);cursor:pointer;transition:all .2s ease;color:#333}.option-item:hover{background-color:#f0f8ff;transform:translateY(-.2vh);border-color:var(--accent-primary);box-shadow:0 0 .8vh #c7b7834d;color:#333}.option-item.selected{background-color:#e6f3ff;border-color:var(--accent-primary);color:#333;box-shadow:0 0 1vh #c7b78366}.answer-input-container{margin:2vh 0 3vh;width:86vw}.answer-textarea{width:40%!important;height:30vh;padding:1.5vh 1.5vw;border-radius:.8vh;border:.01vh solid var(--border-default);background-color:var(--input-bg, #373A3D);color:var(--text-primary);font-family:Source Code Pro,monospace;font-size:2.2vh;width:60vw;margin:0 auto;display:block;resize:none}.popup-actions{display:flex;justify-content:center;gap:2vw;margin-top:auto;padding:2.5vh 0}.submit-button.disabled{opacity:.6;cursor:not-allowed;background-color:var(--bg-tertiary);color:var(--text-secondary);box-shadow:none;transform:none}.popup-keyboard{margin-bottom:1.5vh;background-color:var(--bg-secondary, #2e2e2e);border-radius:.8vh;padding:.8vh .8vw;border:.01vh solid var(--border-default, #494949)}.popup-keyboard .keyboard-row{display:flex;justify-content:center;margin-bottom:.5vh}.popup-keyboard .keyboard-row:last-child{margin-bottom:0}.popup-keyboard .keyboard-key{display:flex;align-items:center;justify-content:center;height:3.6vh;margin:0 .3vw;background-color:var(--bg-tertiary, #424242);border-radius:.4vh;color:var(--text-primary, #ffffff);font-size:2.5vh;text-transform:uppercase;border:.01vh solid transparent;transition:all .2s ease}.popup-keyboard .keyboard-key.active{background-color:#c7b78333;border-color:var(--accent-primary, #c7b783);transform:translateY(-.2vh);color:var(--accent-primary, #c7b783);box-shadow:0 .2vh .5vh #0003}.popup-keyboard .space-key{width:15vw}.practice1-hint-container{background-color:var(--bg-tertiary, #4C4C4C);border-radius:1vh;margin-bottom:1vh;padding:1vh 1.5vw;display:flex;align-items:center;justify-content:space-between;box-shadow:0 0 .5vh #0003;width:15vw;margin-left:auto;margin-right:auto}.hint-label{font-size:1.4vh;font-weight:500;color:var(--text-secondary, #A6A6A6)}.hint-key{display:flex;align-items:center;justify-content:center;width:4vh;height:4vh;background-color:var(--bg-main, #323232);border:.01vh solid var(--border-default, #5D5D5D);border-radius:.6vh;font-size:2vh;font-weight:600;color:var(--blue-gamified, #90B8F0);box-shadow:0 .2vh .4vh #0000004d;text-shadow:0 0 .5vh rgba(136,184,240,.5);transition:all .2s ease}[data-theme=light] .hint-key{color:#08586e;text-shadow:0 0 .5vh rgba(8,88,110,.3)}.practice1-webcam-container .webcam-container{width:15vh!important;height:15vh!important;border-radius:7.5vh!important;transition:all .5s ease-in-out;z-index:10;margin:0;position:static}.practice1-webcam-container .webcam-container:hover{transform:scale(1.1)}.webcam-in-popup{position:absolute!important;top:1vh!important;right:1vw!important;width:8vh!important;height:8vh!important;z-index:50000!important;border-radius:4vh!important;overflow:hidden!important;border:.01vh solid var(--border-default)!important;box-shadow:0 0 1vh #0003!important;transition:all .3s ease-in-out!important}.practice-completion-popup.typing-step{padding-bottom:12vh}.practice1-content .test-score-comparison1-container{margin:0 auto;width:100%;position:relative}.option-marker{display:flex;align-items:center;justify-content:center;height:3vh;background-color:var(--accent-primary, #C7B783);color:#2b2b2b;font-size:1.6vh;font-weight:600;border-radius:50%;margin-right:1vw}.option-text{font-size:2vh;line-height:1.6;color:var(--text-primary, #ffffff)}.answer-textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 .8vh #c7b78366}.answer-textarea::-moz-placeholder{color:var(--text-secondary, #A8A8A8);opacity:.7}.answer-textarea::placeholder{color:var(--text-secondary, #A8A8A8);opacity:.7}.popup-header{padding:1.5vh 2vw;text-align:center;border-bottom:.1vh solid var(--border-default)}.popup-header h2{margin:0;color:var(--text-heading);font-size:2.8vh;font-weight:600;text-transform:none;letter-spacing:.15vw}.popup-content{height:87vh;width:86vw;padding:2vh 2vw;overflow-y:auto;display:flex;flex-direction:column}.popup-webcam-container{position:absolute;top:1vh;right:1vw;width:10vh;height:10vh;z-index:100;display:flex;justify-content:center;align-items:center;border-radius:5vh;overflow:hidden;box-shadow:0 0 1vh #0003}.popup-webcam-container .webcam-container{width:10vh;height:10vh;border-radius:5vh;overflow:hidden;border:.01vh solid var(--border-default)}.no-overflow,.no-overflow *,.practice1-video-player-wrapper,.practice1-video-player-wrapper *{overflow:visible!important}.practice1-video-player-wrapper video::-webkit-media-controls,.practice1-video-player-wrapper video::-webkit-media-controls-panel,.practice1-video-player-wrapper video::-webkit-media-controls-panel-container,.practice1-video-player-wrapper video::-webkit-media-controls-play-button{display:inline!important;opacity:1!important;visibility:visible!important}.practice1-video-player-wrapper.no-overflow{width:16vw;height:20vh;min-height:15vh;max-height:25vh;overflow:visible!important;padding-bottom:5vh;box-sizing:content-box;position:relative;margin-bottom:5vh}.practice1-video-player-wrapper.no-overflow video,.practice1-video-player-wrapper.no-overflow .video-player{width:16vw;height:20vh;min-height:15vh;max-height:25vh;overflow:visible;padding-bottom:5vh;box-sizing:content-box}.practice1-media-item{width:100%;height:auto;margin-bottom:1vh}.practice1-media-item .video-player{width:100%;height:auto}.title-wrapper{position:relative;display:inline-block}.title-tooltip{position:absolute;top:-3vh;left:50%;transform:translate(-50%);background:var(--bg-secondary);color:var(--text-primary);padding:.5vh 1vw;border-radius:.4vh;font-size:1.2vh;white-space:nowrap;opacity:0;visibility:hidden;transition:all .3s ease;z-index:1000}.title-tooltip:after{content:"";position:absolute;top:100%;left:50%;margin-left:-.5vh;border-width:.5vh;border-style:solid;border-color:var(--bg-secondary) transparent transparent transparent}.title-wrapper:hover .title-tooltip{opacity:1;visibility:visible;top:-4vh}.all-paragraphs{width:100%;height:100%;position:relative;overflow-y:auto}.practice-paragraph{font-family:Source Code Pro,monospace;font-size:1.8vh;line-height:1.6;margin-bottom:1vh}.practice-paragraph.current-paragraph{font-weight:500;color:var(--text-heading)}.typed-correct{color:var(--success-text, #96C9A4)!important;font-weight:500}.typed-incorrect{color:var(--error-text, #E4A1A1)!important;font-weight:500;text-decoration:underline;text-decoration-color:var(--error-text, #E4A1A1)}.current-char{position:relative;color:var(--text-primary);font-weight:600;border-bottom:.3vh solid var(--blue-gamified, #7BA7E3);padding-bottom:.1vh;animation:pulse-underline 1.2s infinite;z-index:10;margin:0}.current-char-error{color:var(--error-text, #E4A1A1)!important;border-bottom-color:var(--error-text, #E4A1A1)}.practice1-practice-text .current-char,.practice1-practice-text span.current-char{position:relative;color:var(--text-primary);font-weight:600;border-bottom:.4vh solid var(--blue-gamified, #7BA7E3);padding-bottom:.15vh;animation:pulse-underline 1.2s infinite;z-index:10;margin:0}@keyframes pulse-underline{0%,to{border-bottom-color:var(--blue-gamified, #7BA7E3);opacity:1}50%{border-bottom-color:var(--blue-gamified, #7BA7E3);opacity:.6}}@keyframes underline-blink{0%,49%{text-decoration-color:var(--trust-color, #C7B783)}50%,to{text-decoration-color:currentColor}}.practice-paragraphs{height:calc(100% - 2vh);width:100%;position:relative;z-index:10}.paragraph{font-family:Source Code Pro,monospace;font-size:3.2vh;line-height:1.8;white-space:pre-wrap;padding:1.5vh 0;margin-bottom:1.5vh;word-break:break-word;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;cursor:text}.untyped-char{color:var(--text-primary);opacity:.7}.paragraph.current{color:var(--text-heading);font-weight:500}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-.5vw)}20%,40%,60%,80%{transform:translate(.5vw)}}[data-theme=dark] .current-char,[data-theme=dark] .practice1-practice-text .current-char,[data-theme=dark] .practice1-practice-text span.current-char{border-bottom-color:var(--blue-gamified, #90B8F0)}[data-theme=dark] .current-char,[data-theme=dark] .practice1-practice-text .current-char,[data-theme=dark] .practice1-practice-text span.current-char{animation:pulse-underline-dark 1.2s infinite}@keyframes pulse-underline-dark{0%,to{border-bottom-color:var(--blue-gamified, #90B8F0);opacity:1}50%{border-bottom-color:var(--blue-gamified, #90B8F0);opacity:.6}}@keyframes error-glow{0%{box-shadow:0 0 1vh #ff323266}50%{box-shadow:0 0 3vh #ff3232b3}to{box-shadow:0 0 1vh #ff323266}}.practice-media-preview{background-color:#2b2b2b;border-radius:.8vh;height:100%;overflow:hidden;grid-column:3;display:flex;flex-direction:column}.next-key-indicator{background-color:#323232b3;border-radius:.5vh;padding:.8vh 1.5vh;margin-bottom:1vh;display:flex;justify-content:space-between;align-items:center}.next-key-label{color:#a0a0a0;font-size:1.4vh;font-weight:500}.next-key-value{background-color:#3a3a3a;color:var(--text-primary);font-size:1.6vh;font-weight:600;padding:.4vh .8vh;border-radius:.4vh;text-align:center}.audio-section{margin-bottom:1vh}.audio-title{color:var(--text-primary);font-size:1.4vh;font-weight:500;margin-bottom:1vh;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.audio-player-controls{display:flex;align-items:center;gap:1vh}.audio-play-button{background:none;border:none;cursor:pointer;color:#bbb;padding:.6vh;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.audio-play-button:hover{color:var(--text-primary)}.audio-waveform{display:flex;align-items:flex-end;height:5vh;flex-grow:1;gap:.2vh}.waveform-bar{flex:1;background-color:#a0a0a0}.video-player-container{width:100%;height:100%;background-color:#2b2b2b;border-radius:.8vh;overflow:hidden}.video-player-container iframe,.video-player-container video{width:100%;height:100%;border:none}.video-fallback{color:var(--text-primary);font-size:1.4vh;text-align:center;display:flex;align-items:center;justify-content:center;height:100%}.suggestion-item{margin-bottom:1vh;padding:.75vh .75vw;background-color:#ffffff0d;border-radius:.8vh;border-left:.3vh solid #00b3ff}.suggestion-item h4{color:#00b3ff;margin-bottom:.5vh;font-weight:600}.suggestion-item p{margin:0;line-height:1.5}.suggestion-popup{width:80vw;margin:2vh auto;position:relative;background-color:#19191ee6;border-radius:1.2vh;box-shadow:0 0 2vh #00b3ff33;padding:0;overflow:hidden;transition:all .3s ease}.suggestion-item.active{transform:translateY(0);opacity:1;margin-bottom:0;padding:2vh 2vw;border-radius:1.2vh;border-left:none;background-color:transparent;animation:fade-in .5s ease}.suggestion-item.active h4{color:#00b3ff;font-size:1.5vh;margin-bottom:1.5vh;text-align:center;text-shadow:0 0 1vh rgba(0,179,255,.3)}.suggestion-item.active p{font-size:1.2vh;line-height:1.7;margin-bottom:2vh;min-height:10vh}@keyframes fade-in{0%{opacity:0;transform:translateY(1vh)}to{opacity:1;transform:translateY(0)}}.suggestion-popup .popup-actions{display:flex;justify-content:center;gap:1vw;margin-top:2vh}.suggestion-popup .popup-action-button{padding:.8vh 1.5vw}.suggestion-popup .popup-action-button:disabled{opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:none!important}.typing-text{font-size:2.5vh;line-height:1.7;margin-bottom:2vh;min-height:10vh;white-space:pre-wrap;word-break:break-word;opacity:1;width:40%;margin-left:auto;margin-right:auto;text-align:center;transition:opacity .3s ease;font-family:Source Sans Pro,sans-serif;color:var(--text-primary)}.practice-video-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2vh 2vw}.youtube-icon,.pdf-icon,.doc-icon,.img-icon,.video-icon,.audio-icon,.file-icon{display:flex;align-items:center;justify-content:center;width:4vh;height:4vh;border-radius:.5vh;font-size:1.2vh;font-weight:600;color:var(--text-primary);text-align:center}.youtube-icon{background-color:red;font-size:1.5vh}.pdf-icon{background-color:#dc2626}.doc-icon{background-color:#2563eb}.img-icon{background-color:#059669}.video-icon{background-color:#7c2d12;font-size:1.5vh}.audio-icon{background-color:#7c3aed;font-size:1.5vh}.file-icon{background-color:#6b7280;font-size:1.5vh}.youtube-preview-container,.image-preview-container,.video-preview-container,.audio-preview-container{margin-top:1vh;padding:1vh 1vw;border:.1vh solid var(--border-default);border-radius:.8vh;background-color:var(--bg-secondary)}.youtube-info{text-align:center;padding:1vh}.youtube-info p{margin:0 0 1vh;font-size:1.4vh;color:var(--text-primary)}.youtube-embed-container{margin-top:1vh;border-radius:.8vh;overflow:hidden;background-color:#000;box-shadow:0 .25vh .5vh #0003}.youtube-embed-container iframe{display:block;border:none;border-radius:.8vh}.youtube-fallback{text-align:center;padding:2vh 1vw;background-color:var(--bg-tertiary);border-radius:.4vh;border:.1vh solid var(--border-default)}.youtube-fallback p{margin:0 0 1vh;color:var(--text-secondary);font-size:1.2vh}.image-preview{max-width:100%;max-height:30vh;-o-object-fit:contain;object-fit:contain;border-radius:.4vh}.video-preview,.audio-preview{border-radius:.4vh}.support-file-item-inline{margin-bottom:2vh;padding:1.5vh 1vw;border:.1vh solid var(--border-default);border-radius:1vh;background-color:var(--bg-secondary);transition:all .3s ease}.support-file-item-inline:hover{box-shadow:0 .25vh .5vh #00b3ff1a;border-color:#00b3ff}.file-header{display:flex;align-items:center;gap:1vw;margin-bottom:1vh}.file-header .file-name{flex:1;font-size:1.4vh;font-weight:500;color:var(--text-primary)}.file-header .file-actions{margin-left:auto}.inline-media-container{margin-top:1vh;border-radius:.8vh;overflow:hidden;background-color:var(--bg-tertiary)}.inline-media-container .youtube-embed-container,.inline-media-container .video-preview-container,.inline-media-container .audio-preview-container,.inline-media-container .image-preview-container{margin:0;padding:0;border:none;background-color:transparent}.inline-media-container .youtube-embed-container iframe,.inline-media-container .video-preview,.inline-media-container .audio-preview,.inline-media-container .image-preview{border-radius:.8vh}@media (max-width: 768px){.support-file-item-inline{margin-bottom:1.5vh;padding:1vh 1vw}.file-header{gap:.5vw}.file-header .file-name{font-size:1.2vh}}.feedback-form{display:flex;flex-direction:column;gap:3vh;padding:2vh 0}.rating-section{display:flex;flex-direction:column;align-items:center;gap:2vh}.rating-label{font-size:2vh;font-weight:600;color:var(--text-primary);margin-bottom:1vh;text-align:center}.rating-stars-container{display:flex;justify-content:center;align-items:center;gap:1.5vw;padding:1vh 0}.star-button{background:none;border:none;cursor:pointer;padding:1vh;border-radius:50%;transition:all .3s ease;transform:scale(1);position:relative}.star-button:hover{transform:scale(1.2);background-color:#ffd7001a}.star-button:active{transform:scale(1.1)}.star-icon{font-size:3vh;transition:all .3s ease}.star-button.unselected .star-icon{color:#d1d5db;filter:drop-shadow(0 0 .2vh rgba(0,0,0,.2))}.star-button.unselected:hover .star-icon{color:#fbbf24;filter:drop-shadow(0 0 .5vh rgba(251,191,36,.3))}.star-button.selected .star-icon{color:#fbbf24;filter:drop-shadow(0 0 .8vh rgba(251,191,36,.4))}.star-button.selected:hover .star-icon{color:#f59e0b;filter:drop-shadow(0 0 1vh rgba(245,158,11,.5))}.rating-text{min-height:3vh;display:flex;align-items:center;justify-content:center}.rating-feedback{font-size:1.6vh;font-weight:500;color:var(--text-secondary);text-align:center;opacity:0;animation:fadeInRating .4s ease forwards}@keyframes fadeInRating{0%{opacity:0;transform:translateY(.5vh)}to{opacity:1;transform:translateY(0)}}.review-section{display:flex;flex-direction:column;gap:1.5vh;align-items:center}.review-label{font-size:1.8vh;font-weight:500;color:var(--text-primary)}.review-textarea{width:40%;min-height:12vh;padding:1.5vh 1vw;border:.1vh solid var(--border-default);border-radius:1vh;background-color:var(--bg-secondary);color:var(--text-primary);font-size:1.4vh;font-family:Source Sans Pro,sans-serif;line-height:1.5;resize:vertical;transition:all .3s ease}.review-textarea:focus{outline:none;border-color:#00b3ff;box-shadow:0 0 0 .2vh #00b3ff33;background-color:var(--bg-primary)}.review-textarea::-moz-placeholder{color:var(--text-tertiary);font-style:italic}.review-textarea::placeholder{color:var(--text-tertiary);font-style:italic}.submit-section{display:flex;justify-content:center;padding-top:1vh}.submit-button{background:linear-gradient(135deg,#00b3ff,#0056b3);color:var(--text-primary);border:none;border-radius:1vh;padding:1.5vh 3vw;font-size:1.6vh;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 .4vh 1vh #00b3ff4d}.submit-button:hover:not(:disabled){background:linear-gradient(135deg,#0056b3,#003d82);transform:translateY(-.2vh);box-shadow:0 .6vh 1.5vh #00b3ff66}.submit-button:disabled{background:#6b7280;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 768px){.rating-stars-container{gap:1vw}.star-icon{font-size:2.5vh}.rating-label{font-size:1.8vh}.rating-feedback{font-size:1.4vh}.review-textarea{min-height:10vh;font-size:1.3vh}}.practice-overview-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;font-family:Inter,sans-serif;position:relative;z-index:1;transition:background-color .3s ease}.practice-overview-container.theme-light{background:#fff}.practice-overview-container.theme-dark{background:#000}.practice-overview-container *,.practice-overview-container *:before,.practice-overview-container *:after{box-sizing:border-box}.practice-overview-container h1,.practice-overview-container h2,.practice-overview-container h3,.practice-overview-container p{margin:0;padding:0;font-family:inherit;line-height:normal}.practice-overview-content{border-radius:20px;padding:40px;max-width:600px;width:100%;box-shadow:0 20px 40px #0000001a;position:relative;z-index:10;isolation:isolate;transition:background-color .3s ease,border-color .3s ease}.theme-light .practice-overview-content{background:#fffffff2;border:1px solid #e2e8f0}.theme-dark .practice-overview-content{background:#1e1e1ef2;border:1px solid #4a5568}.practice-overview-header{text-align:center;margin-bottom:30px}.practice-icon{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;margin-bottom:15px;color:#fff;font-size:24px}.practice-overview-content .practice-title{font-size:28px;font-weight:700;margin:0;position:relative;z-index:2;text-align:center;display:block;clear:both;transition:color .3s ease}.content-info-card{border-radius:15px;padding:30px;margin-bottom:30px;transition:background-color .3s ease,border-color .3s ease}.theme-light .content-info-card{background:#f8fafc;border:1px solid #e2e8f0}.theme-dark .content-info-card{background:#2d3748;border:1px solid #4a5568}.practice-overview-content .content-title{font-size:24px;font-weight:600;margin:0 0 15px;text-align:center;position:relative;z-index:2;max-width:100%;display:block;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;line-height:1.3;transition:color .3s ease}.content-description{margin-bottom:25px}.content-description p{font-size:16px;line-height:1.6;text-align:center;margin:0;transition:color .3s ease}.theme-light .practice-title{color:#2d3748!important}.theme-light .content-title{color:#1a202c!important}.theme-light .content-description p{color:#4a5568}.theme-dark .practice-title,.theme-dark .content-title{color:#fff!important}.theme-dark .content-description p{color:#cbd5e0}.preloading-indicator{margin:20px 0;text-align:center}.preloading-bar{width:100%;height:4px;background:#e2e8f0;border-radius:2px;overflow:hidden;margin-bottom:10px}.theme-dark .preloading-bar{background:#4a5568}.preloading-progress{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .3s ease;border-radius:2px}.preloading-text{font-size:12px;opacity:.7;margin:0;transition:color .3s ease}.theme-light .preloading-text{color:#4a5568}.theme-dark .preloading-text{color:#cbd5e0}.practice-details{display:flex;justify-content:space-around;gap:20px}.detail-item{display:flex;flex-direction:column;align-items:center;gap:5px}.detail-label{font-size:14px;font-weight:500;color:#718096;text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:16px;font-weight:600;color:#2d3748}.action-buttons{display:flex;gap:15px;justify-content:center}.back-button,.next-button{padding:12px 30px;border-radius:10px;font-size:16px;font-weight:600;border:none;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;min-width:120px;justify-content:center}.next-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.next-button:hover{transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.next-icon{transition:transform .3s ease}.next-button:hover .next-icon{transform:translate(3px)}.loading-spinner,.error-message{text-align:center;padding:40px 20px}.loading-spinner .spinning{animation:spin 1s linear infinite;font-size:24px;color:#667eea;margin-bottom:15px}.loading-spinner p,.error-message p{font-size:16px;color:#4a5568;margin:10px 0}@media (max-width: 768px){.practice-overview-container{padding:50px 15px 15px;align-items:flex-start}.practice-overview-content{padding:25px;border-radius:15px}.practice-title{font-size:24px}.content-title{font-size:20px}.content-info-card{padding:20px}.practice-details{flex-direction:column;gap:15px}.action-buttons{flex-direction:column}.back-button,.next-button{width:100%}}@media (max-width: 480px){.practice-overview-content{padding:20px}.practice-icon{width:50px;height:50px;font-size:20px}.practice-title{font-size:22px}.content-title{font-size:18px}}.camera-status{margin:20px 0;text-align:center}.camera-status p{margin:0;padding:8px 12px;border-radius:8px;font-size:14px;font-weight:500}.status-enabled{background-color:#e8f5e8;color:#2d5b2d;border:1px solid #b3d9b3}.status-unavailable{background-color:#e8f4fd;color:#1a4971;border:1px solid #8bb9d9}.status-blocked{background-color:#fff3cd;color:#856404;border:1px solid #ffeaa7}.theme-dark .status-enabled{background-color:#1a4a1a;color:#90ee90;border:1px solid #4a7c4a}.theme-dark .status-unavailable{background-color:#1a3a4a;color:#87ceeb;border:1px solid #4a7c8a}.theme-dark .status-blocked{background-color:#4a3a1a;color:gold;border:1px solid #8a7c4a}.practice-instructions-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:30px 20px;font-family:Inter,sans-serif;position:relative;z-index:1;overflow-y:auto;transition:background-color .3s ease}.practice-instructions-container.theme-light{background:#fff}.practice-instructions-container.theme-dark{background:#000}.practice-instructions-container *,.practice-instructions-container *:before,.practice-instructions-container *:after{box-sizing:border-box}.practice-instructions-container h1,.practice-instructions-container h2,.practice-instructions-container h3,.practice-instructions-container p{margin:0;padding:0;font-family:inherit;line-height:normal}.practice-instructions-content{border-radius:20px;padding:30px;max-width:800px;width:100%;min-height:600px;max-height:85vh;overflow-y:auto;box-shadow:0 20px 40px #0000001a;position:relative;z-index:10;isolation:isolate;display:flex;flex-direction:column;transition:background-color .3s ease,border-color .3s ease}.theme-light .practice-instructions-content{background:#fffffff2;border:1px solid #e2e8f0}.theme-dark .practice-instructions-content{background:#1e1e1ef2;border:1px solid #4a5568}.instructions-header{text-align:center;margin-bottom:35px;padding-top:20px}.instructions-title{font-size:32px;font-weight:700;margin:0 0 10px;transition:color .3s ease}.instructions-subtitle{font-size:18px;margin:0;transition:color .3s ease}.theme-light .instructions-title{color:#2d3748}.theme-light .instructions-subtitle{color:#4a5568}.theme-light .instruction-title{color:#2d3748}.theme-light .instruction-description{color:#4a5568}.theme-dark .instructions-title{color:#fff}.theme-dark .instructions-subtitle{color:#cbd5e0}.theme-dark .instruction-title{color:#fff}.theme-dark .instruction-description{color:#cbd5e0}.initialization-indicator{margin:20px 0;text-align:center}.initialization-bar{width:100%;height:4px;background:#e2e8f0;border-radius:2px;overflow:hidden;margin-bottom:10px}.theme-dark .initialization-bar{background:#4a5568}.initialization-progress{height:100%;background:linear-gradient(90deg,#4facfe,#00f2fe);transition:width .3s ease;border-radius:2px}.initialization-text{font-size:12px;opacity:.8;margin:0;transition:color .3s ease}.theme-light .initialization-text{color:#4a5568}.theme-dark .initialization-text{color:#cbd5e0}.instructions-subtitle strong{color:#2b6cb0}.instructions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:30px}.instruction-card{border-radius:15px;padding:25px;display:flex;align-items:flex-start;gap:15px;transition:transform .2s ease,box-shadow .2s ease,background-color .3s ease,border-color .3s ease}.theme-light .instruction-card{background:#f8fafc;border:1px solid #e2e8f0}.theme-dark .instruction-card{background:#2d3748;border:1px solid #4a5568}.instruction-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.instruction-icon{display:flex;align-items:center;justify-content:center;width:50px;height:50px;background:linear-gradient(135deg,#4facfe,#00f2fe);border-radius:12px;color:#fff;font-size:20px;flex-shrink:0}.instruction-content{flex:1}.instruction-title{font-size:18px;font-weight:600;color:#2d3748;margin:0 0 8px}.instruction-description{font-size:14px;line-height:1.5;color:#4a5568;margin:0}.action-buttons{display:flex!important;gap:15px;justify-content:center;align-items:center;margin-top:auto;padding-top:30px;padding-bottom:10px;width:100%;position:relative;z-index:100;flex-wrap:wrap}.back-button,.start-button{padding:15px 35px;border-radius:12px;font-size:16px;font-weight:600;border:none;cursor:pointer;transition:all .3s ease;display:flex!important;align-items:center;gap:10px;min-width:140px;justify-content:center;position:relative;z-index:101}.back-button{background:#e2e8f0;color:#4a5568}.back-button:hover{background:#cbd5e0;transform:translateY(-2px)}.start-button{background:linear-gradient(135deg,#48bb78,#38a169)!important;color:#fff!important;font-size:18px;padding:18px 40px;visibility:visible!important;opacity:1!important;transition:all .3s ease}.start-button.loading{background:linear-gradient(135deg,#a0a0a0,gray)!important;cursor:not-allowed!important;opacity:.7!important}.start-button.ready{background:linear-gradient(135deg,#48bb78,#38a169)!important;cursor:pointer!important;opacity:1!important}.start-button:disabled{background:linear-gradient(135deg,#a0a0a0,gray)!important;cursor:not-allowed!important;opacity:.7!important}.start-button:hover{transform:translateY(-2px);box-shadow:0 10px 20px #48bb784d}.back-icon,.start-icon{transition:transform .3s ease}.back-button:hover .back-icon{transform:translate(-3px)}.start-button:hover .start-icon{transform:scale(1.1)}@media (max-width: 768px){.practice-instructions-container{padding:30px 15px 15px;align-items:flex-start}.practice-instructions-content{padding:25px;border-radius:15px}.instructions-title{font-size:26px}.instructions-subtitle{font-size:16px}.instructions-grid{grid-template-columns:1fr;gap:15px}.instruction-card{padding:20px}.instruction-icon{width:45px;height:45px;font-size:18px}.action-buttons{flex-direction:column;gap:10px;padding-top:20px;padding-bottom:20px}.back-button,.start-button{width:100%;display:flex!important;visibility:visible!important;opacity:1!important}.start-button{order:-1;background:linear-gradient(135deg,#48bb78,#38a169)!important;color:#fff!important}}@media (max-width: 480px){.practice-instructions-content{padding:20px}.instructions-title{font-size:24px}.instruction-card{flex-direction:column;text-align:center;gap:10px}.instruction-icon{align-self:center}}.create-page-content{padding:2rem;max-width:1200px;margin:0 auto;color:var(--text-primary)}.create-page-header{margin-bottom:2rem;border-bottom:1px solid var(--border-default);padding-bottom:1rem}.create-page-title{font-family:Saira,sans-serif;font-size:2rem;font-weight:600;color:var(--text-heading);margin-bottom:.5rem}.create-page-description{font-family:DM Sans,sans-serif;font-size:1.1rem;line-height:1.5;color:var(--text-secondary)}.create-page-card{background-color:var(--bg-tertiary);border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 4px 6px #0000001a;border:1px solid var(--border-default);transition:transform .3s ease,box-shadow .3s ease}.create-page-card:hover{transform:translateY(-3px);box-shadow:0 8px 15px #00000026}.create-page-card-title{font-family:Saira,sans-serif;font-size:1.5rem;font-weight:600;color:var(--text-heading);margin-bottom:1rem;border-bottom:1px solid var(--border-subtle);padding-bottom:.5rem}.create-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;width:100%}.create-features .feature-card{background-color:var(--bg-secondary);border-radius:12px;padding:1.5rem;text-align:center;box-shadow:0 .125rem .5rem #0003;transition:all .3s ease;border-top:3px solid var(--accent-primary);display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:150px}.create-features .feature-card:hover{transform:translateY(-5px);box-shadow:0 .5rem 1rem #0000004d}.create-features .feature-card h3{font-family:Saira,sans-serif;font-size:1.3rem;font-weight:600;margin-bottom:.75rem;color:var(--text-heading);position:relative;display:inline-block}.create-features .feature-card h3:after{content:"";position:absolute;bottom:-.5rem;left:50%;transform:translate(-50%);width:50px;height:2px;background:linear-gradient(to right,var(--accent-tertiary),var(--accent-primary));border-radius:1px}.create-features .feature-card p{font-family:DM Sans,sans-serif;font-size:.9rem;color:var(--text-primary);line-height:1.6}.create-page-card:hover .create-page-card-title{color:var(--mode-theme);text-shadow:0 0 5px var(--accent-primary),0 0 10px var(--accent-primary)}@media (max-width: 768px){.create-page-content{padding:1rem}.create-page-title{font-size:1.5rem}.create-page-description{font-size:1rem}.create-page-card-title{font-size:1.25rem}.create-features{grid-template-columns:1fr}}.create-editor-container{display:flex;height:87vh;background-color:var(--bg-card);color:var(--text-primary);overflow:hidden}.create-editor-sidebar{width:13vw;background-color:transparent;overflow-y:auto;padding-top:12vh}.sidebar-option{display:flex;align-items:center;justify-content:flex-end;padding:1.25vh 1.67vw;font-family:DM Sans,sans-serif;font-size:1.95vh;font-weight:300;line-height:1.4;letter-spacing:.02em;cursor:pointer;color:var(--text-heading);transition:all .3s ease;position:relative}.close-icon{display:none}.option-label{text-align:right}.create-editor-main{flex:1;display:flex;flex-direction:column;background-color:var(--bg-card);overflow:hidden}.create-editor-header{display:flex;flex-direction:column;padding:0;position:sticky;top:0;z-index:100;background-color:var(--bg-card)}.create-breadcrumbs-container{padding:1vh 2.5vw;border-bottom:1px solid var(--border-subtle, rgba(255, 255, 255, .1));overflow-x:auto;overflow-y:hidden;width:100%}.create-breadcrumbs-container:hover{background-color:#ffffff05}.create-breadcrumbs-container::-webkit-scrollbar{height:.5vh}.create-breadcrumbs-container::-webkit-scrollbar-track{background:#ffffff0d;border-radius:.25vh}.create-breadcrumbs-container::-webkit-scrollbar-thumb{background:#fff3;border-radius:.25vh}.create-breadcrumbs-container::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.create-breadcrumbs-container .breadcrumb-text{white-space:nowrap;max-width:none!important}.create-breadcrumbs-container .breadcrumb-item{flex-shrink:0;max-width:none!important}.create-editor-actions{display:flex;justify-content:flex-end;align-items:center;text-align:right;padding:1vh 2.5vw}.header-link{display:inline-block;padding:1vh 2vw;margin:0 .625vw;background-color:transparent;color:var(--text-heading)!important;text-decoration:none;border-radius:.5vh;font-weight:400;min-width:7.5vw;text-align:center;border:none;transition:all .3s ease;opacity:.8}.header-link:hover{background-color:transparent!important;color:var(--mode-theme, #ffe6c8)!important;text-shadow:0 0 .03vh #00ff41,0 0 .06vh #00ff41,0 0 .09vh #00ff41!important;opacity:.9!important;border:none}.read-dropdown-container{display:inline-block;position:relative}.dropdown-text{margin-right:.625vw}.dropdown-arrow{font-size:1.25vh;margin-left:.5vw;display:inline-block;transition:transform .2s ease}.read-dropdown-container:hover .dropdown-arrow{opacity:.8}.read-dropdown{position:absolute;top:100%;left:0;z-index:1000;min-width:15vw;padding:.625vh 0;margin-top:.25vh;background-color:#333;border:.01px solid #444;border-radius:.5vh;box-shadow:0 .5vh 1vh #0006}.dropdown-item{display:block;padding:1vh 2vw;color:#fff!important;text-decoration:none;text-align:left;transition:background-color .2s}.dropdown-item:hover{background-color:#4a6fd3}.dropdown-item.active{background-color:#3a5db3;font-weight:700}.create-editor-content{flex:1;padding:2.08vh 2.08vw;overflow:hidden}.create-editor-content textarea{width:100%;height:100%;padding:1.04vh 1.04vw;background-color:var(--input-bg);font-family:DM Sans,sans-serif;font-size:2.25vh;line-height:1.45;font-weight:400;letter-spacing:.02em;resize:none;outline:none;border-radius:.8vw;border:none;color:var(--text-primary)}.create-editor-content textarea:focus{border-radius:.8vw;outline:.1vw solid var(--accent-primary)}.create-editor-content textarea::-moz-placeholder{color:#ffffff4d;font-family:DM Sans,sans-serif;font-size:2.25vh;line-height:1.45;font-weight:400;letter-spacing:.02em}.create-editor-content textarea::placeholder{color:#ffffff4d;font-family:DM Sans,sans-serif;font-size:2.25vh;line-height:1.45;font-weight:400;letter-spacing:.02em}.content-textarea{background-color:var(--input-bg)!important;border:none!important;color:var(--text-primary)!important;border-radius:.8vw!important}.create-editor-footer{display:flex;justify-content:space-between;align-items:center;padding:1.04vh 2.08vw}.find-block-button{padding:.63vh 1.25vw;background-color:#0000004d;border:.1vw solid rgba(255,255,255,.1);border-radius:.42vw;color:var(--text-primary);font-family:DM Sans,sans-serif;font-size:1.875vh;font-weight:500;letter-spacing:.02em;cursor:pointer}.find-block-button:hover{background-color:#0006;border-color:#fff3}.char-count{font-family:IBM Plex Mono,monospace;font-size:1.8vh;font-weight:300;line-height:1.3;color:#fff9}@media (max-width: 80vw){.create-editor-container{flex-direction:column}.create-editor-sidebar{width:100%;height:auto;max-height:30vh}.create-editor-actions{display:none}}.app-content-window,.app-content-window-body{overflow:hidden!important}.upload-section{display:flex;flex-direction:column;gap:2.5vh;padding:1.875vh 1.875vw;height:100%;overflow-y:auto}.upload-section h3{margin-top:0;margin-bottom:2vh;color:#333;font-size:2.25vh;border-bottom:.01px solid #eee;padding-bottom:1vh}.upload-item{display:flex;flex-direction:column;gap:1.875vh;padding:2vh 2vw;border:.01px solid #eee;border-radius:1vh;background-color:#f9f9f9;transition:all .2s ease}.upload-item:hover{box-shadow:0 .25vh 1vh #0000001a}.upload-item label{font-weight:600;margin-bottom:.625vh;color:#444}.file-input{padding:1.25vh 1.25vw;border:.01px dashed #ccc;border-radius:.5vh;background-color:#fff;transition:all .2s ease}.file-input:hover{border-color:#999}.selected-file{margin:0;font-size:1.75vh;color:#555;background-color:#e8f4ff;padding:1vh 1.5vw;border-radius:.5vh;border-left:.01px solid #0078d4}.preview-image{max-width:50vw;max-height:25vh;-o-object-fit:contain;object-fit:contain;border-radius:.5vh;border:.01px solid #eee}.preview-video,.preview-audio{width:50vw;border-radius:.5vh;border:.01px solid #eee;background-color:#f5f5f5}.current-file{background-color:#f0f0f0;padding:1.25vh 1.25vw;border-radius:.5vh}.current-file p{margin-top:0;margin-bottom:1vh;font-size:1.75vh;font-weight:500;color:#555}.current-image{max-width:100vw;max-height:18.75vh;-o-object-fit:contain;object-fit:contain}.upload-button{padding:1.25vh 2vw;background-color:#0078d4;color:#fff;border:none;border-radius:.5vh;cursor:pointer;font-weight:500;transition:background-color .2s ease;align-self:flex-start}.upload-button:hover:not(:disabled){background-color:#106ebe}.upload-button:disabled{background-color:#ccc;cursor:not-allowed}.success-text{color:#107c10;background-color:#dff6dd;padding:1vh 1.5vw;border-radius:.5vh;margin:0;font-size:1.75vh}.error-text{color:#a4262c;background-color:#fde7e9;padding:1vh 1.5vw;border-radius:.5vh;margin:0;font-size:1.75vh}.file-link{display:inline-block;padding:1vh 1.5vw;background-color:#f5f5f5;border:.01px solid #ddd;border-radius:.5vh;color:#0078d4;text-decoration:none;margin-top:.625vh;font-weight:500;transition:all .2s ease}.file-link:hover{background-color:#e0e0e0;text-decoration:underline}.description-section{margin-top:2.5vh;width:100vw}.description-section h4{font-size:2vh;font-weight:600;margin-bottom:1.25vh;color:#444}.description-section textarea{width:100vw;height:18.75vh;padding:1.25vh 1.25vw;border:.01px solid #ddd;border-radius:.5vh;font-family:inherit;resize:vertical}.success-text,.error-text{animation:fadeIn .3s ease}.mcq-editor-section{width:100%;padding:2.5vh 2.5vw;background-color:#fff;border-radius:1vh;box-shadow:0 .125vh .375vh #0000001f;max-height:85vh;overflow-y:auto}.mcq-question-container{margin-bottom:2.5vh}.mcq-question-container label{display:block;font-weight:600;margin-bottom:1vh;color:#333}.mcq-question-input{width:100vw;padding:1.25vh 1.25vw;border:.01px solid #ddd;border-radius:.5vh;font-size:2vh}.mcq-choices-container{margin-top:2.5vh;max-height:50vh;height:50vh;overflow-y:auto;padding-right:1.25vw;border:.01px solid #eee;border-radius:.75vh;position:relative}.mcq-choices-container::-webkit-scrollbar{width:1vw}.mcq-choices-container::-webkit-scrollbar-track{background:#f5f5f5;border-radius:.5vh}.mcq-choices-container::-webkit-scrollbar-thumb{background:#ccc;border-radius:.5vh}.mcq-choices-container::-webkit-scrollbar-thumb:hover{background:#aaa}.mcq-header{display:flex;flex-direction:column;padding:1.25vh 0;border-bottom:.01px solid #eee;font-weight:600;color:#555;position:sticky;top:0;background-color:#fff;z-index:10;box-shadow:0 .25vh .5vh #0000000d}.mcq-choice-row{display:flex;flex-direction:column;padding:1.5vh 0;border-bottom:.01px solid #f0f0f0;margin-bottom:2vh}.mcq-choice-row.correct-answer{background-color:#4caf500d}.mcq-answer-section{display:flex;align-items:center;margin-bottom:1.25vh;width:100%}.mcq-choice-label{min-width:3.75vw;height:3.75vh;display:flex;align-items:center;justify-content:center;background-color:#f3f3f3;border-radius:.5vh;margin-right:4vw;font-weight:600;color:#444}.mcq-choice-input,.mcq-explanation-input{width:calc(100% - 10vw);padding:1vh 1.25vw;border:.01px solid #ddd;border-radius:.5vh;font-size:1.75vh}.mcq-explanation-section{display:flex;width:100%;padding:0;margin-left:1.5vw;margin-bottom:1.25vh;align-items:center}.mcq-explanation-label{min-width:6.25vw;font-weight:600;color:#555;font-size:1.75vh}.mcq-actions-section{display:flex;align-items:center;justify-content:space-between;margin-left:1.5vw;width:calc(100% - 5vw)}.correct-answer-label{display:flex;align-items:center;cursor:pointer;font-size:1.75vh;color:#555}.correct-answer-label input{margin-right:.625vw}.mcq-delete-btn{width:3vw;height:3vh;display:flex;align-items:center;justify-content:center;background-color:#f8f8f8;border:.01px solid #ddd;border-radius:.5vh;cursor:pointer;font-size:2.25vh;color:#777}.mcq-delete-btn:hover{background-color:#fee;color:#e44;border-color:#fcc}.add-choice-btn{margin-top:1.875vh;padding:1vh 1.875vw;background-color:#f8f8f8;border:.01px dashed #ccc;border-radius:.5vh;color:#555;cursor:pointer;font-size:1.75vh;width:auto;display:inline-block}.add-choice-btn:hover{background-color:#f0f0f0;border-color:#aaa}.mcq-guidance{margin-top:2.5vh;padding:1.875vh 1.875vw;background-color:#e8f5e9;border-left:.5vw solid #4caf50;border-radius:.5vh}.mcq-guidance p{color:#2e7d32;margin:0;font-size:1.75vh;line-height:1.5}.mcq-question-preview{margin-bottom:2.5vh;padding:1.875vh 1.875vw;background-color:#f8f9fa;border-radius:1vh;border:.01px solid #e9ecef}.mcq-question-preview h4{margin:0 0 1vh;font-size:2vh;color:#333}.mcq-question-preview p{margin:0;font-size:2vh;line-height:1.5;color:#212529;font-weight:500}.mcq-no-question{display:flex;align-items:center;justify-content:center;height:25vh;background-color:#fff3cd;border-radius:1vh;border:.01px solid #ffeeba;margin-bottom:2.5vh}.mcq-no-question p{color:#856404;text-align:center;padding:2.5vh 2.5vw;margin:0;font-size:2vh;line-height:1.5}.section-wrapper{display:flex;flex-direction:column;height:100%;width:100%}.mcq-question-textarea{flex:1;margin-bottom:2.5vh;padding:1.875vh 1.875vw;font-size:2vh;background-color:var(--input-bg);border:none;border-radius:.5vh;resize:none;min-height:18.75vh;font-family:inherit;line-height:1.5;color:var(--text-primary)}.direct-save-container,.direct-save-button{display:none}.extra-save-container{display:flex;justify-content:center;margin:2.5vh 0;padding:1.25vh 1.25vw}.extra-save-button{padding:1.5vh 3.75vw;background-color:#2fb85d;color:#fff;font-weight:700;border:none;border-radius:.5vh;cursor:pointer;font-size:2vh;box-shadow:0 .5vh 1vh #0003;transition:all .2s ease;letter-spacing:.0625vw;text-transform:uppercase;min-width:25vw}.extra-save-button:hover{background-color:#25a04e;box-shadow:0 .75vh 1.5vh #0000004d;transform:translateY(-.25vh)}.extra-save-button:active{background-color:#1f8941;transform:translateY(.125vh);box-shadow:0 .25vh .5vh #0003}.extra-save-button:disabled{background-color:#ccc;cursor:not-allowed;box-shadow:none}.video-type-toggle{display:flex;margin-bottom:1.875vh}.toggle-btn{flex:1;padding:1vh 1.5vw;background-color:#f5f5f5;border:.01px solid #ddd;cursor:pointer;transition:all .3s ease;font-size:1.75vh}.toggle-btn:first-child{border-radius:.5vh 0 0 .5vh}.toggle-btn:last-child{border-radius:0 .5vh .5vh 0}.toggle-btn.active{background-color:#4a90e2;color:#fff;border-color:#4a90e2}.youtube-input-container{margin-bottom:1.875vh}.youtube-url-input{width:-webkit-fill-available;padding:1vh 1vw;border:.01px solid #ddd;border-radius:.5vh;font-size:1.75vh}.youtube-url-input.error{border-color:#e74c3c;background-color:#fef4f4}.youtube-url-input~.error-text{color:#e74c3c;font-size:1.5vh;margin-top:.625vh}.youtube-url-input~.success-text{color:#2ecc71;font-size:1.5vh;margin-top:.625vh}.youtube-apply-button{padding:1.25vh 2vw;background-color:#4a90e2;color:#fff;border:none;border-radius:.5vh;cursor:pointer;font-weight:500;margin-top:1.25vh;transition:background-color .2s ease;width:100vw}.youtube-apply-button:hover:not(:disabled){background-color:#3a80d2}.youtube-apply-button:disabled{background-color:#ccc;cursor:not-allowed}.youtube-preview{margin-top:1.25vh;border-radius:.5vh;overflow:hidden;box-shadow:0 .25vh 1vh #0000001a}.support-files-list{margin-bottom:2.5vh}.support-files-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(31.25vw,1fr));gap:1.875vh 1.875vw;margin-top:1.875vh}.support-file-item{background-color:var(--bg-light);border-radius:1vh;padding:1.875vh 1.875vw;box-shadow:0 .25vh .5vh #0000001a;display:flex;flex-direction:column;transition:all .2s ease}.support-file-item:hover{transform:translateY(-.25vh);box-shadow:0 .5vh 1vh #00000026}.support-file-info{display:flex;justify-content:space-between;margin-bottom:1.25vh}.support-file-type{background-color:var(--primary-color);color:#fff;font-size:1.6vh;padding:.375vh 1vw;border-radius:1.5vh;display:inline-block}.support-file-name{font-weight:500;margin-left:1.25vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.support-file-preview{height:12.5vh;display:flex;align-items:center;justify-content:center;background-color:#f5f5f5;border-radius:.5vh;overflow:hidden;margin-bottom:1.25vh}.youtube-preview{border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.youtube-preview iframe{border-radius:8px}.file-thumbnail{max-width:100vw;max-height:100vh;-o-object-fit:contain;object-fit:contain}.file-icon{width:7.5vw;height:7.5vh;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;border-radius:.5vh}.pdf-icon{background-color:#e74c3c}.doc-icon{background-color:#3498db}.ppt-icon{background-color:#e67e22}.excel-icon{background-color:#27ae60}.txt-icon{background-color:#95a5a6}.support-file-actions{display:flex;justify-content:space-between;margin-top:1.25vh}.view-button,.delete-button{padding:.75vh 1.5vw;border-radius:.5vh;font-size:1.8vh;cursor:pointer;transition:all .2s;text-align:center}.view-button{background-color:var(--primary-color);color:#fff;border:none;text-decoration:none;flex:1;margin-right:1vw}.view-button:hover{background-color:var(--primary-dark)}.delete-button{background-color:#f8f8f8;color:#e74c3c;border:.01px solid #e74c3c;flex:1}.delete-button:hover{background-color:#ffe6e6}.delete-button:disabled{background-color:#f8f8f8;color:#aaa;border-color:#ccc;cursor:not-allowed}.add-support-compact{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px;margin-bottom:30px}.add-support-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.add-support-header h4{margin:0;color:#333;font-size:16px;font-weight:600}.support-type-toggle-compact{display:flex;gap:5px}.toggle-btn-compact{padding:6px 12px;border:1px solid #ddd;background-color:#fff;color:#666;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.toggle-btn-compact.active{background-color:#007bff;color:#fff;border-color:#007bff}.toggle-btn-compact:hover{background-color:#f8f9fa}.toggle-btn-compact.active:hover{background-color:#0056b3}.upload-item-compact{margin-bottom:10px}.file-input-row{display:flex;gap:10px;align-items:center}.file-input-compact{flex:1;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:14px}.upload-button-compact{padding:8px 16px;background-color:#28a745;color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:background-color .2s}.upload-button-compact:hover{background-color:#218838}.upload-button-compact:disabled{background-color:#6c757d;cursor:not-allowed}.youtube-input-container-compact{margin-bottom:10px}.youtube-input-row{display:flex;gap:10px;align-items:center}.youtube-url-input-compact{flex:1;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:14px}.youtube-url-input-compact.error{border-color:#dc3545}.youtube-apply-button-compact{padding:8px 16px;background-color:#dc3545;color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:background-color .2s}.youtube-apply-button-compact:hover{background-color:#c82333}.youtube-apply-button-compact:disabled{background-color:#6c757d;cursor:not-allowed}.selected-file-compact{margin:5px 0;font-size:12px;color:#666}.success-text-compact{margin:5px 0;font-size:12px;color:#28a745}.error-text-compact{margin:5px 0;font-size:12px;color:#dc3545}.support-materials-section{margin-top:20px}.support-materials-section h4{margin-bottom:15px;color:#333;font-size:18px;font-weight:600}.loading-support{text-align:center;padding:20px;color:#666}.no-support-files{text-align:center;padding:40px 20px;color:#666;background-color:#f8f9fa;border:1px dashed #dee2e6;border-radius:8px}.upload-new-support{margin-top:2.5vh;padding-top:2.5vh;border-top:.01px solid #eee}.upload-new-support h4{margin-bottom:1.875vh;color:var(--primary-color)}.read-only-content{width:100vw;height:100vh;padding:1.04vh 1.04vw;background-color:transparent;font-family:DM Sans,sans-serif;font-size:2.25vh;line-height:1.45;font-weight:400;letter-spacing:.02em;border-radius:.8vw;border:none;overflow-y:auto;white-space:pre-wrap;color:var(--text-primary)}.speech-controls{display:flex;flex-direction:column;padding:1.25vh 1.25vw;margin-bottom:1.25vh;background-color:#f0f0f0;border-radius:1vh;border:.01px solid #ddd}.speech-buttons-container{display:flex;align-items:center;margin-bottom:1vh}.speech-button{padding:1.25vh 2.5vw;border:none;border-radius:.5vh;font-weight:600;cursor:pointer;font-size:1.75vh;margin-right:1.25vw;transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 .25vh .5vh #0000001a}.start-button{background-color:#4caf50;color:#fff;position:relative;animation:pulse-light 2s infinite}.start-button:hover:not(.disabled){background-color:#45a049;box-shadow:0 .375vh .75vh #0003;transform:translateY(-.125vh)}.stop-button{background-color:#f44336;color:#fff}.stop-button:hover:not(.disabled){background-color:#d32f2f;box-shadow:0 .375vh .75vh #0003;transform:translateY(-.125vh)}.speech-button.disabled{background-color:#ccc;color:#888;cursor:not-allowed;opacity:.7;box-shadow:none}.speech-status{margin-left:1.25vw;font-size:1.75vh;display:flex;align-items:center}.recording-indicator{color:#f44336;font-weight:600;display:flex;align-items:center}.recording-indicator:before{content:"";display:inline-block;width:1.25vw;height:1.25vh;background-color:#f44336;border-radius:50%;margin-right:1vw;animation:pulse 1.5s infinite}.ready-indicator{color:#4a6fd3}.ready-indicator small{opacity:.8;margin-left:.625vw;font-style:italic}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@keyframes pulse-light{0%{box-shadow:0 0 #4caf5066}70%{box-shadow:0 0 0 1vw #4caf5000}to{box-shadow:0 0 #4caf5000}}.admin-page{color:var(--text-primary);height:94vh;width:100vw}.access-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;text-align:center;padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.access-denied h1{font-size:3rem;margin-bottom:1rem;color:#ff6b6b}.access-denied p{font-size:1.2rem;margin-bottom:.5rem;line-height:1.6}.access-denied p:last-child{background:#ffffff1a;padding:.5rem 1rem;border-radius:.5rem;font-family:monospace;margin-top:1rem}.admin-page-content{display:grid;grid-template-columns:21vw 37vw 25vw;gap:1vw;height:90vh;width:100vw}.admin-column{display:flex;flex-direction:column;height:90vh;padding:1vw;border-radius:.5vw}.admin-section{border-radius:.5vw;padding:.5vw 1vw;margin-bottom:1vw}.admin-section-title{font-size:1.2vw;font-weight:600;margin:0;padding:0;color:#fff;line-height:1}.admin-input-container{width:25vw;margin-top:.5vw}.admin-input{width:18vw;padding:.8vw;border-radius:.3vw;border:.1vw solid rgba(255,255,255,.2);background-color:#323232b3;color:#fff;font-size:1vw}.admin-classes-list{width:18vw;height:13vw;background-color:#282828e6;border:.1vw solid rgba(255,255,255,.2);border-radius:.3vw;padding:.5vw;color:#fff;font-size:1vw;appearance:none;-webkit-appearance:none;-moz-appearance:none}.admin-students-list{width:38vw;height:250px;margin-bottom:20px;background-color:#282828e6;border:.1vw solid rgba(255,255,255,.2);border-radius:.3vw;padding:.5vw;color:#fff;font-size:1vw;appearance:none;-webkit-appearance:none;-moz-appearance:none}.admin-classes-loading,.admin-classes-error,.admin-classes-empty{width:25vw;height:13vw;display:flex;align-items:center;justify-content:center;background-color:#282828e6;border:.1vw solid rgba(255,255,255,.2);border-radius:.3vw;padding:.5vw;color:#fff;font-size:1vw;text-align:center}.admin-classes-error{color:#ff6b6b}.admin-classes-empty{color:#aaa}.admin-classes-list option{padding:.8vw;border-radius:.3vw;margin-bottom:.5vw;cursor:pointer}.admin-classes-list option:hover,.admin-classes-list option:focus,.admin-classes-list option:checked{background-color:#3c3c3ce6}.admin-classes-list::-webkit-scrollbar{width:.5vw}.admin-classes-list::-webkit-scrollbar-track{background:#1e1e1e80;border-radius:.3vw}.admin-classes-list::-webkit-scrollbar-thumb{background-color:#c8c8c84d;border-radius:.3vw}.admin-students-list::-webkit-scrollbar{width:.5vw}.admin-students-list::-webkit-scrollbar-track{background:#1e1e1e80;border-radius:.3vw}.admin-students-list::-webkit-scrollbar-thumb{background-color:#c8c8c84d;border-radius:.3vw}.admin-students-list option{padding:.8vw;border-radius:.3vw;margin-bottom:.5vw;cursor:pointer}.admin-students-list option:hover,.admin-students-list option:focus,.admin-students-list option:checked{background-color:#3c3c3ce6}.students-column{border-radius:.5vw}.students-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1vw;width:32vw}.select-instructions{margin:.3vw 0 .5vw;font-size:.75vw;color:#aaa;font-style:italic;text-align:right}.remove-student-btn{background:none;border:none;padding:0;margin:0;display:flex;align-items:center;justify-content:center;cursor:pointer}.remove-student-btn:hover{color:#ff6b6b}.user-selected-icon{display:flex;align-items:center}.student-search-container{position:relative;width:35vw}.student-search-input{width:100%;height:3vw;padding:.5vw 3vw .5vw 1vw;border-radius:2vw;background-color:#323232b3;border:.1vw solid rgba(255,255,255,.2);color:#fff;font-size:.9vw}.student-search-icon{position:absolute;right:.8vw;top:50%;transform:translateY(-50%);color:#888}.add-student-button{padding:.5vw 1vw;height:3vw;background-color:#323232b3;border:.1vw solid rgba(255,255,255,.2);color:#fff;border-radius:.3vw;cursor:pointer;font-size:.9vw;transition:background-color .2s}.add-student-button:hover{background-color:#3c3c3ce6}.students-grid{display:flex;flex-direction:column;width:32vw}.student-row{display:grid;grid-template-columns:15vw 7vw 7vw 7vw 2vw;gap:0;padding:.5vw 0;height:3.5vw;align-items:center;border-bottom:.1vw solid rgba(255,255,255,.05)}.student-row:hover{background-color:#ffffff0d}.student-avatar-name{display:flex;align-items:center;gap:.5vw}.student-avatar{width:2vw;height:2vw;border-radius:50%}.student-name{font-weight:500;font-size:.9vw;color:#fff}.student-age,.student-location{font-size:.9vw;color:#e0e0e0}.student-progress{font-weight:600;font-size:.9vw;color:#4caf50}.student-remove-btn{width:1.5vw;height:1.5vw;background:none;border:none;color:#f44336;font-weight:700;cursor:pointer;display:flex;justify-content:center;align-items:center;padding:0;font-size:.9vw}.student-remove-btn:hover{color:#ff6b6b}.confirm-dialog{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.confirm-dialog-content{background-color:#333;border-radius:.5vw;padding:2vw;width:30vw;box-shadow:0 .2vw 1vw #0000004d}.confirm-dialog-content h3{margin-top:0;color:#fff;font-size:1.2vw;margin-bottom:1vw}.confirm-dialog-content p{margin-bottom:2vw;color:#e0e0e0;font-size:1vw}.confirm-dialog-buttons{display:flex;justify-content:flex-end;gap:1vw}.confirm-dialog-cancel,.confirm-dialog-confirm{padding:.5vw 1vw;border-radius:.3vw;border:none;font-size:.9vw;cursor:pointer}.confirm-dialog-cancel{background-color:#666;color:#fff}.confirm-dialog-confirm{background-color:#f44336;color:#fff}.data-column{display:flex;flex-direction:column;gap:1vw}.admin-data-visualization{border-radius:.5vw;padding:1vw;flex-grow:0;height:45vh;background-color:#28282899}.admin-metric-selection{display:flex;flex-wrap:wrap;gap:.5vw;margin-bottom:1.5vh;justify-content:center}.admin-metric-button{padding:.8vh 1vw;background-color:#323232b3;border:.1vh solid rgba(255,255,255,.2);color:#fff;border-radius:.3vw;cursor:pointer;font-size:.8vw;transition:all .2s ease;display:flex;align-items:center;gap:.3vw}.admin-metric-button:hover{background-color:#3c3c3ce6;transform:translateY(-.2vh)}.admin-metric-button.active{background-color:#505050e6;border:.1vh solid rgba(255,255,255,.4);transform:translateY(-.2vh);box-shadow:0 .2vh .4vh #0003}.admin-page .metric-buttons-container{display:flex!important;flex-wrap:wrap!important;gap:.3vw!important;margin-bottom:1.5vh!important;justify-content:flex-start!important;width:auto!important;height:auto!important}.admin-page .metric-buttons-container .metric-button{width:auto!important;height:auto!important;grid-template-columns:none!important;padding:.8vh 1.2vw!important;background-color:#323232b3!important;border:.1vh solid rgba(255,255,255,.2)!important;color:#fff!important;border-radius:.3vw!important;cursor:pointer!important;font-size:.8vw!important;transition:all .2s ease!important;display:flex!important;align-items:center!important;gap:.3vw!important;white-space:nowrap!important;flex-shrink:0!important;font-family:inherit!important;text-align:left!important;opacity:1!important;text-shadow:none!important;filter:none!important;font-weight:400!important}.admin-page .metric-buttons-container .metric-button:hover{background-color:#3c3c3ce6!important;transform:translateY(-.2vh)!important;color:#fff!important;text-shadow:none!important;filter:none!important}.admin-page .metric-buttons-container .metric-button.active{background-color:#505050e6!important;border:.1vh solid rgba(255,255,255,.4)!important;transform:translateY(-.2vh)!important;box-shadow:0 .2vh .4vh #0003!important;color:#fff!important;text-shadow:none!important;filter:none!important;font-weight:400!important}.admin-page .metric-buttons-container .metric-icon{font-size:.8vw!important;width:auto!important;height:auto!important;margin-right:0!important;transform:none!important;animation:none!important}.admin-page .metric-buttons-container .metric-button.disabled{background-color:#1e1e1e80!important;border:.1vh solid rgba(255,255,255,.1)!important;color:#fff6!important;cursor:not-allowed!important;opacity:.5!important}.admin-page .metric-buttons-container .metric-button.disabled:hover{background-color:#1e1e1e80!important;transform:none!important;color:#fff6!important}.admin-page .no-student-message{width:100%!important;text-align:center!important;color:#fff9!important;font-size:.9vw!important;padding:1vh 0!important;margin-bottom:1vh!important;background-color:#28282899!important;border-radius:.3vw!important;border:.1vh solid rgba(255,255,255,.1)!important}.admin-page .no-student-message .info-icon{margin-right:.5vw!important;font-size:1vw!important}.admin-page .no-data-message{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;height:100%!important;width:100%!important;text-align:center!important;color:#fff9!important}.admin-page .no-data-message .no-data-icon{font-size:3vw!important;margin-bottom:1vh!important;opacity:.5!important}.admin-page .no-data-message p{margin:.5vh 0!important;font-size:1vw!important;color:#ffffffb3!important}.admin-page .no-data-message .no-data-subtitle{font-size:.8vw!important;color:#ffffff80!important}.admin-graph-container{height:32vh;margin-top:1vh}.admin-graph-title{font-size:1.2vw;color:#fff;display:flex;align-items:center;gap:.5vw;margin-bottom:1vh}.admin-bar-graph-container{width:18vw;height:25vh;position:relative}.admin-bar-graph{height:18vh;width:20vw;display:flex;align-items:flex-end;gap:.15vw;padding-bottom:1vh;border-bottom:.1vh solid rgba(255,255,255,.2);position:relative}.admin-stat-bar{width:.8vw;min-height:.5vh;cursor:pointer;position:relative;border-radius:.2vw .2vw 0 0;transition:all .2s ease;z-index:1}.admin-stat-bar.selected{border:.15vh solid #ffffff;z-index:3;transform:scaleY(1.05) translateY(-.25vh);box-shadow:0 .2vh .5vh #0000004d;opacity:1}.admin-stat-bar.hovered{transform:scaleY(1.05) translateY(-.25vh);z-index:2;opacity:1}.admin-stat-bar.positive{background-color:#4caf50}.admin-stat-bar.negative{background-color:#f44336}.admin-stat-bar.users,.admin-stat-bar.completions,.admin-stat-bar.score,.admin-stat-bar.time,.admin-stat-bar.engagement,.admin-stat-bar.revenue,.admin-stat-bar.retention,.admin-stat-bar.errors,.admin-stat-bar.courses{opacity:.9}.admin-stat-bar:hover{opacity:1;transform:scaleY(1.05)}.admin-bar-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);width:10vw;padding:.8vh 1vw;background-color:#1e1e1ef2;border-radius:.4vw;border:.1vh solid rgba(255,255,255,.2);box-shadow:0 .4vh .8vh #0003;z-index:10;display:none;font-size:.9vw;color:#fff}.admin-stat-bar:hover .admin-bar-tooltip{display:block}.admin-tooltip-date{font-weight:600;margin-bottom:.25vh;font-size:.8vw}.admin-tooltip-subject{margin-bottom:.25vh;color:#aaa;font-size:.8vw}.admin-tooltip-value{font-weight:600;color:#4caf50;font-size:.8vw}.admin-graph-axis{height:2vh;width:18vw;display:flex;justify-content:space-between;padding:.5vh 0;font-size:.9vw;color:#aaa}.admin-graph-gridlines{position:absolute;top:0;left:0;width:18vw;height:22vh;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.admin-gridline{width:100%;height:.1vh;background-color:#ffffff1a;opacity:.5}.admin-stats-summary{margin-top:2vh}.admin-summary-row{display:flex;justify-content:space-between;align-items:center}.admin-summary-item{display:flex;align-items:center;gap:.5vw;background-color:#323232b3;padding:.8vh 1vw;border-radius:.3vw}.admin-stat-icon{color:#aaa;font-size:1vw}.admin-stat-details{display:flex;flex-direction:column}.admin-summary-label{font-size:.7vw;color:#aaa}.admin-summary-value{font-size:.9vw;font-weight:600;color:#fff}.admin-trend-indicator{display:flex;align-items:center;gap:.3vw;font-weight:600;font-size:.9vw}.admin-trend-positive{color:#4caf50;display:flex;align-items:center;gap:.3vw}.admin-trend-negative{color:#f44336;display:flex;align-items:center;gap:.3vw}.data-visualization{border-radius:.5vw;padding:1vw;flex-grow:0;height:45vh}.data-vis-row{display:grid;grid-template-columns:2vw 20vw 6vw;gap:.5vw;margin-bottom:.5vw;align-items:center}.data-vis-icon{display:flex;justify-content:center;align-items:center;font-size:1vw}.data-vis-bar{height:1.5vw;display:flex;width:20vw;background-color:#444;border-radius:.2vw}.data-vis-bar-segment{height:1.5vw}.data-vis-bar-segment.green{background-color:#4caf50;width:5vw}.data-vis-bar-segment.red{background-color:#f44336;width:10vw}.data-vis-bar-segment.blue{background-color:#2196f3;width:5vw}.data-vis-time{font-family:monospace;font-size:.8vw;color:#e0e0e0;text-align:right;width:6vw}.data-progress{margin-top:1vw}.data-progress-bar{height:1.5vw;background-color:#444;border-radius:.2vw;width:18vw}.data-progress-fill{height:1.5vw;background-color:#4caf50;width:6.5vw}.data-progress-text{font-size:.8vw;color:#e0e0e0;text-align:center;margin-top:.5vw}.data-student-card{background-color:#0003;border-radius:.5vw;width:18vw;height:14.625vw;margin-top:1vw}.totals-section{margin-top:1vw}.totals-container{height:8vw;width:18vw}.admin-mode-toggle{display:flex;justify-content:space-between;align-items:center;gap:1vw;padding:1vw;width:100%}.admin-mode-buttons{display:flex;gap:1vw}.admin-mode-button{padding:.8vh 2vw;background-color:#323232b3;border:.1vh solid rgba(255,255,255,.2);color:#fff;border-radius:.3vw;cursor:pointer;font-size:1vw;display:flex;align-items:center;transition:all .2s ease}.admin-mode-button:hover{background-color:#3c3c3ce6;transform:translateY(-.2vh)}.admin-mode-button.active{background-color:#505050e6;border:.1vh solid rgba(255,255,255,.4);transform:translateY(-.2vh);box-shadow:0 .2vh .4vh #0003}.top-submit{padding:.8vh 2vw;background-color:#4caf50;border:none;color:#fff;font-weight:600;border-radius:.3vw;transition:all .2s ease}.top-submit:hover:not(:disabled){background-color:#3d9140;transform:translateY(-.2vh)}.top-submit:disabled{background-color:#888;cursor:not-allowed;opacity:.7}.admin-assignments-list{max-height:20vh;overflow-y:auto;background-color:#282828e6;border:.1vh solid rgba(255,255,255,.2);border-radius:.3vw;padding:.5vw;margin-top:.5vw;width:25vw}.admin-assignment-item{padding:.8vw;border-radius:.3vw;margin-bottom:.5vw;cursor:pointer;background-color:#323232b3;transition:all .2s ease}.admin-assignment-item:hover{background-color:#3c3c3ce6}.admin-assignment-item.selected{background-color:#505050e6;border-left:.3vw solid #4caf50}.assignment-name{font-weight:600;font-size:.9vw;margin-bottom:.3vw;line-height:1.3}.assignment-details{display:flex;gap:1vw;font-size:.8vw;color:#e0e0e0}.assignment-grade,.assignment-subject{background-color:#3c3c3cb3;padding:.2vw .5vw;border-radius:1vw}.admin-assignments-loading,.admin-assignments-empty{text-align:center;color:#e0e0e0;font-size:.9vw;padding:1vw}.admin-edit-instructions{text-align:center;color:#e0e0e0;font-style:italic;font-size:.9vw;padding:1vw;background-color:#28282899;border-radius:.3vw;margin-top:.5vw}.students-instructions{margin-top:1vw;width:35vw;background-color:#28282899;padding:1vw;border-radius:.5vw}.assignment-counts{display:flex;gap:1vw;margin-top:.5vw;font-size:.75vw;color:#ccc}.teacher-count,.student-count{display:flex;align-items:center;gap:.3vw;background-color:#3c3c3cb3;padding:.2vw .5vw;border-radius:1vw}.teacher-count svg,.student-count svg{font-size:.7vw;color:#4caf50}.teacher-section{margin-top:2vw;width:35vw;background-color:#28282899;padding:1vw;border-radius:.5vw;height:35vh;overflow-y:auto}.teacher-section .admin-section-title{margin-bottom:1vw}.students-section{width:35vw;background-color:#28282899;padding:1vw;border-radius:.5vw;height:35vh;overflow-y:auto}.teacher-search-container{position:relative;width:100%;margin-bottom:1vw}.teacher-search-input{width:100%;height:2.4vw;padding:.4vw 2.5vw .4vw .8vw;border-radius:1.5vw;background-color:#323232b3;border:.1vw solid rgba(255,255,255,.2);color:#fff;font-size:.8vw}.teacher-search-icon{position:absolute;right:.8vw;top:50%;transform:translateY(-50%);color:#888}.user-row{display:flex;justify-content:space-between;align-items:center;padding:.3vw .5vw;margin-bottom:.2vw;border-radius:.3vw;cursor:pointer;background-color:#323232b3;transition:background-color .2s;line-height:1.4}.user-row:hover{background-color:#3c3c3ce6}.user-row.selected{background-color:#464646e6;border-left:.3vw solid #4caf50}.student-search-input,.teacher-search-input{width:100%;height:2.4vw;padding:.4vw 2.5vw .4vw .8vw;border-radius:1.5vw;font-size:.8vw}.user-avatar-name{display:flex;align-items:center;gap:.5vw}.user-name{font-size:.9vw;max-width:13vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.user-selected-icon{display:flex;align-items:center;gap:.3vw}.user-actions,.user-select-icon,.user-selected-icon{display:flex;align-items:center}.icon-check{color:#4caf50;font-size:.9vw;margin-right:.3vw}.icon-remove{color:#f44336;font-size:.9vw}.icon-add{color:#2196f3;font-size:.9vw;opacity:.5}.user-row:hover .icon-add{opacity:1}.account-container{display:flex;width:98vw;height:92vh;gap:1.5vw;padding:1vw}.notification-toast{position:fixed;top:2vw;right:2vw;padding:1vw 1.5vw;border-radius:.5vw;display:flex;align-items:center;justify-content:space-between;min-width:20vw;max-width:30vw;box-shadow:0 .4vw 1vw var(--color-overlay);z-index:1100;animation:slideIn .3s ease-out forwards;font-family:DM Sans,sans-serif;background-color:var(--color-surface);border:1px solid var(--color-border)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.notification-toast.info{background-color:var(--info-bg);border-left:.3vw solid var(--color-blue);color:var(--color-blue)}.notification-toast.success{background-color:var(--success-bg);border-left:.3vw solid var(--color-green);color:var(--color-green)}.notification-toast.error{background-color:var(--error-bg);border-left:.3vw solid var(--color-red);color:var(--color-red)}.notification-toast.warning{background-color:var(--gray-5);border-left:.3vw solid var(--color-yellow);color:var(--color-yellow)}.notification-message{font-size:.9vw;font-weight:500;flex-grow:1;margin-right:1vw}.notification-close{background:none;border:none;font-size:1.2vw;color:inherit;cursor:pointer;padding:0;margin:0;line-height:1;opacity:.6;transition:opacity .2s ease}.notification-close:hover{opacity:1}@media (max-width: 768px){.notification-toast{top:1vh;right:1vh;min-width:70vw;max-width:90vw;padding:2vh 3vh}.notification-message{font-size:1.8vh}.notification-close{font-size:2.4vh}}.account-main-section{width:62vw;display:flex;flex-direction:column;background-color:var(--bg-tertiary);border-radius:1vw;box-shadow:0 .4vw 1vw #0000001a}.account-content-container{padding:1.5vw;height:calc(92vh - 6.4vw);display:flex;flex-direction:column}.account-tabs{display:flex;background-color:var(--bg-secondary);border-bottom:.1vw solid var(--border-default);height:3.4vw}.account-tab{padding:.8vw 1.5vw;font-family:Saira,sans-serif;font-size:1.1vw;font-weight:500;color:var(--text-secondary);background:none;border:none;cursor:pointer;transition:all .15vw ease}.account-tab:hover{color:var(--accent-primary)}.account-tab.active{color:var(--accent-primary);box-shadow:inset 0 -.2vw 0 var(--accent-primary)}.wallet-content{display:flex;flex-direction:column;gap:1vw;height:85vh}.wallet-actions{display:flex;justify-content:space-between;gap:1vw;margin-bottom:.5vw}.wallet-action-button{width:14vw;padding:.7vw;border:none;border-radius:.5vw;font-family:DM Sans,sans-serif;font-size:.8vw;font-weight:500;cursor:pointer;transition:all .15vw ease}.add-account,.connect-bank,.buy-vbux{background-color:#7cbb69;color:#fff}.disconnect{background-color:#e77c7c;color:#fff}.wallet-action-button:hover{transform:translateY(-.2vw);box-shadow:0 .3vw .5vw #0000001a}.current-vbux{display:flex;align-items:center;justify-content:center;gap:.5vw;font-family:Saira,sans-serif;font-size:1.1vw;margin:.5vw 0 1vw;color:var(--text-secondary)}.vbux-label{font-weight:500}.vbux-amount{font-weight:600;color:var(--text-primary)}.diamond-icon{width:1.2vw;height:1.2vw;background-color:var(--accent-secondary);clip-path:polygon(50vw 0vw,100vw 50vw,50vw 100vw,0vw 50vw);margin:0 .3vw}.diamond-icon-small{display:inline-block;width:.8vw;height:.8vw;background-color:var(--accent-secondary);clip-path:polygon(50vw 0vw,100vw 50vw,50vw 100vw,0vw 50vw);margin-right:.3vw;position:relative;top:.1vw}.wallet-stats-container{display:flex;gap:1.5vw;height:70vh}.wallet-stats{width:29vw;display:flex;flex-direction:column;font-family:DM Sans,sans-serif;background-color:var(--bg-tertiary);border-radius:.5vw}.stats-header{font-family:Saira,sans-serif;font-size:1vw;font-weight:600;color:var(--text-heading);text-align:center;margin-bottom:.5vw}.stats-row{display:flex;justify-content:space-between;padding:.4vw 0;font-size:.8vw}.stats-label{font-style:italic;color:var(--text-secondary)}.stats-value{font-weight:500;color:var(--text-primary)}.stats-divider{height:.1vw;background-color:var(--border-subtle);margin:.6vw 0}.plans-comparison-table{display:grid;grid-template-columns:15vw 11vw 11vw 11vw 11vw;width:59vw;height:85vh;align-content:start}.plans-header-row{display:contents}.feature-name-header{padding:.6vw;font-weight:700;background-color:var(--bg-secondary);border-bottom:.1vw solid var(--border-subtle)}.plan-header{padding:.6vw;text-align:center;background-color:var(--bg-secondary);border-bottom:.1vw solid var(--border-subtle)}.plan-header h3{font-family:Saira,sans-serif;font-size:.9vw;font-weight:600;color:var(--accent-secondary);margin:0}.plan-feature-row{display:contents}.feature-name{padding:.6vw;font-family:DM Sans,sans-serif;font-size:.8vw;color:var(--text-primary);background-color:var(--bg-tertiary);border-bottom:.1vw solid var(--border-subtle)}.feature-availability{padding:.6vw;text-align:center;font-family:DM Sans,sans-serif;font-size:.8vw;background-color:var(--bg-tertiary);border-bottom:.1vw solid var(--border-subtle)}.checkmark{color:var(--success);font-size:1vw;font-weight:700}.price-row .feature-availability{font-weight:600;color:var(--accent-primary)}.select-plan-button{padding:.4vw .8vw;background-color:var(--accent-secondary);color:var(--text-on-accent);border:none;border-radius:.4vw;font-family:DM Sans,sans-serif;font-size:.8vw;font-weight:500;cursor:pointer;transition:all .15vw ease}.select-plan-button:hover{background-color:var(--accent-secondary-hover);transform:translateY(-.1vw)}.placeholder-content{display:flex;justify-content:center;align-items:center;height:85vh;font-family:DM Sans,sans-serif;font-size:1.1vw;color:var(--text-secondary);font-style:italic}.account-profile-section{width:22vw;display:flex;flex-direction:column;background-color:var(--bg-tertiary);border-radius:1vw;box-shadow:0 .4vw 1vw #0000001a;padding:1.5vw;max-height:92vh;overflow:hidden}.profile-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3vw 1vw;text-align:center}.loading-spinner{width:3vw;height:3vw;border:.3vw solid #f3f3f3;border-top:.3vw solid var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1vw}.profile-loading p{font-family:DM Sans,sans-serif;font-size:.9vw;color:var(--text-secondary);margin:0}.profile-header h2{font-family:Saira,sans-serif;font-size:1.4vw;font-weight:600;color:var(--text-heading);margin:0}.edit-profile-button,.save-profile-button,.cancel-profile-button{padding:.4vw 1.2vw;border:none;border-radius:2vw;font-family:DM Sans,sans-serif;font-size:.85vw;font-weight:500;cursor:pointer;transition:all .15vw ease}.edit-profile-button,.save-profile-button{background-color:var(--accent-primary);color:var(--text-on-accent)}.cancel-profile-button{background-color:var(--bg-secondary);color:var(--text-primary);margin-right:.8vw}.edit-profile-button:hover,.save-profile-button:hover{background-color:var(--accent-primary-hover)}.cancel-profile-button:hover{background-color:var(--border-default)}.edit-actions{display:flex}.profile-avatar{display:flex;justify-content:center;margin-bottom:1.5vw;position:relative}.avatar-icon{width:7vw;height:7vw;border-radius:50vw;background-color:var(--bg-secondary);border:.2vw solid var(--accent-secondary);position:relative;background-image:linear-gradient(135deg,var(--accent-secondary) 25vw,transparent 25vw),linear-gradient(225deg,var(--accent-secondary) 25vw,transparent 25vw),linear-gradient(315deg,var(--accent-secondary) 25vw,transparent 25vw),linear-gradient(45deg,var(--accent-secondary) 25vw,transparent 25vw);background-position:center;background-size:50vw 50vw;overflow:hidden}.avatar-icon.with-preview{background-image:none}.avatar-preview{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50vw}.avatar-placeholder{width:100%;height:100%;border-radius:50vw;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;position:absolute;top:0;left:0}.avatar-initials{font-family:Saira,sans-serif;font-size:2.2vw;font-weight:600;color:#fff;text-shadow:0 .1vw .2vw rgba(0,0,0,.3);letter-spacing:.1vw}.photo-upload-label{position:absolute;width:100%;height:100%;display:flex;justify-content:center;align-items:center;cursor:pointer;background-color:#00000080;color:#fff;opacity:0;transition:opacity .15vw ease}.photo-upload-label:hover{opacity:1}.photo-upload-icon{font-size:2vw}.photo-upload{display:none}.profile-details{display:flex;flex-direction:column;gap:.7vw;height:60vh;overflow-y:auto;overflow-x:hidden;padding-right:.5vw;scrollbar-width:thin;scrollbar-color:var(--accent-primary) var(--bg-secondary)}.profile-details::-webkit-scrollbar{width:.4vw}.profile-details::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:.2vw}.profile-details::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:.2vw;-webkit-transition:background .2s ease;transition:background .2s ease}.profile-details::-webkit-scrollbar-thumb:hover{background:var(--accent-primary-hover)}.profile-field{display:flex;align-items:center;white-space:nowrap;min-height:2.5vw;margin-bottom:.3vw}.field-label{width:9vw;font-family:DM Sans,sans-serif;font-size:.9vw;font-weight:600;color:var(--text-secondary);text-align:right;padding-right:1vw}.field-value{width:12vw;font-family:DM Sans,sans-serif;font-size:.9vw;color:var(--text-primary);text-overflow:ellipsis;display:flex;align-items:center}.password-field{display:flex;align-items:center;justify-content:space-between}.change-password-button{background:none;border:none;color:var(--accent-primary);font-size:.8vw;cursor:pointer;margin-left:.5vw;padding:.2vw .5vw;text-decoration:underline}.change-password-button:hover{color:var(--accent-primary-hover)}.field-value input[type=text],.field-value input[type=email],.field-value input[type=tel],.field-value select{width:100%;padding:.4vw .6vw;font-size:.9vw;font-family:DM Sans,sans-serif;border:.1vw solid var(--border-default);border-radius:.4vw;background-color:var(--bg-secondary);color:var(--text-primary);transition:all .2s ease;cursor:text}.field-value input[type=text]:focus,.field-value input[type=email]:focus,.field-value input[type=tel]:focus,.field-value select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 .2vw #3498db33}.field-value input[type=text]:disabled{background-color:var(--bg-quaternary);color:var(--text-tertiary);cursor:not-allowed;opacity:.7}.field-value input[type=checkbox]{width:1.2vw;height:1.2vw}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000c;display:flex;justify-content:center;align-items:center;z-index:1000;animation:modalFadeIn .3s ease-out forwards}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.password-modal{width:40vw;min-width:400px;max-width:600px;background-color:var(--bg-tertiary);border-radius:1vw;box-shadow:0 1vw 3vw #00000080;padding:2vw;max-height:90vh;overflow-y:auto;transform:scale(.9);animation:modalSlideIn .3s ease-out forwards;border:.2vw solid var(--accent-primary)}@keyframes modalSlideIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2vw;padding-bottom:1vw;border-bottom:.1vw solid var(--border-default)}.password-modal h2{font-family:Saira,sans-serif;font-size:1.6vw;font-weight:600;color:var(--text-heading);margin:0;flex-grow:1;text-align:center}.modal-close-button{background:none;border:none;font-size:2vw;color:var(--text-secondary);cursor:pointer;padding:0;width:2.5vw;height:2.5vw;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease;margin-left:1vw}.modal-close-button:hover{background-color:var(--bg-secondary);color:var(--text-primary);transform:scale(1.1)}.modal-info{background-color:var(--bg-secondary);border-radius:.4vw;padding:.8vw 1vw;margin-bottom:1.5vw;border-left:.3vw solid var(--accent-primary)}.modal-info p{font-family:DM Sans,sans-serif;font-size:.8vw;color:var(--text-secondary);margin:0;text-align:center}.password-form{display:flex;flex-direction:column;gap:1.5vw}.form-group{display:flex;flex-direction:column;gap:.5vw}.form-group label{font-family:DM Sans,sans-serif;font-size:1vw;font-weight:600;color:var(--text-secondary)}.form-group input{padding:.8vw 1vw;font-size:1vw;font-family:DM Sans,sans-serif;border:.1vw solid var(--border-default);border-radius:.4vw;background-color:var(--bg-secondary);color:var(--text-primary);transition:all .2s ease}.form-group input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 .2vw #3498db33}.password-requirements{background-color:var(--bg-secondary);border-radius:.4vw;padding:1vw;margin-top:.5vw}.password-requirements p{font-family:DM Sans,sans-serif;font-size:.9vw;font-weight:600;color:var(--text-secondary);margin:0 0 .5vw}.password-requirements ul{margin:0;padding-left:1.5vw}.password-requirements li{font-family:DM Sans,sans-serif;font-size:.8vw;color:var(--text-secondary);margin-bottom:.3vw;transition:color .2s ease}.password-requirements li.requirement-met{color:var(--success-color, #4ade80)}.password-requirements li.requirement-met:before{content:"✓ ";color:var(--success-color, #4ade80);font-weight:700}.modal-actions{display:flex;justify-content:flex-end;gap:1vw;margin-top:2vw}.step-indicator{text-align:center;margin-bottom:2vw;padding-bottom:.5vw;border-bottom:.1vw solid var(--border-default)}.step-number{font-family:DM Sans,sans-serif;font-size:.8vw;color:var(--accent-primary);font-weight:600;display:block;margin-bottom:.5vw}.step-indicator h3{font-family:Saira,sans-serif;font-size:1.2vw;font-weight:600;color:var(--text-heading);margin:0 0 .5vw}.step-indicator p{font-family:DM Sans,sans-serif;font-size:.9vw;color:var(--text-secondary);margin:0}.modal-actions button{padding:.8vw 1.5vw;border:none;border-radius:.4vw;font-family:DM Sans,sans-serif;font-size:.9vw;font-weight:500;cursor:pointer;transition:all .15vw ease}.cancel-button,.back-button{background-color:var(--bg-secondary);color:var(--text-primary)}.save-button,.verify-button{background-color:var(--accent-primary);color:var(--text-on-accent)}.cancel-button:hover,.back-button:hover{background-color:var(--border-default)}.save-button:hover,.verify-button:hover{background-color:var(--accent-primary-hover)}.save-button:disabled,.verify-button:disabled{background-color:var(--border-default);color:var(--text-secondary);cursor:not-allowed}@media (max-width: 768px){.account-container{flex-direction:column;height:auto;padding:3vw 2vw;gap:3vw}.account-tab{font-size:2vw;padding:1.5vw}.wallet-action-button{font-size:1.6vw;padding:1.2vw}.current-vbux{font-size:2vw}.diamond-icon{width:2vw;height:2vw}.diamond-icon-small{width:1.6vw;height:1.6vw}.stats-header{font-size:1.8vw}.stats-row{font-size:1.4vw;padding:.6vw 0}.wallet-stats-container{flex-direction:column}.plan-header h3{font-size:1.6vw}.feature-name,.feature-availability{font-size:1.4vw;padding:1.2vw}.checkmark{font-size:1.8vw}.select-plan-button{font-size:1.4vw;padding:.8vw 1.6vw}.profile-header h2{font-size:2.2vw}.edit-profile-button{font-size:1.4vw;padding:.8vw 2vw}.avatar-icon{width:12vw;height:12vw}.field-label,.field-value{font-size:1.6vw}.theme-option input{width:1.8vw;height:1.8vw}.field-value input[type=text],.field-value input[type=email],.field-value select{font-size:1.6vw;padding:.8vw 1vw}.field-value input[type=checkbox]{width:2vw;height:2vw}.change-password-button{font-size:1.4vw}.password-modal{width:70vw;padding:4vw}.password-modal h2{font-size:3vw}.form-group label{font-size:2vw}.form-group input{font-size:1.8vw;padding:1.5vw}.password-requirements p{font-size:1.8vw}.password-requirements li{font-size:1.6vw}.modal-actions button{font-size:1.8vw;padding:1.5vw 3vw}}.billing-content{display:flex;flex-direction:column;width:59vw;height:85vh;gap:1.5vw}.billing-sections{display:flex;gap:1.5vw;height:35vh}.billing-section{background-color:var(--bg-secondary);border-radius:.8vw;padding:1.2vw}.subscription-summary,.payment-method{width:28vw}.invoice-history{height:40vh}.billing-section-title{font-family:Saira,sans-serif;font-size:1.2vw;font-weight:600;color:var(--text-heading);margin:0 0 1vw;padding-bottom:.6vw;border-bottom:.1vw solid var(--border-subtle)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1vw}.subscription-details{display:flex;flex-direction:column;gap:.7vw}.subscription-plan,.subscription-period,.subscription-renewal,.subscription-amount{display:flex;align-items:center;font-size:.9vw;font-family:DM Sans,sans-serif}.plan-label,.period-label,.renewal-label,.amount-label{width:9vw;color:var(--text-secondary);font-weight:500}.plan-value,.period-value,.renewal-value{color:var(--text-primary)}.amount-value{color:var(--accent-primary);font-weight:600}.plan-status{margin-left:.8vw;padding:.2vw .6vw;border-radius:1vw;font-size:.75vw;font-weight:600}.payment-card{display:flex;align-items:center;margin-bottom:1.2vw;padding:.8vw;background-color:var(--bg-tertiary);border-radius:.6vw}.card-icon{width:3vw;height:2vw;background-color:#1a1f71;border-radius:.3vw;margin-right:1vw;position:relative}.card-icon.visa:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2vw;height:.6vw;background-color:#fff;clip-path:polygon(0 100%,30% 0,50% 100%,70% 0,100% 100%)}.card-details{flex:1}.card-number,.card-expiry{font-family:DM Sans,sans-serif;font-size:.85vw}.card-number{font-weight:600;color:var(--text-primary);margin-bottom:.2vw}.card-expiry{color:var(--text-secondary)}.billing-address{display:flex;align-items:center;padding:.8vw;background-color:var(--bg-tertiary);border-radius:.6vw}.address-summary{flex:1;display:flex;flex-direction:column}.address-name,.address-line,.address-city{font-family:DM Sans,sans-serif;font-size:.85vw;margin-bottom:.2vw}.address-name{font-weight:600;color:var(--text-primary)}.address-line,.address-city{color:var(--text-secondary)}.update-card-button,.update-address-button,.download-all-button,.download-invoice-button{font-family:DM Sans,sans-serif;font-size:.8vw;border:none;border-radius:.4vw;cursor:pointer;transition:all .15vw ease}.update-card-button,.update-address-button{padding:.4vw .8vw;background-color:var(--bg-secondary);color:var(--text-primary)}.download-all-button{padding:.4vw .8vw;background-color:var(--bg-tertiary);color:var(--text-primary)}.download-invoice-button{padding:.3vw .6vw;background-color:var(--accent-secondary);color:var(--text-on-accent)}.update-card-button:hover,.update-address-button:hover,.download-all-button:hover{background-color:var(--border-default)}.download-invoice-button:hover{background-color:var(--accent-secondary-hover)}.invoice-table{width:100%;border-collapse:collapse}.invoice-table th,.invoice-table td{padding:.7vw .5vw;text-align:left;font-family:DM Sans,sans-serif;font-size:.85vw;border-bottom:.1vw solid var(--border-subtle)}.invoice-table th{font-weight:600;color:var(--text-secondary);background-color:var(--bg-tertiary)}.invoice-table td{color:var(--text-primary)}@media (max-width: 768px){.billing-sections{flex-direction:column;height:auto;gap:2vw}.subscription-summary,.payment-method{width:100%}.billing-section-title{font-size:2vw}.subscription-plan,.subscription-period,.subscription-renewal,.subscription-amount,.card-number,.card-expiry,.address-name,.address-line,.address-city{font-size:1.6vw}.invoice-table th,.invoice-table td{font-size:1.5vw;padding:1.2vw 1vw}}.loading-container{display:flex;justify-content:center;align-items:center;min-height:400px;font-size:1vw;color:var(--text-secondary)}.no-subscription{display:flex;flex-direction:column;align-items:center;padding:2vw;text-align:center}.no-subscription p{margin-bottom:1vw;color:var(--text-secondary);font-size:.9vw}.subscribe-button{padding:.6vw 1.2vw;font-size:.9vw;font-weight:600;background-color:var(--accent-primary);color:var(--bg-primary);border:none;border-radius:.4vw;cursor:pointer;transition:all .2s ease}.subscribe-button:hover{transform:translateY(-2px);box-shadow:0 .2vw .5vw #0003}.no-payment-method{display:flex;flex-direction:column;align-items:center;padding:2vw;text-align:center}.no-payment-method p{margin-bottom:1vw;color:var(--text-secondary);font-size:.9vw}.add-payment-button{padding:.6vw 1.2vw;font-size:.9vw;font-weight:600;background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-default);border-radius:.4vw;cursor:pointer;transition:all .2s ease}.add-payment-button:hover{background-color:var(--bg-tertiary)}.plan-status.active{background-color:#7cbb6933;color:#7cbb69}.plan-status.past_due{background-color:#ffb40033;color:#ffb400}.plan-status.canceled,.plan-status.unpaid{background-color:#e5737333;color:#e57373}.plan-status.trialing{background-color:#6c8ebf33;color:#6c8ebf}.plan-status.incomplete{background-color:#b4b4b433;color:#b4b4b4}.status-paid{padding:.2vw .6vw;background-color:#7cbb6933;color:#7cbb69;border-radius:1vw;font-size:.75vw;font-weight:600}.status-open{padding:.2vw .6vw;background-color:#ffb40033;color:#ffb400;border-radius:1vw;font-size:.75vw;font-weight:600}.status-void{padding:.2vw .6vw;background-color:#b4b4b433;color:#b4b4b4;border-radius:1vw;font-size:.75vw;font-weight:600}.status-uncollectible{padding:.2vw .6vw;background-color:#e5737333;color:#e57373;border-radius:1vw;font-size:.75vw;font-weight:600}.no-invoices{display:flex;justify-content:center;align-items:center;padding:2vw;color:var(--text-secondary);font-size:.9vw}.card-icon.visa{background-color:#1a1f71;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%23FFFFFF' d='M32,24c0,0.7-0.1,1.3-0.3,2h-4.3v-1.5h-6v-2h6V21h4.5C31.9,22,32,23,32,24z M23.5,25.5v1h-2v-1H23.5z M42,24c0,9.9-8.1,18-18,18c-9.9,0-18-8.1-18-18C6,14.1,14.1,6,24,6C33.9,6,42,14.1,42,24z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:70%}.card-icon.mastercard{background-color:#f79f1a;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%23FFFFFF' d='M18,24c0-3.3,1.5-6.3,4-8c-5.7-4.1-13.7-2.8-17.8,2.9c-4.1,5.7-2.8,13.7,2.9,17.8c4.6,3.3,10.8,3.3,15.4,0 C19.5,30.3,18,27.3,18,24z M30,16c-5.7-4.1-13.7-2.8-17.8,2.9c-4.1,5.7-2.8,13.7,2.9,17.8c4.6,3.3,10.8,3.3,15.4,0 c5.7-4.1,6.9-12.1,2.9-17.8C32,17.8,31,16.8,30,16z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:70%}.card-icon.amex{background-color:#2e77bc;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%23FFFFFF' d='M42,24c0,9.9-8.1,18-18,18c-9.9,0-18-8.1-18-18C6,14.1,14.1,6,24,6C33.9,6,42,14.1,42,24z M31,21h-3.5 l-2,5.5L23,21h-3v8h-8v-3l7.5-5h-4V18h6l2,5l2-5h10V21z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:70%}.card-icon.discover{background-color:#ff6000;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%23FFFFFF' d='M42,24c0,9.9-8.1,18-18,18c-9.9,0-18-8.1-18-18C6,14.1,14.1,6,24,6C33.9,6,42,14.1,42,24z M13,21v3h5v3h3 v-9h-3v3H13z M24,21v6h8v-6H24z M27,24h-1v-1h1V24z M34,18v9h-3v-9H34z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:70%}.download-invoice-button{background-color:transparent;color:var(--accent-primary);border:none;font-size:.8vw;font-weight:600;cursor:pointer;padding:.2vw .5vw;border-radius:.2vw}.download-invoice-button:hover{background-color:#c7b7831a}@media (max-width: 768px){.loading-container{font-size:2vw}.no-subscription p,.no-payment-method p,.no-invoices{font-size:1.8vw}.subscribe-button,.add-payment-button{font-size:1.6vw;padding:1vw 2vw}.plan-status,.status-paid,.status-open,.status-void,.status-uncollectible{font-size:1.4vw}.download-invoice-button{font-size:1.5vw}}.vbux-purchase-container{margin-top:1vw;padding:1vw;border-radius:.5vw;background-color:var(--bg-secondary);display:flex;flex-direction:column;gap:1.5vw}.vbux-balance-section,.vbux-purchase-section{padding:1vw;border-radius:.5vw;background-color:var(--bg-tertiary)}.vbux-balance-section h3,.vbux-purchase-section h3{font-family:Saira,sans-serif;font-size:1vw;margin-bottom:1vw;color:var(--text-heading)}.vbux-purchase-button{background-color:var(--accent-primary);color:#fff;border:none;border-radius:.5vw;padding:.8vw 1.5vw;font-family:DM Sans,sans-serif;font-size:1vw;font-weight:500;cursor:pointer;transition:all .2s ease}.vbux-purchase-button:hover{background-color:var(--accent-primary-dark);transform:translateY(-.1vw)}.large-display{transform:scale(1.2);transform-origin:left center;margin:1vw 0}.payment-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.payment-modal{background-color:var(--bg-card, #2a2a2a);border-radius:12px;width:90%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px #0000004d;animation:modal-fade-in .3s ease-out}@keyframes modal-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.payment-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--border-subtle, #3a3a3a);background-color:var(--bg-secondary, #323232);border-radius:12px 12px 0 0}.payment-modal-header h2{margin:0;font-size:20px;font-weight:600;color:var(--text-heading, #ffffff)}.close-button{background:none;border:none;font-size:24px;color:var(--text-secondary, #b0b0b0);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.close-button:hover{background-color:#ffffff1a;color:var(--text-primary, #ffffff)}.payment-modal-content{padding:24px}.loading-spinner{display:flex;justify-content:center;align-items:center;min-height:200px;color:var(--text-secondary, #b0b0b0)}.plan-selection{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:16px}.plan-card{background-color:var(--bg-tertiary, #262626);border-radius:8px;padding:24px;display:flex;flex-direction:column;border:1px solid var(--border-default, #3a3a3a);transition:all .3s ease}.plan-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0003;border-color:var(--accent-primary, #c7b783)}.plan-card h3{margin:0 0 16px;font-size:18px;color:var(--text-heading, #ffffff);text-align:center}.plan-price{margin-bottom:16px;text-align:center}.monthly-price,.yearly-price{margin-bottom:8px}.price{font-size:24px;font-weight:700;color:var(--text-heading, #ffffff)}.interval{font-size:14px;color:var(--text-secondary, #b0b0b0)}.plan-features{list-style-type:none;padding:0;margin:0 0 24px}.plan-features li{padding:8px 0;font-size:14px;color:var(--text-primary, #e0e0e0);border-bottom:1px solid var(--border-subtle, #3a3a3a)}.plan-features li:last-child{border-bottom:none}.plan-actions{display:flex;gap:8px;margin-top:auto}.plan-button{flex:1;padding:10px;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease}.plan-button.monthly{background-color:var(--bg-secondary, #424242);color:var(--text-primary, #ffffff)}.plan-button.yearly{background-color:var(--accent-primary, #c7b783);color:#2a2a2a}.plan-button:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003}.payment-form{display:flex;flex-direction:column;gap:20px}.form-row{display:flex;flex-direction:column;gap:8px}.form-row label{font-size:14px;color:var(--text-secondary, #b0b0b0);margin-bottom:8px;font-weight:600}.card-element-container{padding:16px;border-radius:8px;background-color:#f8f9fa;border:1px solid var(--border-default, #3a3a3a);min-height:50px;cursor:text;transition:all .2s ease;margin-bottom:16px}.card-element-container:hover{border-color:var(--accent-primary, #c7b783);box-shadow:0 0 0 1px var(--accent-primary, #c7b783)}.StripeElement{width:100%;min-height:40px;display:flex;align-items:center}.StripeElement iframe{min-height:40px!important;opacity:1!important}.StripeElement--focus{border-color:var(--accent-primary, #c7b783);box-shadow:0 0 0 2px #c7b78380}.payment-error{color:var(--error-text, #e57373);font-size:14px;padding:12px;background-color:#e573731a;border-radius:4px;border-left:3px solid var(--error-text, #e57373);margin:16px 0}.payment-summary{background-color:var(--bg-secondary, #323232);border-radius:8px;padding:16px;margin-bottom:20px}.summary-item{display:flex;justify-content:space-between;padding:8px 0;font-size:14px;border-bottom:1px solid var(--border-subtle, #3a3a3a)}.summary-item:last-child{border-bottom:none;font-weight:600}.summary-item span:first-child{color:var(--text-secondary, #b0b0b0)}.summary-item span:last-child{color:var(--text-primary, #ffffff)}.button-container{display:flex;justify-content:flex-end;gap:12px;margin-top:16px}.cancel-button,.submit-button{padding:10px 20px;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.cancel-button{background-color:transparent;border:1px solid var(--border-default, #3a3a3a);color:var(--text-primary, #ffffff)}.submit-button{background-color:var(--accent-primary, #c7b783);color:#2a2a2a}.cancel-button:hover,.submit-button:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003}.submit-button:disabled,.cancel-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 600px){.payment-modal{width:95%;max-height:95vh}.plan-selection{grid-template-columns:1fr}.button-container{flex-direction:column}.cancel-button,.submit-button{width:100%}}.card-element-instructions{margin-bottom:12px;background-color:#4299e11a;border-radius:4px;padding:12px;border-left:3px solid #4299e1}.card-element-instructions p{margin:0;font-size:14px;color:#4299e1;line-height:1.4}.custom-card-inputs{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.input-group{display:flex;flex-direction:column;gap:6px}.input-group label{font-size:13px;color:var(--text-secondary, #b0b0b0);font-weight:500}.input-group input{padding:12px;border-radius:6px;border:1px solid var(--border-default, #3a3a3a);background-color:#f8f9fa;color:#424770;font-size:16px;transition:all .2s ease}.input-group input:hover{border-color:var(--accent-primary, #c7b783)}.input-group input:focus{outline:none;border-color:var(--accent-primary, #c7b783);box-shadow:0 0 0 2px #c7b7834d}.input-group input::-moz-placeholder{color:#aab7c4}.input-group input::placeholder{color:#aab7c4}.input-row{display:flex;gap:16px}.input-row .input-group{flex:1}.input-group.card-number input{letter-spacing:1px}@media (max-width: 600px){.input-row{flex-direction:column;gap:16px}}:root{--bg-canvas: #F7F6F2;--bg-surface: #FFFFFF;--bg-subtle: #F1F1ED;--border: #D9D9D9;--border-muted:#E6E6E6;--fg-primary: #1C1C1E;--fg-muted: #676767;--fg-disabled: #A9A9A9;--accent-primary: #324BC7;--accent-hover: #435ED6;--accent-active: #263DAF;--accent-focus-ring: #324BC7;--success: #2E9148;--warning: #B97C00;--error: #D43939;--info: #1E6FB9;--hover-surface: #F2F2F0;--active-surface: #EAEAE8;--selected-surface: #E0E0DC;--disabled-surface: #F4F4F2;--hero-gradient: linear-gradient(90deg, #F7F6F2 0%, #FFFFFF 100%);--accent-gradient: linear-gradient(90deg, #324BC7, #4AA0E6)}[data-theme=dark]{--bg-canvas: #0C0C0F;--bg-surface: #1A1A1E;--bg-subtle: #232327;--border: #2C2C32;--border-muted:#3A3A42;--fg-primary: #E5E5E5;--fg-muted: #999DA8;--fg-disabled: #5E5E67;--accent-primary: #5A78FF;--accent-hover: #738CFF;--accent-active: #3A5BE0;--accent-focus-ring: #5A78FF;--success: #4ECB71;--warning: #E6A23C;--error: #FF6B6B;--info: #4AA0E6;--hover-surface: #1F1F23;--active-surface: #25252A;--selected-surface: #2A2A30;--disabled-surface: #151519;--hero-gradient: linear-gradient(90deg, #0C0C0F 0%, #1A1A1E 100%);--accent-gradient: linear-gradient(90deg, #5A78FF, #3A5BE0)}*{box-sizing:border-box;margin:0;padding:0}.finlit-hero{height:86vh;width:87vw;background:var(--hero-gradient);background-size:200% 200%;color:var(--fg-primary);text-align:center;position:relative;overflow-y:auto;scroll-behavior:smooth;transition:background .3s ease;padding:6vh 6vw;box-sizing:border-box;font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4vh;animation:gradientShift 10s ease infinite}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.finlit-partnership-section{margin:0;width:100%;scroll-margin-top:6vh}.finlit-partnership-header{display:flex;align-items:center;justify-content:center;padding:4vh 0;position:relative;margin-bottom:3vh}.finlit-partnership-tagline,.finlit-career-tagline{text-align:center;margin:3vh 0;font-size:2.5vh}.finlit-partnership-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(20vw,1fr));gap:4vh 4vw;padding:2vh 0 6vh;max-width:80vw;margin:0 auto}.finlit-feature-card:hover{transform:translateY(-.5vh) scale(1.05);background:var(--hover-surface);border-color:var(--accent-primary);box-shadow:0 1vh 2vh #0000001a}.finlit-feature-icon{font-size:4vh;margin-bottom:1vh}.finlit-partnership-button{height:6vh;padding:0 5vw;font-size:2.5vh;background-color:transparent;color:var(--accent-primary);border:.2vh solid var(--accent-primary);border-radius:1vh;cursor:pointer;font-weight:700;transition:all .4s cubic-bezier(.4,0,.2,1);font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,sans-serif;margin:0;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.finlit-partnership-button:hover{background-color:var(--accent-hover);color:var(--bg-surface);transform:translateY(-.3vh) scale(1.02);border-color:var(--accent-hover);box-shadow:0 .5vh 1.5vh #0003}.finlit-partnership-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:3vh}.finlit-partnership-header h3{font-size:4.5vh;margin:0;color:var(--accent-primary);text-shadow:0 .2vh .4vh rgba(0,0,0,.3);flex-grow:1;font-family:Saira,-apple-system,BlinkMacSystemFont,sans-serif}.finlit-partnership-header h3 a{color:inherit;text-decoration:none;transition:all .3s ease}.finlit-partnership-header h3 a:hover{color:var(--accent-hover);text-shadow:0 .3vh .6vh rgba(0,0,0,.4)}.finlit-partnership-tagline{font-size:2.8vh;margin-bottom:7vh;color:var(--fg-primary);font-style:italic;text-align:center;text-shadow:0 .1vh .2vh rgba(0,0,0,.3);font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif}.finlit-career-tagline{font-size:3.2vh;margin-bottom:14vh;color:var(--accent-primary);font-weight:600;text-align:center;text-shadow:0 .2vh .4vh rgba(0,0,0,.3);font-family:Saira,-apple-system,BlinkMacSystemFont,sans-serif}.finlit-partnership-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(20vw,1fr));gap:4vh 3vw;padding:0;width:70vw;margin:4vh auto}.finlit-feature-card{background:var(--bg-surface);border-radius:1.5vh;padding:4vh 3vw;text-align:center;border:.1vh solid var(--border);transition:all .4s cubic-bezier(.4,0,.2,1);cursor:pointer;box-shadow:0 .2vh .5vh #0000000d}.finlit-feature-card:hover{transform:translateY(-.5vh) scale(1.05);background:var(--hover-surface);border-color:var(--accent-primary);box-shadow:0 1vh 2vh #00000026}.finlit-feature-icon{font-size:4vh;margin-bottom:2.5vh;display:block;filter:drop-shadow(0 .2vh .4vh rgba(0,0,0,.3))}.finlit-feature-card h4{font-size:2.2vh;margin-bottom:1vh;color:var(--accent-primary);font-weight:600;font-family:Saira,-apple-system,BlinkMacSystemFont,sans-serif}.finlit-feature-card span{font-size:1.8vh;color:var(--fg-muted);line-height:1.4;font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif}.finlit-feature-card:hover h4{color:var(--accent-hover)}.finlit-feature-card:hover span{color:var(--fg-primary)}@media (max-width: 768px){.finlit-hero{height:85vh;padding:5vh 6vw;gap:2vh}.finlit-partnership-grid{grid-template-columns:1fr;gap:3vh 4vw;width:70vw}.finlit-partnership-header h3{font-size:3.5vh}.finlit-feature-card{padding:3vh 4vw}.finlit-hero-title{font-size:5vh;height:14vh}.finlit-hero-subtitle{font-size:2.2vh;height:5vh}.finlit-partnership-button{height:6vh;font-size:2.2vh}}@media (max-width: 480px){.finlit-hero{height:85vh;padding:4vh 5vw;gap:2vh}.finlit-partnership-grid{grid-template-columns:1fr;gap:3vh;width:70vw}.finlit-hero-title{font-size:4vh;height:12vh}.finlit-hero-subtitle{font-size:2vh;height:4vh}.finlit-partnership-button{height:5vh;font-size:2vh}}.finlit-logo{width:16vw;height:16vh;margin-bottom:2vh}.spinning-logo{animation:spin 3s linear infinite}.font-primary{font-family:Saira,-apple-system,BlinkMacSystemFont,sans-serif}.font-body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif}.font-mono{font-family:IBM Plex Mono,monospace}.font-accent{font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,sans-serif}.finlit-stat,.finlit-number{font-family:IBM Plex Mono,monospace;font-weight:500}.finlit-hero-title{font-family:Saira,-apple-system,BlinkMacSystemFont,sans-serif;font-size:6vh;font-weight:700;height:20vh;color:var(--accent-primary);background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0;line-height:1.2;display:flex;align-items:center;justify-content:center}.finlit-hero-subtitle{font-family:Saira,-apple-system,BlinkMacSystemFont,sans-serif;font-size:2.5vh;height:6vh;margin:0;font-weight:600;color:var(--fg-primary);line-height:1.4;opacity:.9;display:flex;align-items:center;justify-content:center}.finlit-cta-button{padding:2vh 4vw;font-size:2.5vh;background-color:khaki;color:#1e3c72;border:none;border-radius:1vh;cursor:pointer;font-weight:700;transition:all .3s ease}.finlit-cta-button:hover{background-color:#e6d875;transform:translateY(-.2vh)}.finlit-section-content{max-width:90vw;margin:0 auto;padding:8vh 2vw}.finlit-section-content h2{font-size:4vh;margin-bottom:3vh;color:#1e3c72;text-align:center}.finlit-section-content h3{font-size:3vh;margin-bottom:2vh;color:#1e3c72}.finlit-section-content p{font-size:2vh;line-height:1.6;margin-bottom:2vh}.finlit-partnership{background-color:#f8f9fa;width:100vw}.finlit-services{background-color:#fff;width:100vw}.finlit-service-cards{display:flex;justify-content:space-between;gap:2vw;margin-top:4vh}.finlit-service-card{flex:1;background-color:#f8f9fa;padding:4vh 2vw;border-radius:1vh;text-align:center;border:.1vw solid #e9ecef;transition:all .3s ease}.finlit-service-card:hover{transform:translateY(-.5vh);box-shadow:0 1vh 3vh #0000001a}.finlit-service-card h3{font-size:3vh;margin-bottom:2vh;color:#1e3c72}.finlit-service-card p{font-size:1.8vh;line-height:1.5}.finlit-tiers{background-color:#f8f9fa;width:100vw}.finlit-tier-cards{display:flex;justify-content:space-between;gap:2vw;margin-top:4vh}.finlit-tier-card{flex:1;background-color:#fff;padding:4vh 2vw;border-radius:1vh;text-align:center;border:.2vw solid #e9ecef;transition:all .3s ease}.finlit-tier-card:hover{border-color:khaki;box-shadow:0 .5vh 2vh #0000001a;transform:translateY(-.3vh)}.finlit-tier-card h3{font-size:3vh;margin-bottom:2vh;color:#1e3c72}.finlit-tier-price{font-size:4vh;font-weight:700;color:khaki;margin-bottom:3vh}.finlit-tier-features{list-style:none;padding:0;text-align:left}.finlit-tier-features li{padding:.5vh 0;border-bottom:.1vh solid #f8f9fa;font-size:1.8vh}.finlit-tier-features li:last-child{border-bottom:none}.finlit-about{background-color:#fff;width:100vw}.finlit-founder{margin-top:4vh;padding:4vh;background-color:#f8f9fa;border-radius:1vh;border-left:.5vw solid #F0E68C}.finlit-founder p{margin-bottom:2vh}.finlit-cta{background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff;text-align:center;width:100vw}.finlit-cta h2{font-size:5vh;margin-bottom:2vh;color:#fff}.finlit-cta p{font-size:2.5vh;margin-bottom:4vh}.finlit-cta-buttons{display:flex;justify-content:center;gap:2vw}.finlit-cta-button.primary{background-color:khaki;color:#1e3c72}.finlit-cta-button.secondary{background-color:transparent;color:#fff;border:.2vw solid white;text-decoration:none;display:inline-block;padding:2vh 4vw;font-size:2.5vh;border-radius:1vh;font-weight:700;transition:all .3s ease}.finlit-cta-button.secondary:hover{background-color:#fff;color:#1e3c72;transform:translateY(-.2vh)}.finlit-footer{background-color:#1a1a1a;color:#fff;text-align:center;padding:4vh 0;width:100vw}.finlit-footer p{margin:1vh 0;font-size:1.8vh}@media (max-width: 768px){.finlit-service-cards,.finlit-tier-cards{flex-direction:column}.finlit-hero-title{font-size:4vh}.finlit-logo{width:24vw;height:12vh}.finlit-cta-buttons{flex-direction:column;align-items:center}.finlit-section-content{max-width:95vw;padding:6vh 4vw}.finlit-service-card,.finlit-tier-card{margin-bottom:2vh}.finlit-hero{padding:8vh 8vw}.finlit-partnership-grid{grid-template-columns:1fr;gap:3vh}}@media (max-width: 480px){.finlit-hero{height:80vh}.finlit-hero-title{font-size:3.5vh}.finlit-logo{width:30vw;height:10vh}.finlit-section-content h2{font-size:3vh}.finlit-cta-button{padding:1.5vh 6vw;font-size:2vh}}.finlit-detailed-explanation{padding:4vh 4vw;color:var(--fg-primary);font-size:2vh;line-height:1.6;font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--bg-subtle);border-radius:1vh;margin:6vh 0;border:.1vh solid var(--border)}.finlit-detailed-explanation h4,.finlit-detailed-explanation h5{color:var(--accent-primary);margin:2vh 0 1vh;font-family:Saira,-apple-system,BlinkMacSystemFont,sans-serif}.finlit-detailed-explanation ul{list-style-type:disc;padding-left:4vw;margin:1vh 0}.finlit-detailed-explanation ul li{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;margin-bottom:.5vh}.finlit-detailed-explanation p{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;margin-bottom:1vh}.finlit-detailed-explanation a{color:var(--accent-primary);text-decoration:underline;font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;transition:color .2s ease}.finlit-detailed-explanation a:hover{color:var(--accent-hover)}.finlit-benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(25vw,1fr));gap:2vh 2vw;margin:2vh 0 4vh}.finlit-benefit-card{background:linear-gradient(135deg,var(--bg-surface),var(--bg-subtle));border-radius:1vh;padding:3vh 2vw;text-align:center;border:.1vh solid var(--border-muted);transition:all .4s ease;box-shadow:0 .5vh 1vh #0000000d;animation:fadeIn .5s ease-in-out}.finlit-benefit-card:hover{transform:translateY(-.5vh) scale(1.02);box-shadow:0 1vh 2vh #00000026;background:linear-gradient(135deg,var(--hover-surface),var(--bg-subtle))}.finlit-benefit-icon{font-size:4vh;margin-bottom:1vh;display:block}.finlit-benefit-card h6{font-family:Saira,sans-serif;font-size:2.2vh;margin-bottom:1vh;color:var(--accent-primary);font-weight:600}.finlit-benefit-card p{font-size:1.8vh;color:var(--fg-muted);line-height:1.4}@keyframes fadeIn{0%{opacity:0;transform:translateY(2vh)}to{opacity:1;transform:translateY(0)}}.mfp-finlit-hero{width:100vw;min-height:80vh;padding:12vh 6vw 12vh 6vw;background:linear-gradient(90deg,#f7f6f2,#fff);color:#1c1c1e;overflow-x:hidden;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif}.mfp-hero{width:88vw;margin:0 auto 4vh;text-align:center}.mfp-hero-title{font-family:Saira,-apple-system,BlinkMacSystemFont,sans-serif;font-size:7vh;font-weight:700;color:#324bc7;background:linear-gradient(90deg,#324bc7,#4aa0e6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 3vh;line-height:1.2;text-align:center}.mfp-hero-subtitle{font-family:Saira,-apple-system,BlinkMacSystemFont,sans-serif;font-size:3vh;margin:0;font-weight:600;color:#1c1c1e;line-height:1.4;opacity:.9;text-align:center}.mfp-finlit-partnership-section{width:88vw;margin:0 auto}.mfp-finlit-partnership-header{margin-bottom:5vh;text-align:center}.mfp-finlit-partnership-header h3{font-size:5vh;margin:0 0 4vh;color:#324bc7;font-family:Saira,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.3;text-align:center}.mfp-finlit-partnership-header h3 a{color:inherit;text-decoration:none;transition:all .3s ease}.mfp-finlit-partnership-header h3 a:hover{color:#435ed6}.mfp-finlit-partnership-tagline{font-size:2.8vh;margin:0 0 3vh;color:#1c1c1e;font-style:italic;text-align:center;font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5}.mfp-finlit-career-tagline{font-size:3.2vh;margin:0 0 8vh;color:#324bc7;font-weight:600;text-align:center;font-family:Saira,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.4}.mfp-finlit-partnership-grid{display:grid;grid-template-columns:1fr;gap:4vh;width:88vw;margin:0 auto 8vh;justify-items:center}.mfp-finlit-feature-card{background:#fff;border-radius:2vh;padding:4vh 6vw;text-align:center;border:.2vh solid #D9D9D9;transition:all .4s cubic-bezier(.4,0,.2,1);cursor:pointer;box-shadow:0 .5vh 1vh #0000000d;width:80vw;max-width:80vw;box-sizing:border-box}.mfp-finlit-feature-card:hover{transform:translateY(-.5vh) scale(1.02);background:#f2f2f0;border-color:#324bc7;box-shadow:0 1vh 2vh #00000026}.mfp-finlit-feature-icon{font-size:5vh;margin-bottom:4vh;display:block}.mfp-finlit-feature-card h4{font-size:2.5vh;margin-bottom:1.5vh;color:#324bc7;font-weight:600;font-family:Saira,-apple-system,BlinkMacSystemFont,sans-serif}.mfp-finlit-feature-card span{font-size:2vh;color:#676767;line-height:1.4;font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif}.mfp-finlit-feature-card:hover h4{color:#435ed6}.mfp-finlit-feature-card:hover span{color:#1c1c1e}.mfp-finlit-detailed-explanation{width:88vw;margin:8vh auto 0;padding:5vh 4vw;color:#1c1c1e;font-size:2.2vh;line-height:1.6;font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;background-color:#f1f1ed;border-radius:2vh;border:.2vh solid #D9D9D9}.mfp-finlit-detailed-explanation h4,.mfp-finlit-detailed-explanation h5{color:#324bc7;margin:3vh 0 2vh;font-family:Saira,-apple-system,BlinkMacSystemFont,sans-serif}.mfp-finlit-detailed-explanation h4{font-size:3vh}.mfp-finlit-detailed-explanation h5{font-size:2.5vh}.mfp-finlit-detailed-explanation p{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;margin-bottom:2vh}.mfp-finlit-benefits-grid{display:grid;grid-template-columns:1fr;gap:3vh;margin:0 0 5vh;justify-items:center}.mfp-finlit-benefit-card{background:linear-gradient(135deg,#fff,#f1f1ed);border-radius:2vh;padding:4vh 6vw;text-align:center;border:.2vh solid #E6E6E6;transition:all .4s ease;box-shadow:0 .5vh 1vh #0000000d;width:80vw;max-width:80vw;box-sizing:border-box}.mfp-finlit-benefit-card:hover{transform:translateY(-.5vh) scale(1.02);box-shadow:0 1vh 2vh #00000026;background:linear-gradient(135deg,#f2f2f0,#f1f1ed)}.mfp-finlit-benefit-icon{font-size:5vh;margin-bottom:1vh;display:block}.mfp-finlit-benefit-card h6{font-family:Saira,sans-serif;font-size:2.5vh;margin-bottom:1.5vh;color:#324bc7;font-weight:600}.mfp-finlit-benefit-card p{font-size:2vh;color:#676767;line-height:1.4}.mfp-finlit-resources{width:88vw;margin:6vh auto 0;padding:4vh 4vw;text-align:center;background-color:#f1f1ed;border-radius:2vh;border:.2vh solid #D9D9D9}.mfp-finlit-resources h5{color:#324bc7;font-size:2.5vh;margin:0 0 3vh;font-family:Saira,-apple-system,BlinkMacSystemFont,sans-serif}.mfp-finlit-resource-links{display:flex;justify-content:center;gap:6vw;flex-wrap:wrap}.mfp-finlit-resource-link{display:inline-block;padding:2vh 4vw;background:#324bc7;color:#fff;text-decoration:none;border-radius:1vh;font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-size:2.2vh;font-weight:600;transition:all .3s ease;min-width:20vw;text-align:center}.mfp-finlit-resource-link:hover{background:#435ed6;transform:translateY(-.3vh) scale(1.02);box-shadow:0 .5vh 1.5vh #0003}@media (max-width: 768px){.mfp-finlit-hero{padding:10vh 6vw 18vh 6vw}.mfp-finlit-partnership-grid,.mfp-finlit-benefits-grid{grid-template-columns:1fr;gap:4vh}.mfp-hero-title{font-size:6vh}.mfp-hero-subtitle{font-size:2.5vh}.mfp-finlit-partnership-header h3{font-size:4vh}}@media (max-width: 480px){.mfp-finlit-hero{padding:10vh 4vw 20vh 4vw}.mfp-hero,.mfp-finlit-partnership-section,.mfp-finlit-detailed-explanation{width:92vw}.mfp-finlit-partnership-grid{width:92vw;grid-template-columns:1fr;gap:3vh}.mfp-hero-title{font-size:5vh}.mfp-hero-subtitle{font-size:2.2vh}.mfp-finlit-partnership-header h3{font-size:3.5vh}.mfp-finlit-partnership-tagline{font-size:2.4vh}.mfp-finlit-career-tagline{font-size:2.8vh}}[data-theme=dark] .mfp-finlit-hero{background:linear-gradient(90deg,#0c0c0f,#1a1a1e);color:#e5e5e5}[data-theme=dark] .mfp-hero-title{color:#5a78ff;background:linear-gradient(90deg,#5a78ff,#3a5be0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=dark] .mfp-hero-subtitle{color:#e5e5e5}[data-theme=dark] .mfp-finlit-partnership-header h3{color:#5a78ff}[data-theme=dark] .mfp-finlit-partnership-header h3 a:hover{color:#738cff}[data-theme=dark] .mfp-finlit-partnership-tagline{color:#e5e5e5}[data-theme=dark] .mfp-finlit-career-tagline{color:#5a78ff}[data-theme=dark] .mfp-finlit-feature-card{background:#1a1a1e;border-color:#2c2c32}[data-theme=dark] .mfp-finlit-feature-card:hover{background:#1f1f23;border-color:#5a78ff}[data-theme=dark] .mfp-finlit-feature-card h4{color:#5a78ff}[data-theme=dark] .mfp-finlit-feature-card:hover h4{color:#738cff}[data-theme=dark] .mfp-finlit-feature-card span{color:#999da8}[data-theme=dark] .mfp-finlit-feature-card:hover span{color:#e5e5e5}[data-theme=dark] .mfp-finlit-detailed-explanation{background-color:#232327;border-color:#2c2c32;color:#e5e5e5}[data-theme=dark] .mfp-finlit-detailed-explanation h4,[data-theme=dark] .mfp-finlit-detailed-explanation h5{color:#5a78ff}[data-theme=dark] .mfp-finlit-benefit-card{background:linear-gradient(135deg,#1a1a1e,#232327);border-color:#3a3a42}[data-theme=dark] .mfp-finlit-benefit-card:hover{background:linear-gradient(135deg,#1f1f23,#232327)}[data-theme=dark] .mfp-finlit-benefit-card h6{color:#5a78ff}[data-theme=dark] .mfp-finlit-benefit-card p{color:#999da8}[data-theme=dark] .mfp-finlit-resources{background-color:#232327;border-color:#2c2c32}[data-theme=dark] .mfp-finlit-resources h5{color:#5a78ff}[data-theme=dark] .mfp-finlit-resource-link{background:#5a78ff}[data-theme=dark] .mfp-finlit-resource-link:hover{background:#738cff}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::-moz-selection{background:transparent}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.background-map-container{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-1;opacity:.4;filter:grayscale(80%)}.map-error-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#ff0000b3;color:#fff;padding:10px 20px;border-radius:5px;z-index:1}.welcome-content-wrapper{position:relative;z-index:1}.welcome-header{text-align:center;margin-bottom:0;width:100%}.welcome-title{color:var(--text-heading);font-size:3vh;margin-bottom:1vh;font-family:Saira,sans-serif;font-weight:600;line-height:1.3}.welcome-subtitle{color:var(--text-secondary);font-size:1.8vh;font-family:DM Sans,sans-serif;font-weight:400;line-height:1.45}.profile-row{width:100%;display:flex;justify-content:space-between;margin-top:-4vh;margin-bottom:4vh;padding:0 1vw}.profile-column{display:flex;flex-direction:column;align-items:center;width:42vw}.profile-circle{width:20vh;height:20vh;border-radius:50%;background-color:var(--blue-gamified);overflow:hidden;border:.3vh solid var(--text-heading);display:flex;align-items:center;justify-content:center}.profile-circle img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.practice-type-label{margin-bottom:1vh;color:var(--text-heading);font-size:2.5vh;text-align:center;font-family:DM Sans,sans-serif;font-weight:300;line-height:1.4}.cards-row{width:100%;display:flex;justify-content:space-between;align-items:flex-start;position:relative;margin-bottom:3vh;margin-top:14vh}.card-container{display:flex;flex-direction:column;align-items:center}.dashboard-button-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10}.dashboard-button{background-color:var(--green-gamified);color:var(--text-primary);padding:1.2vh 3vw;border-radius:.6vh;font-size:1.8vh;border:none;cursor:pointer;transition:all .3s ease;box-shadow:0 .2vh .5vh #0000004d;letter-spacing:.02em;font-family:Saira,sans-serif;font-weight:600}.dashboard-button:hover{background-color:var(--green-gamified);filter:brightness(1.1);transform:translateY(-.2vh);box-shadow:0 .3vh .7vh #0006}.enhanced-student-card{transform:scale(.9);transform-origin:center top;margin-top:2vh}.profile-circle .webcam-container{width:100%!important;height:100%!important;border-radius:50%!important;position:relative!important;overflow:hidden!important;border:none!important;margin:0!important;box-shadow:none!important}.profile-circle .webcam-video{width:100%!important;height:100%!important;-o-object-fit:cover!important;object-fit:cover!important;border-radius:50%!important;position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:0!important}.profile-circle .webcam-container *{border-radius:50%!important}.card-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;background-color:#ffffff1a;border-radius:12px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:20px;box-shadow:0 4px 6px #0000001a}.loading-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:var(--color-blue);animation:spin 1s linear infinite;margin-bottom:16px}.card-loading p{color:#fff;font-size:16px;text-align:center;margin:0}.card-error-message{background-color:#dc3545cc;color:#fff;padding:12px 20px;border-radius:8px;margin-top:16px;text-align:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);box-shadow:0 4px 6px #0000001a;max-width:80%;margin-left:auto;margin-right:auto}.student-card-page{min-height:100vh;padding:2vh 2vw;display:flex;flex-direction:column;align-items:center;overflow:visible}.page-title{margin:0;color:var(--text-heading)}.page-subtitle{margin:.5vh 0 1.5vh;color:var(--text-secondary)}.cards-container{display:flex;gap:2vw;justify-content:center;width:100%;max-width:80vw;flex-wrap:wrap;overflow:visible;padding-left:4vw}.student-card{width:30vw;height:auto;min-height:14vh;border-radius:.75vw;background-color:var(--bg-card);display:grid;grid-template-columns:5.5vw 1fr 8vw;grid-template-rows:auto 1fr auto;grid-template-areas:"mastery header image" "mastery stats image" "mastery footer image";position:relative;border:.2vh solid;box-shadow:0 0 1vh #00000026;overflow:visible!important}.card-primary{border-color:var(--blue-gamified);box-shadow:0 0 1.5vh #00b6d059}.card-success{border-color:var(--green-gamified);box-shadow:0 0 1.5vh #7ed95759}.card-danger{border-color:var(--red-gamified);box-shadow:0 0 1.5vh #ff525259}.card-primary:before,.card-success:before,.card-danger:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:.75vw;pointer-events:none;z-index:1;border:.1vh solid;opacity:.8}.card-primary:before{border-color:var(--blue-gamified-translucent);box-shadow:inset 0 0 1vh var(--blue-gamified-glow)}.card-success:before{border-color:var(--green-gamified-translucent);box-shadow:inset 0 0 1vh var(--green-gamified-glow)}.card-danger:before{border-color:var(--red-gamified-translucent);box-shadow:inset 0 0 1vh var(--red-gamified-glow)}.mastery-column{grid-area:mastery;display:flex;justify-content:center;align-items:flex-start;border-right:.1vh solid var(--border-default);padding:1.5vh .75vw;background-color:var(--bg-secondary);position:relative;overflow:visible}.card-content{grid-area:header / header / footer / footer;display:flex;flex-direction:column;padding:1vh 1.5vw;position:relative;z-index:2;min-width:0;overflow:visible}.card-header{grid-area:header;margin-bottom:1vh;width:100%;padding-bottom:.75vh;border-bottom:.1vh solid var(--border-default)}.module-title{margin:0;white-space:normal;overflow:visible;color:var(--text-heading)}.module-title-primary{color:var(--blue-gamified)}.module-title-success{color:var(--green-gamified)}.module-title-danger{color:var(--red-gamified)}.module-info{display:flex;justify-content:space-between;color:var(--text-secondary);margin-top:.25vh;width:100%;overflow:visible}.module-position{overflow:visible;white-space:normal;flex:1}.module-id{white-space:nowrap;margin-left:.5vw}.stats-container{grid-area:stats;width:100%;position:relative;padding-top:.25vh}.stat-row{display:flex;align-items:center;gap:1vw;min-width:0;overflow:visible;margin-bottom:.5vh;background-color:transparent;position:relative}.stat-icon{width:1.5vw;height:1.5vh;display:flex;align-items:center;justify-content:center;font-size:.875vh;flex-shrink:0}.stat-label{white-space:normal;overflow:visible;line-height:1.2;color:var(--text-secondary);flex-grow:1;flex-basis:0;min-width:0}.stat-value{white-space:normal;overflow:visible;text-align:right;color:var(--text-primary);flex-shrink:0;flex-grow:0;font-family:IBM Plex Mono,monospace;font-size:.875vh;font-weight:400;padding-left:.5vw}.content-image-divider{width:.1vw;height:100%;background-color:var(--border-default);position:absolute;right:8vw;z-index:2;grid-column:2 / 3;grid-row:1 / 4;justify-self:end}.image-column{grid-area:image;overflow:hidden;background-color:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.student-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.placeholder-img{width:100%;height:100%;background-color:var(--bg-secondary);display:flex;align-items:center;justify-content:center}.card-footer{grid-area:footer;position:relative;display:flex;justify-content:space-between;align-items:center;padding:.75vh 1.5vw;background-color:var(--bg-secondary)}.timestamp{white-space:normal;overflow:visible;max-width:none;position:absolute;left:1.5vw;bottom:.75vh}.action-button{border-radius:.375vw;cursor:pointer;border:none;padding:.25vh 1vw;position:relative;z-index:2;margin-left:auto;position:absolute;right:1.5vw;bottom:.75vh}.primary-btn{background-color:var(--blue-gamified);color:var(--text-inverse);box-shadow:0 0 1vh #00b6d04d}.success-btn{background-color:var(--green-gamified);color:var(--text-inverse);box-shadow:0 0 1vh #7ed9574d}.danger-btn{background-color:var(--red-gamified);color:var(--text-inverse);box-shadow:0 0 1vh #ff52524d}@media screen and (max-width: 768px){.student-card{width:100%;max-width:24vw}.image-column{width:6vw}.content-image-divider{right:6vw}}.page-content-layout{display:flex;flex-direction:row;gap:2vw;width:100%;max-width:100vw;margin:0 auto;justify-content:center}.regular-cards-section{flex:1;display:flex;flex-direction:column;max-width:50%}.enhanced-card-section{flex:0 0 auto;display:flex;flex-direction:column;max-width:none;width:auto}.section-title{margin-bottom:1.5vh;color:var(--text-heading)}@media screen and (max-width: 1200px){.page-content-layout{flex-direction:column;align-items:center}.regular-cards-section,.enhanced-card-section{max-width:100%}.enhanced-card-section{margin-bottom:2vh}}.stat-blocks-container{display:block;width:auto;max-width:40rem;margin:0 auto;padding:.5rem;position:relative}.stat-blocks-container>.stat-block{display:inline-block;vertical-align:top;width:calc(33.33% - 1rem);margin:.25rem;box-sizing:border-box;position:relative}.stat-blocks-container>.stat-block:nth-child(3n+1){width:calc(40% - 1rem)}.stat-blocks-container>.stat-block:nth-child(3n+2){width:calc(35% - 1rem)}.stat-blocks-container>.stat-block:nth-child(3n){width:calc(25% - 1rem)}.stat-block{font-family:IBM Plex Mono,monospace;font-size:.75rem;color:var(--text-primary);padding:.5rem;margin-bottom:0;min-height:2.5rem;background-color:var(--bg-secondary);border-radius:.4vh;position:relative}.stat-block:hover{background-color:#ffffff0d;transform:translateY(-.1vh);transition:all .2s ease}.stat-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0}.stat-table tr{position:relative;height:1.5rem}td.stat-label{text-align:right!important;opacity:.8;font-size:.7rem;color:var(--text-secondary);padding-right:1vw;white-space:normal;word-break:normal}td.stat-icon{width:2rem;text-align:center;font-size:.8rem;padding:0;vertical-align:middle;position:relative}td.stat-value{width:auto;min-width:0;text-align:left;font-weight:600;font-size:.75rem;padding-left:1vw;white-space:normal;word-break:normal}.stat-blocks-container{--icon-position: 50%}.stat-blocks-container .stat-table{position:relative}.stat-blocks-container>.stat-block:nth-child(3n+1) td.stat-icon{position:absolute;left:var(--icon-position);transform:translate(-50%)}.stat-blocks-container>.stat-block:nth-child(3n+2) td.stat-icon{position:absolute;left:var(--icon-position);transform:translate(-50%)}.stat-blocks-container>.stat-block:nth-child(3n) td.stat-icon{position:absolute;left:var(--icon-position);transform:translate(-50%)}.stat-block.time{color:var(--blue-gamified)}.stat-block.performance{color:var(--purple-gamified)}.stat-block.wpm{color:var(--orange-gamified)}.stat-block.accuracy{color:var(--green-gamified)}.stat-block.focus{color:var(--gold-gamified)}.stat-block.tokens{color:var(--accent-primary)}.stat-block.errors{color:var(--red-gamified)}.stat-blocks-test-area{position:absolute;top:20vh;left:50%;transform:translate(-50%);width:auto;padding:2vh 2vw;background-color:var(--bg-secondary);border-radius:.8vh;border:.1vh solid var(--border-default);z-index:100}.single-column-test{margin-top:2rem;width:100%;max-width:18rem;margin-left:0;margin-right:0;--icon-position: 50%}.single-column-test .stat-block{width:100%;margin:.5rem 0;text-align:left}.single-column-test .stat-block,.single-column-test .stat-table,.single-column-test tr,.single-column-test td{text-align:left}.single-column-test td.stat-label{text-align:right!important;width:40%!important;padding-right:.5vw}.single-column-test td.stat-icon{text-align:center!important;width:20%!important;position:relative}.single-column-test td.stat-value{text-align:left!important;width:40%!important;padding-left:.5vw}.single-column-test td.stat-icon{position:relative}.stat-blocks-test-area h3{margin-top:0;margin-bottom:1rem;font-family:Saira,sans-serif;font-size:1rem;color:var(--text-heading)}@media (max-width: 76.8vw){.stat-block{border-radius:.4dvh}.stat-block:hover{transform:translateY(-.1dvh)}td.stat-label{padding-right:1dvw}td.stat-value{padding-left:1dvw}.stat-blocks-test-area{top:20dvh;padding:2dvh 2dvw;border-radius:.8dvh;border:.1dvh solid var(--border-default)}.single-column-test td.stat-label{padding-right:.5dvw}.single-column-test td.stat-value{padding-left:.5dvw}}.review-container *,.review-container *:before,.review-container *:after{box-sizing:border-box}.review-container{display:flex;width:87vw;height:87vh;gap:0;box-sizing:border-box;position:relative}.review-sidebar-left{width:13vw;height:87vh;display:flex;flex-direction:column;background-color:transparent;overflow-y:auto;padding-top:12vh;box-sizing:border-box}.review-header-info{display:none}.review-main{width:51vw;height:87vh;display:flex;flex-direction:column;background-color:var(--bg-card);padding:0;overflow-y:auto;font-family:IBM Plex Mono,monospace;white-space:pre-wrap;word-wrap:break-word;word-break:break-word;margin:0;border-radius:1vh;color:var(--text-primary);font-size:1.8vh;line-height:1.45;box-sizing:border-box}.review-editor-content{flex:1;padding:2.08vh 2.08vw;overflow-y:auto;overflow-x:hidden}.review-editor-content pre{margin:0;font-family:inherit;color:inherit;white-space:pre-wrap;word-wrap:break-word;word-break:break-word;max-width:100%;overflow-x:hidden}.review-main>*:not(.review-editor-header):not(.review-editor-content){flex:1;padding:2.08vh 2.08vw;overflow-y:auto}.review-editor-stats-sidebar{width:23vw;height:87vh;background-color:transparent;padding:1.5vh 1.5vw;display:flex;flex-direction:column;align-items:center;gap:2.5vh;overflow-y:auto;box-sizing:border-box;position:relative;top:11vh}.stat-item{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%}.stat-item:hover{transform:scale(1.08);background-color:#ffffff1a;box-shadow:0 .5vh 2vh #0003}.stat-item:hover .stat-icon{color:#fff;filter:drop-shadow(0 0 .5vh rgba(255,255,255,.5))}.stat-item:hover .stat-value{color:#fff;font-weight:600}.stat-icon{font-size:3.6vh;color:var(--accent-primary);margin-bottom:1vh}.stat-value{font-family:IBM Plex Mono,monospace;font-size:2vh;font-weight:500;color:var(--text-heading)}.stat-label{font-family:DM Sans,sans-serif;font-size:1.4vh;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02vw}.sidebar-option{display:flex;align-items:center;justify-content:flex-end;padding:1.25vh 1.67vw;font-family:DM Sans,sans-serif;font-size:1.95vh;font-weight:300;line-height:1.4;letter-spacing:.02em;cursor:pointer;color:var(--text-heading);transition:all .3s ease;position:relative;width:100%}.sidebar-option:hover{background-color:transparent}.sidebar-option:hover .option-label{color:var(--mode-theme, #ffe6c8);text-shadow:0 0 .03vh #00ff41,0 0 .06vh #00ff41,0 0 .09vh #00ff41}.sidebar-option.active{background-color:transparent}.sidebar-option.active .option-label{color:var(--mode-theme, #ffe6c8);text-shadow:0 0 .03vh #00b3ff,0 0 .06vh #00b3ff,0 0 .09vh #00b3ff;font-weight:500}.option-status-icon{display:none}.option-label{text-align:right;width:100%}.review-editor-header{display:flex;justify-content:space-between;align-items:center;padding:1.5vh 2.5vw;position:sticky;top:0;z-index:100}.review-editor-actions{text-align:right;padding:.625vh 1.25vw}.loading,.error-banner{padding:3vh 3vw;text-align:center;font-family:DM Sans,sans-serif;font-size:1.8vh}.error-banner{color:var(--error-text);background-color:var(--error-bg);border:.01px solid var(--error-text);border-radius:1vh;margin:2.5vh 2.5vw}.reference-text{font-family:IBM Plex Mono,monospace;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;font-size:1.8vh}.mistake-char{color:var(--red-gamified);font-weight:700;text-decoration:underline;background-color:var(--red-gamified-light, rgba(216, 124, 128, .1));padding:0 .3vw;border-radius:.3vh}.practice-summary{display:flex;flex-direction:column;gap:3vh;padding:1.5vh 0}.practice-summary h2{margin:0 0 1.5vh;font-family:Saira,sans-serif;font-size:3vh;font-weight:500;line-height:1.3;color:var(--text-heading)}.practice-summary h3{margin:0 0 1.5vh;font-family:Saira,sans-serif;font-size:2.4vh;font-weight:500;line-height:1.3;color:var(--text-heading);border-bottom:.01px solid var(--border-default);padding-bottom:1vh}.summary-stats{display:flex;flex-wrap:wrap;gap:3vh 3vw;margin-bottom:1.5vh}.summary-stat-group{flex:1;min-width:20vw;background-color:var(--bg-card);border-radius:1.5vh;padding:2.5vh 2.5vw;border:.01px solid var(--border-default)}.summary-stat{display:flex;justify-content:space-between;margin-bottom:1.5vh;padding-bottom:1.5vh;border-bottom:.01px solid var(--border-default)}.summary-stat:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.stat-label{font-family:DM Sans,sans-serif;font-weight:600;color:var(--text-primary)}.stat-value{font-family:IBM Plex Mono,monospace;color:var(--text-primary)}.summary-content{margin-top:1.5vh}.practice-summary-section{display:flex;flex-direction:column;gap:3vh}.practice-summary-container{background-color:var(--bg-card);border-radius:1.5vh;padding:3vh 3vw;border:.01px solid var(--border-default);margin-bottom:2vh}.practice-summary-container h3{margin-top:0;margin-bottom:2vh;font-family:Saira,sans-serif;font-size:2.4vh;font-weight:500;color:var(--text-heading);border-bottom:.01px solid var(--border-default);padding-bottom:1vh}.summary-metadata{display:flex;flex-wrap:wrap;gap:1.5vh 3vw;margin-bottom:2.5vh;padding:1.5vh 2vw;background-color:var(--bg-main);border-radius:1vh;border:.01px solid var(--border-default)}.summary-metadata span{font-family:DM Sans,sans-serif;font-size:1.6vh;color:var(--text-secondary);font-weight:500}.summary-mode{color:var(--accent-primary)!important;font-weight:600!important}.practice-summary-text{font-family:DM Sans,sans-serif;font-size:1.8vh;line-height:1.6;color:var(--text-primary);background-color:var(--bg-main);padding:2.5vh 2.5vw;border-radius:1vh;border:.01px solid var(--border-default);white-space:pre-wrap;word-wrap:break-word}.practice-media-player{margin-top:1.5vh}.practice-audio-player{width:100%;height:5vh;border-radius:1vh;background-color:var(--bg-main);border:.01px solid var(--border-default)}.practice-audio-player::-webkit-media-controls-panel{background-color:var(--bg-card)}.no-summary-message{background-color:var(--bg-card);border-radius:1.5vh;padding:3vh 3vw;border:.01px solid var(--border-default);text-align:center;margin-bottom:2vh}.no-summary-message h3{margin-top:0;margin-bottom:1.5vh;color:var(--text-heading);font-family:Saira,sans-serif;font-size:2.4vh;font-weight:500}.no-summary-message p{margin:0;color:var(--text-secondary);font-family:DM Sans,sans-serif;font-size:1.8vh;line-height:1.5}.practice-summary-stats{background-color:var(--bg-card);border-radius:1.5vh;padding:3vh 3vw;border:.01px solid var(--border-default)}.practice-summary-stats h3{margin-top:0;margin-bottom:2.5vh;font-family:Saira,sans-serif;font-size:2.4vh;font-weight:500;color:var(--text-heading);border-bottom:.01px solid var(--border-default);padding-bottom:1vh}.summary-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(25vw,1fr));gap:2vh 3vw}.summary-stat-item{display:flex;flex-direction:column;gap:.8vh}.summary-stat-item.full-width{grid-column:1 / -1}.summary-stat-item .stat-label{font-family:DM Sans,sans-serif;font-size:1.6vh;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em}.summary-stat-item .stat-value{font-family:DM Sans,sans-serif;font-size:1.8vh;font-weight:500;color:var(--text-primary);line-height:1.4}.practice-video-container{margin:3vh auto;background-color:var(--bg-card);border-radius:1.5vh;padding:3vh 3vw;border:.01px solid var(--border-default);max-width:100%;text-align:center}.practice-video-container h3{margin-top:0;margin-bottom:2.5vh;font-family:Saira,sans-serif;font-size:2.8vh;font-weight:500;color:var(--text-heading)}.practice-video-player{width:100%;border-radius:1.5vh;background-color:var(--bg-main);box-shadow:0 .5vh 1.5vh var(--shadow-color, rgba(0, 0, 0, .3));max-height:75vh}.no-video-message{display:flex;justify-content:center;align-items:center;height:30vh;background-color:var(--bg-card);color:var(--text-secondary);font-family:DM Sans,sans-serif;font-size:2.4vh;border-radius:1.5vh;margin:5vh auto;padding:5vh 5vw;max-width:100%;text-align:center;border:.01px dashed var(--border-default)}.review-main .heatmap-container{background-color:var(--bg-card);border-radius:1.5vh;padding:2.5vh 2.5vw;margin-bottom:2.5vh;width:100%}.review-main .heatmap-title{font-family:Saira,sans-serif;font-size:2.4vh;font-weight:500;margin-bottom:2vh;color:var(--text-heading)}.review-main .heatmap-description{margin-bottom:2.5vh;font-family:DM Sans,sans-serif;font-size:1.8vh;color:var(--text-secondary)}.concept-with-heatmap{position:relative;width:100%}.review-editor-content{position:relative}.heatmap-overlay{position:absolute;top:0;left:0;right:0;z-index:10;background-color:#000000d9;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:1vh;padding:1vh 1.5vw;transition:all .5s ease-in-out;transform-origin:top}.heatmap-overlay.visible{opacity:1;transform:translateY(0) scaleY(1);visibility:visible}.heatmap-overlay.hidden{opacity:0;transform:translateY(-2vh) scaleY(.8);visibility:hidden}.heatmap-overlay .heatmap-container{background-color:transparent;border-radius:0;padding:1vh 0;margin:0;box-shadow:none}.heatmap-overlay .heatmap-title{color:var(--text-heading);font-size:2vh;margin-bottom:1vh}.heatmap-overlay .heatmap-description{color:var(--text-secondary);font-size:1.5vh;margin-bottom:1.5vh}.heatmap-overlay .heatmap-single-bar{border:.1vh solid rgba(255,255,255,.3);box-shadow:inset 0 .1vh .3vh #0006,0 .2vh .8vh #0000004d}.reference-text{line-height:1.6;white-space:pre-wrap;color:var(--text-primary)}.concept-heatmap-divider{margin:2.5vh 0;border-top:.01px solid var(--border-default)}.mistake-char{color:var(--error-text);font-weight:700;text-decoration:underline;text-decoration-color:var(--error-text);text-decoration-thickness:.3vh;padding:0 .2vw;position:relative}.mistake-char:after{content:"";position:absolute;left:0;bottom:-.3vh;width:100%;height:.3vh;background-color:var(--error-text);opacity:.6}.mcq-answers-section{font-family:DM Sans,sans-serif;color:var(--text-primary);line-height:1.5}.mcq-question-display{margin-bottom:2.5vh;padding:1.5vh 2vw;background-color:var(--bg-secondary);border-radius:1vh;border:.01vh solid var(--border-default)}.mcq-question-display h4{margin:0 0 1vh;font-size:2vh;color:var(--text-heading);font-weight:600}.mcq-question-display p{margin:0;font-size:1.8vh;color:var(--text-primary)}.mcq-options-display{margin-bottom:2.5vh}.mcq-options-display h4{margin:0 0 1.5vh;font-size:2vh;color:var(--text-heading);font-weight:600}.options-list{display:flex;flex-direction:column;gap:1vh}.mcq-option{display:flex;padding:1.5vh 2vw;border-radius:1vh;border:.01vh solid var(--border-default);background-color:var(--bg-card);transition:all .3s ease}.mcq-option.correct-answer{background-color:#4caf501a;border-color:#4caf50}.mcq-option.user-wrong-answer{background-color:#f443361a;border-color:#f44336}.mcq-option.user-correct-answer{background-color:#4caf5026;border-color:#4caf50;box-shadow:0 .25vh .5vh #4caf5033}.option-marker{min-width:3.5vw;height:3.5vh;display:flex;align-items:center;justify-content:center;background-color:var(--bg-secondary);border-radius:.5vh;margin-right:1.5vw;font-weight:600;color:var(--text-heading);font-size:1.6vh}.mcq-option.correct-answer .option-marker{background-color:#4caf50;color:#fff}.mcq-option.user-wrong-answer .option-marker{background-color:#f44336;color:#fff}.option-content{flex:1}.option-text{font-size:1.8vh;color:var(--text-primary);margin-bottom:.5vh;font-weight:500}.option-explanation{font-size:1.6vh;color:var(--text-secondary);margin:1vh 0 .5vh;font-style:italic;padding:.8vh 1.2vw;background-color:#007bff0d;border-left:.3vw solid var(--accent-primary, #007bff);border-radius:0 .5vh .5vh 0;line-height:1.4}.option-explanation strong{color:var(--text-heading);font-weight:600;margin-right:.5vw}.option-explanation:before{content:"💡 ";margin-right:.3vw;font-size:1.4vh}.option-status{display:flex;gap:1vw;align-items:center}.correct-label{font-size:1.4vh;color:#4caf50;font-weight:600;background-color:#4caf501a;padding:.3vh .8vw;border-radius:.3vh}.user-selection-label{font-size:1.4vh;color:var(--accent-primary);font-weight:600;background-color:#007bff1a;padding:.3vh .8vw;border-radius:.3vh}.mcq-summary{padding:1.5vh 2vw;background-color:var(--bg-secondary);border-radius:1vh;border:.01vh solid var(--border-default)}.answer-summary{font-size:1.7vh}.answer-summary strong{color:var(--text-heading);font-weight:600}.answer-summary p{margin:.5vh 0;color:var(--text-primary)}.result-correct{color:#4caf50;font-weight:600}.result-incorrect{color:#f44336;font-weight:600}.heatmap-container{background-color:var(--bg-card);border-radius:1vh;padding:2vh 2vw;margin:2vh 0;box-shadow:0 .25vh 1.25vh var(--shadow-color, rgba(0, 0, 0, .15));width:100%}.heatmap-title{font-family:Saira,sans-serif;font-size:2.4vh;font-weight:500;line-height:1.3;color:var(--text-heading);margin:0 0 1vh}.heatmap-description{font-family:DM Sans,sans-serif;font-size:1.7vh;font-weight:300;line-height:1.4;color:var(--text-secondary);margin-bottom:2vh}.heatmap-placeholder{color:var(--text-secondary);text-align:center;padding:3vh 0;font-style:italic;font-family:DM Sans,sans-serif;font-size:1.7vh}.heatmap-single-bar{display:flex;width:100%;height:4vh;border-radius:2vh;overflow:hidden;border:.1vh solid var(--border-default, rgba(255, 255, 255, .2));box-shadow:inset 0 .1vh .3vh #0003,0 .1vh .5vh #0000001a;margin-bottom:2vh}.heatmap-segment-block{height:100%;transition:all .2s ease;cursor:help;border-right:.05vh solid rgba(255,255,255,.1)}.heatmap-segment-block:last-child{border-right:none}.heatmap-segment-block:hover{filter:brightness(1.1);transform:scaleY(1.05);z-index:1;position:relative}.heatmap-simple-legend{margin-top:1.5vh}.legend-scale{display:flex;align-items:center;gap:1vw;justify-content:center}.legend-label{font-family:DM Sans,sans-serif;font-size:1.4vh;font-weight:300;color:var(--text-secondary);white-space:nowrap}.legend-bar{display:flex;height:1.5vh;border-radius:.75vh;overflow:hidden;border:.05vh solid var(--border-default, rgba(255, 255, 255, .2));flex:1;max-width:20vw}.legend-color{flex:1;height:100%}.heatmap-visualization{display:flex;flex-wrap:wrap;gap:.5vh;margin-bottom:2vh}.heatmap-segment{padding:1vh;width:5vw;height:5vh;display:flex;align-items:center;justify-content:center;text-align:center;border-radius:.5vh;color:var(--text-heading);font-family:IBM Plex Mono,monospace;font-size:1.6vh;font-weight:300;position:relative;cursor:help;transition:transform .2s ease;overflow:hidden}.heatmap-segment:hover{transform:scale(1.05);z-index:2}.segment-text{opacity:.8;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:100%}.heatmap-legend{display:flex;gap:2vw;margin-top:1vh;justify-content:center}.legend-item{display:flex;align-items:center;gap:1vw;font-family:DM Sans,sans-serif;font-size:1.6vh;font-weight:300;color:var(--text-secondary)}.legend-color{width:2vw;height:2vh;border-radius:.5vh}.heatmap-timeline-bars{display:flex;flex-direction:column;gap:1.5vh;margin-bottom:2vh}.timeline-bar-container{display:flex;flex-direction:column;gap:.5vh}.timeline-bar-label{display:flex;flex-direction:column;gap:.25vh}.bar-title{font-family:DM Sans,sans-serif;font-size:1.6vh;font-weight:500;color:var(--text-primary);line-height:1.2}.bar-description{font-family:DM Sans,sans-serif;font-size:1.4vh;font-weight:300;color:var(--text-secondary);line-height:1.3}.timeline-bar{width:100%;height:3vh;border-radius:1.5vh;border:.1vh solid var(--border-default, rgba(255, 255, 255, .1));box-shadow:inset 0 .1vh .3vh #0003,0 .1vh .5vh #0000001a;transition:transform .2s ease,box-shadow .2s ease;cursor:help}.timeline-bar:hover{transform:scaleY(1.1);box-shadow:inset 0 .1vh .3vh #0000004d,0 .2vh .8vh #00000026}.heatmap-timeline-legend{margin-top:2vh;padding-top:1.5vh;border-top:.05vh solid var(--border-default, rgba(255, 255, 255, .1))}.legend-gradient{display:flex;flex-direction:column;gap:1vh;align-items:center}.gradient-bar{width:100%;height:2vh;border-radius:1vh;border:.05vh solid var(--border-default, rgba(255, 255, 255, .2));box-shadow:inset 0 .1vh .2vh #0003}.gradient-labels{display:flex;justify-content:space-between;width:100%;font-family:DM Sans,sans-serif;font-size:1.3vh;font-weight:300;color:var(--text-secondary)}.gradient-labels span{text-align:center;flex:1}@media (max-width: 768px){.heatmap-container{padding:1.5vh 3vw}.heatmap-single-bar{height:5vh}.legend-bar{max-width:30vw}.legend-label{font-size:1.3vh}}@media (max-width: 480px){.heatmap-single-bar{height:6vh}.heatmap-title{font-size:2.2vh}.heatmap-description{font-size:1.6vh}.legend-scale{flex-direction:column;gap:1vh}.legend-bar{max-width:50vw}}.control-panel{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto auto;gap:1.5rem;padding:1.5rem;max-width:100%;height:calc(100vh - 4rem)}.account-overview{grid-column:1;grid-row:1;background-color:var(--surface-secondary);border-radius:.5rem;padding:1.25rem;box-shadow:0 4px 6px #0000001a}.account-overview-header{font-size:1.25rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary)}.account-stats{display:flex;flex-direction:column;gap:.75rem}.stat-item{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.stat-label{color:var(--text-secondary)}.stat-value{font-weight:500;color:var(--text-primary)}.online-indicator{width:.5rem;height:.5rem;border-radius:50%;margin-right:.5rem;display:inline-block}.online-indicator.online{background-color:#4caf50}.online-indicator.offline{background-color:#757575}.pricing-manager{grid-column:2;grid-row:1;background-color:var(--surface-secondary);border-radius:.5rem;padding:1.25rem;box-shadow:0 4px 6px #0000001a}.pricing-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.pricing-manager-title{margin:0}.add-plan-button{background-color:#4a6cf7;color:#fff;border:none;border-radius:4px;padding:.5rem 1rem;cursor:pointer;font-weight:500;transition:background-color .2s}.add-plan-button:hover{background-color:#3a5ce5}.pricing-table{width:100%;border-collapse:collapse}.pricing-table th{text-align:left;padding:.75rem .5rem;color:var(--text-secondary);font-weight:500;border-bottom:1px solid rgba(255,255,255,.1)}.pricing-table td{padding:.75rem .5rem;border-bottom:1px solid rgba(255,255,255,.1)}.pricing-table td.editable{cursor:pointer;position:relative}.pricing-table td.editable:hover{background-color:#ffffff0d}.pricing-table td.editable:after{content:"✏️";position:absolute;right:.5rem;opacity:0;transition:opacity .2s}.pricing-table td.editable:hover:after{opacity:.7}.inline-edit-input{background-color:var(--surface-primary);border:1px solid var(--accent-primary);border-radius:.25rem;padding:.25rem .5rem;width:100%;color:var(--text-primary)}.user-search{grid-column:3;grid-row:1;background-color:var(--surface-secondary);border-radius:.5rem;padding:1.25rem;box-shadow:0 4px 6px #0000001a}.user-search-header{font-size:1.25rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary)}.search-input-container{position:relative;margin-bottom:1rem}.search-input{width:100%;padding:.75rem 2.5rem .75rem 1rem;background-color:var(--surface-primary);border:1px solid rgba(255,255,255,.1);border-radius:1.5rem;color:var(--text-primary)}.search-icon{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:var(--text-secondary)}.user-results{display:flex;flex-direction:column;gap:.75rem;max-height:calc(100% - 6rem);overflow-y:auto}.user-card{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background-color:var(--surface-primary);border-radius:.25rem;gap:.5rem}.user-info{display:flex;flex-direction:column;gap:.25rem}.user-name{font-weight:500;color:var(--text-primary)}.user-email{font-size:.85rem;color:var(--text-secondary)}.user-actions{display:flex;gap:.5rem}.action-button{background-color:transparent;border:1px solid rgba(255,255,255,.1);border-radius:.25rem;padding:.25rem .5rem;font-size:.85rem;cursor:pointer;transition:background-color .2s;color:var(--text-primary)}.action-button:hover{background-color:#ffffff0d}.action-button.ban{color:#f44336}.action-button.edit{color:#2196f3}.applications-button{width:100%;padding:.75rem;margin-top:1rem;background-color:#4a6cf7;color:#fff;border:none;border-radius:.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.applications-button:hover{background-color:#3a5ce5;transform:translateY(-1px);box-shadow:0 4px 8px #4a6cf74d}.vbux-manager{grid-column:1;grid-row:2;background-color:var(--surface-secondary);border-radius:.5rem;padding:1.25rem;box-shadow:0 4px 6px #0000001a}.vbux-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.vbux-manager-title{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.add-vbux-button{background-color:var(--accent-primary);border:none;border-radius:.25rem;padding:.5rem .75rem;font-size:.9rem;cursor:pointer;color:#fff;display:flex;align-items:center;gap:.5rem}.vbux-table{width:100%;border-collapse:collapse}.vbux-table th{text-align:left;padding:.75rem .5rem;color:var(--text-secondary);font-weight:500;border-bottom:1px solid rgba(255,255,255,.1)}.vbux-table td{padding:.75rem .5rem;border-bottom:1px solid rgba(255,255,255,.1)}.vbux-actions{display:flex;gap:.5rem}.scholarship-manager{grid-column:2 / span 2;grid-row:2;background-color:var(--surface-secondary);border-radius:.5rem;padding:1.25rem;box-shadow:0 4px 6px #0000001a;display:flex;flex-direction:column}.scholarship-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.scholarship-manager-title{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.add-scholarship-button{background-color:var(--accent-primary);border:none;border-radius:.25rem;padding:.5rem .75rem;font-size:.9rem;cursor:pointer;color:#fff;display:flex;align-items:center;gap:.5rem}.scholarship-list{display:flex;flex-direction:column;gap:12px;margin-top:16px}.scholarship-item{display:flex;align-items:center;justify-content:space-between;padding:16px;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;transition:transform .2s,box-shadow .2s}.scholarship-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.scholarship-details{display:flex;align-items:center;gap:20px;flex:1}.scholarship-code{font-family:monospace;font-weight:700;font-size:1rem;padding:4px 8px;border-radius:4px;background-color:#f0f0f0}.scholarship-discount{display:flex;align-items:center;font-weight:700;color:#4a6cf7}.stripe-badge{display:inline-flex;align-items:center;justify-content:center;margin-right:4px;background-color:#6772e5;color:#fff;border-radius:50%;width:18px;height:18px;font-size:12px}.scholarship-duration{color:#666;font-size:.9rem}.scholarship-status{display:flex;align-items:center}.status-badge{padding:4px 8px;border-radius:20px;font-size:.8rem;font-weight:500}.status-badge.active{background-color:#e6f7e6;color:#28a745}.status-badge.inactive{background-color:#f7e6e6;color:#dc3545}.scholarship-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:.85rem;color:#666}.usage-info{display:flex;align-items:center;gap:2px}.usage-count{font-weight:700}.expiry-info{font-style:italic}.scholarship-actions{display:flex;gap:8px;margin-left:16px}.action-button{background:none;border:none;cursor:pointer;font-size:1.1rem;padding:4px;border-radius:4px;transition:background-color .2s}.action-button:hover{background-color:#f0f0f0}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;padding:1.5rem}.modal-content h3{margin-top:0;color:#333;border-bottom:1px solid #eee;padding-bottom:.75rem}.modal-form{display:flex;flex-direction:column;gap:16px;margin-top:20px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#555}.form-row{display:flex;gap:16px}.radio-group{display:flex;gap:16px}.radio-group label{display:flex;align-items:center;gap:6px;cursor:pointer}.checkbox-group{flex-direction:row;align-items:center}.checkbox-group label{margin-right:8px}.modal-form small{color:#666;font-size:.85rem}.modal-form input[type=text],.modal-form input[type=number],.modal-form input[type=datetime-local],.modal-form select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:.95rem}.modal-form input:focus,.modal-form select:focus{border-color:#4a6cf7;outline:none}.empty-state{padding:24px;text-align:center;background-color:#f9f9f9;border-radius:8px;color:#666}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.cancel-button,.add-button{padding:8px 16px;border-radius:4px;font-weight:500;cursor:pointer;transition:background-color .2s}.cancel-button{background-color:#f0f0f0;border:1px solid #ddd;color:#333}.cancel-button:hover{background-color:#e0e0e0}.add-button{background-color:#4a6cf7;border:none;color:#fff}.add-button:hover{background-color:#3a5ce5}.add-button:disabled{background-color:#a3b4f8;cursor:not-allowed}.delete-button{background-color:#dc3545;color:#fff;border:none;border-radius:4px;padding:.25rem .75rem;cursor:pointer;font-size:.8rem;transition:background-color .2s}.delete-button:hover{background-color:#c82333}.delete-button:disabled{background-color:#e6838c;cursor:not-allowed}@media (max-width: 1200px){.control-panel{grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto}.user-search{grid-column:1 / span 2;grid-row:3}.scholarship-manager{grid-column:2;grid-row:2}}@media (max-width: 768px){.control-panel{grid-template-columns:1fr;grid-template-rows:auto auto auto auto auto;height:auto}.account-overview,.pricing-manager,.user-search,.vbux-manager,.scholarship-manager{grid-column:1}.account-overview{grid-row:1}.pricing-manager{grid-row:2}.vbux-manager{grid-row:3}.scholarship-manager{grid-row:4}.user-search{grid-row:5}}.analytics-button-container{position:fixed;bottom:2rem;right:2rem;z-index:100}.analytics-button{display:flex;align-items:center;gap:.5rem;background-color:#4a6cf7;color:#fff;padding:.75rem 1.25rem;border-radius:50px;text-decoration:none;font-weight:600;box-shadow:0 4px 12px #4a6cf74d;transition:transform .2s,box-shadow .2s}.analytics-button:hover{transform:translateY(-3px);box-shadow:0 6px 16px #4a6cf766}.analytics-icon{font-size:1.25rem}.admin-actions{display:flex;justify-content:flex-end;gap:1rem;margin-bottom:1.5rem}.create-school-button,.analytics-button,.dns-button{display:flex;align-items:center;padding:.75rem 1rem;background-color:var(--surface-secondary);color:var(--text-primary);border-radius:.5rem;text-decoration:none;font-weight:500;transition:all .2s;margin-bottom:1rem;box-shadow:0 2px 4px #0000001a}.create-school-button{background-color:#4caf50;color:#fff}.dns-button{background-color:#2196f3;color:#fff}.create-school-button:hover,.analytics-button:hover,.dns-button:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.button-icon,.analytics-icon,.dns-icon{margin-right:.75rem;font-size:1.25rem}.applications-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:9999}.applications-modal{background-color:#1a1a1a;border-radius:.5vw;width:90vw;height:80vh;display:flex;flex-direction:column;box-shadow:0 .3vw 1.5vw #00000080}.applications-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.2vw;border-bottom:1px solid #333}.applications-modal-header h2{margin:0;color:#fff;font-family:Saira,sans-serif;font-size:1.4vw;font-weight:600}.close-button{background:none;border:none;color:#999;font-size:1.6vw;cursor:pointer;padding:0;width:1.8vw;height:1.8vw;display:flex;align-items:center;justify-content:center;border-radius:.3vw;transition:all .2s}.close-button:hover{color:#fff;background-color:#ffffff1a}.applications-tabs{display:flex;background-color:#2a2a2a;padding:0;border-bottom:1px solid #333}.tab{background:none;border:none;color:#999;padding:.8vw 1.6vw;cursor:pointer;font-family:DM Sans,sans-serif;font-size:.85vw;transition:all .2s;position:relative}.tab:hover{color:#fff;background-color:#ffffff0d}.tab.active{color:#fff;background-color:#1a1a1a}.tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:.15vw;background-color:#4a6cf7}.applications-content{display:flex;flex:1;overflow:hidden}.applications-list{flex:1.5;border-right:1px solid #333;overflow-y:auto;background-color:#1a1a1a}.applications-table{width:100%;border-collapse:collapse}.applications-table thead{position:sticky;top:0;background-color:#2a2a2a;z-index:10}.applications-table th{text-align:left;padding:.8vw;color:#999;font-family:DM Sans,sans-serif;font-weight:500;font-size:.75vw;text-transform:uppercase;letter-spacing:.05vw}.applications-table tbody tr{border-bottom:1px solid #333;cursor:pointer;transition:background-color .2s}.applications-table tbody tr:hover{background-color:#ffffff0d}.applications-table tbody tr.selected{background-color:#4a6cf71a}.applications-table td{padding:.8vw;color:#fff;font-family:DM Sans,sans-serif;font-size:.8vw}.empty-state{text-align:center;color:#666;padding:2.5vw!important;font-family:DM Sans,sans-serif;font-size:.9vw}.application-details{flex:1;padding:1.5vw;background-color:#242424;display:flex;flex-direction:column;overflow-y:auto}.no-selection{display:flex;align-items:center;justify-content:center;height:100%;color:#666;font-size:1.1rem}.profile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5vw}.profile-header h2{font-family:Saira,sans-serif;font-size:1.4vw;font-weight:600;color:#fff;margin:0}.profile-avatar{display:flex;justify-content:center;margin-bottom:1.5vw}.avatar-icon{width:6vw;height:6vw;border-radius:50%;background-color:#333;border:.2vw solid #4a6cf7;display:flex;align-items:center;justify-content:center;font-size:2.5vw;font-weight:700;color:#4a6cf7}.profile-details{display:flex;flex-direction:column;gap:2vw;flex:1;overflow-y:auto}.details-section{display:flex;flex-direction:column;gap:.8vw}.section-title{font-family:Saira,sans-serif;font-size:1.1vw;font-weight:600;color:#4a6cf7;margin:0 0 .8vw;padding-bottom:.5vw;border-bottom:1px solid #333}.profile-field{display:flex;gap:1vw;align-items:flex-start;font-family:DM Sans,sans-serif}.field-label{width:8vw;min-width:8vw;font-size:.85vw;color:#999;font-weight:500}.field-value{flex:1;font-size:.85vw;color:#fff;font-weight:400}.reason-field{align-items:flex-start}.reason-text{line-height:1.4;color:#ddd}.status-badge{display:inline-block;padding:.2vw .8vw;border-radius:1vw;font-size:.75vw;font-weight:500}.status-badge.pending{background-color:#ffc10733;color:#ffc107}.need-level{display:inline-block;padding:.2vw .8vw;border-radius:.3vw;font-size:.8vw;font-weight:500}.need-level.high{background-color:#f4433633;color:#f44336}.need-level.medium{background-color:#ff980033;color:#ff9800}.need-level.low{background-color:#4caf5033;color:#4caf50}.application-actions{display:flex;gap:1vw;justify-content:center;padding-top:1.5vw;margin-top:auto;border-top:1px solid #333}.approve-button,.reject-button{padding:.6vw 2.5vw;border:none;border-radius:.3vw;font-family:DM Sans,sans-serif;font-size:.9vw;font-weight:500;cursor:pointer;transition:all .2s;color:#fff}.approve-button{background-color:#4caf50}.approve-button:hover{background-color:#45a049;transform:translateY(-.1vw);box-shadow:0 .3vw .6vw #4caf504d}.reject-button{background-color:#f44336}.reject-button:hover{background-color:#da190b;transform:translateY(-.1vw);box-shadow:0 .3vw .6vw #f443364d}@media (max-width: 768px){.applications-modal{width:95vw;height:95vh}.applications-content{flex-direction:column}.applications-list{flex:1;border-right:none;border-bottom:1px solid #333}.application-details{flex:1}.tab{padding:.75rem 1rem;font-size:.8rem}}.applications-list::-webkit-scrollbar{width:8px}.applications-list::-webkit-scrollbar-track{background:#1a1a1a}.applications-list::-webkit-scrollbar-thumb{background:#444;border-radius:4px}.applications-list::-webkit-scrollbar-thumb:hover{background:#555}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background-color:var(--bg-card, #ffffff);border-radius:1rem;margin:2rem;box-shadow:0 2px 8px #0000001a}.loading-spinner{width:3rem;height:3rem;border:3px solid #f3f3f3;border-top:3px solid var(--primary-color, #007bff);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1.5rem}.loading-state h3{color:var(--text-primary, #333);margin:0 0 .5rem;font-size:1.4rem;font-weight:600}.loading-state p{color:var(--text-secondary, #666);margin:0;font-size:1rem}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background-color:#fef2f2;border:1px solid #fecaca;border-radius:1rem;margin:2rem}.error-icon{font-size:3rem;margin-bottom:1rem}.error-state h3{color:#dc2626;margin:0 0 1rem;font-size:1.4rem;font-weight:600}.error-state p{color:#991b1b;margin:0 0 2rem;font-size:1rem;max-width:400px}.retry-button{background-color:#dc2626;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.retry-button:hover{background-color:#b91c1c}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background-color:var(--bg-card, #ffffff);border:2px dashed #e5e7eb;border-radius:1rem;margin:2rem;min-height:300px}.empty-state-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.8}.empty-state-title{color:var(--text-primary, #333);margin:0 0 1rem;font-size:1.5rem;font-weight:600}.empty-state-message{color:var(--text-secondary, #666);margin:0 0 .5rem;font-size:1.1rem;max-width:450px;line-height:1.5}.empty-state-suggestion{color:var(--text-tertiary, #888);margin:0 0 2rem;font-size:.95rem;font-style:italic}.refresh-button{background-color:var(--primary-color, #007bff);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #007bff33}.refresh-button:hover:not(:disabled){background-color:var(--primary-hover, #0056b3);transform:translateY(-1px);box-shadow:0 4px 8px #007bff4d}.refresh-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.tab.disabled{opacity:.5;cursor:not-allowed;background-color:#f8f9fa;color:#6c757d;border-color:#dee2e6}.tab.disabled:hover{background-color:#f8f9fa;color:#6c757d;transform:none}@media (max-width: 768px){.loading-state,.error-state,.empty-state{padding:2rem 1rem;margin:1rem}.empty-state-icon{font-size:3rem}.empty-state-title{font-size:1.3rem}.empty-state-message{font-size:1rem}}.subscription-analytics{padding:1.5rem;max-width:100%;height:calc(100vh - 4rem);overflow-y:auto;background-color:#f9fafb}.analytics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.analytics-title{font-size:1.75rem;font-weight:700;color:#333;margin:0}.date-filters{display:flex;gap:1rem}.date-filter{display:flex;align-items:center;gap:.5rem}.date-filter label{font-size:.9rem;font-weight:500;color:#555}.date-filter input{padding:.5rem;border:1px solid #ddd;border-radius:4px;background-color:#fff}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px}.loading-spinner{width:40px;height:40px;border:4px solid rgba(74,108,247,.2);border-top:4px solid #4a6cf7;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.kpi-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem}.kpi-card{background-color:#fff;border-radius:8px;padding:1.25rem;box-shadow:0 1px 3px #0000001a;transition:transform .3s,box-shadow .3s}.kpi-card:hover{transform:translateY(-5px);box-shadow:0 4px 8px #0000001a}.kpi-title{font-size:.9rem;font-weight:500;color:#555;margin:0 0 .5rem}.kpi-value{font-size:1.75rem;font-weight:700;color:#333;margin-bottom:.5rem}.kpi-change{font-size:.85rem;font-weight:500}.kpi-change.positive{color:#10b981}.kpi-change.negative{color:#ef4444}.analytics-charts{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:auto auto;gap:1.5rem}.chart-container{background-color:#fff;border-radius:8px;padding:1.25rem;box-shadow:0 1px 3px #0000001a}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.chart-title{font-size:1.1rem;font-weight:600;color:#333;margin:0}.chart-controls{display:flex;gap:.5rem}.period-button{background-color:#f3f4f6;border:none;border-radius:4px;padding:.5rem .75rem;font-size:.85rem;font-weight:500;color:#555;cursor:pointer;transition:background-color .2s,color .2s}.period-button:hover{background-color:#e5e7eb}.period-button.active{background-color:#4a6cf7;color:#fff}.chart-wrapper{height:300px;position:relative}.revenue-chart{grid-column:1 / span 2}.plan-metrics{display:flex;justify-content:space-around;margin-top:1rem;flex-wrap:wrap}.plan-metric{display:flex;flex-direction:column;align-items:center;padding:.75rem;min-width:100px}.plan-name{font-weight:600;font-size:.9rem;color:#333;margin-bottom:.25rem}.plan-count{font-size:.8rem;color:#555}.plan-percentage{font-size:.8rem;font-weight:600;color:#4a6cf7}.metrics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1rem}.metric-item{padding:1rem;background-color:#f9fafb;border-radius:6px;text-align:center}.metric-label{font-size:.85rem;color:#555;margin-bottom:.5rem}.metric-value{font-size:1.25rem;font-weight:600;color:#4a6cf7}@media (max-width: 1200px){.kpi-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.analytics-header{flex-direction:column;align-items:flex-start;gap:1rem}.analytics-charts{grid-template-columns:1fr}.revenue-chart{grid-column:1}.metrics-grid{grid-template-columns:1fr}}.statistics-page{display:flex;flex-direction:row;height:91vh;width:87vw;margin:0 auto;justify-content:space-between;overflow:hidden}.statistics-left-section{width:55vw;height:87vh;overflow:hidden;padding:2vh .5vw;display:flex;flex-direction:row;box-sizing:border-box;position:relative;gap:1vw}.statistics-right-section{width:32vw;height:100%;display:flex;flex-direction:column;overflow:hidden;align-items:center}.feed-title{font-size:2.2vh;font-family:Saira,sans-serif;font-weight:600;color:var(--text-heading);margin-bottom:2vh;margin-top:2.5vh;padding:1vh 0;border-bottom:.1vh solid var(--border-default);flex-shrink:0;text-align:center}.stats-panel{padding:2vh 2vw;height:100%;display:flex;flex-direction:column;box-sizing:border-box}.metrics-column{width:13vw;height:85vh;display:flex;flex-direction:column;gap:1vh;box-sizing:border-box;overflow:hidden;position:relative}.content-column{width:41vw;height:85vh;display:flex;flex-direction:column;gap:1.5vh}.stats-search-section{height:4.5vh;width:42vw;margin-bottom:2vh;display:flex;align-items:center;justify-content:space-between}.stats-main-search{position:relative;height:4.5vh;width:16vw;display:flex;align-items:center}.stats-main-search input{width:100%;height:3.5vh;padding:.5vh 3vw;border-radius:.4vw;border:.1vh solid var(--input-border);background-color:var(--input-bg);color:var(--text-primary);font-size:1.6vh}.stats-main-search .search-icon{position:absolute;left:1vw;top:50%;transform:translateY(-50%);color:var(--text-secondary);height:1.6vh;width:1.6vw}.stats-filters{display:flex;height:4.5vh;gap:.5vw;align-items:center}.filter-group{width:8vw;height:4.5vh;display:flex;align-items:center;position:relative}.filter-group label{display:block;height:1.2vh;margin-bottom:.3vh;font-size:1.2vh;color:var(--text-secondary)}.filter-group select{width:100%;height:3.5vh;padding:.5vh .8vw;border-radius:.4vw;border:.1vh solid var(--input-border);background-color:var(--input-bg);color:var(--text-primary);font-size:1.2vh;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg fill='%23757575' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");background-repeat:no-repeat;background-position:right .4vw center;transition:all .2s ease}.filter-group select:hover,.filter-group select:focus{border-color:var(--accent-primary);box-shadow:0 0 .3vh var(--accent-primary)}.filter-group select[aria-label="User filter"]{border-color:#ff6b6b;background-color:#ff6b6b0d}.filter-group select[aria-label="User filter"]:disabled{opacity:.6;cursor:not-allowed}.dashboard-header{width:100%;height:5vh;display:flex;align-items:center;justify-content:center;font-family:Saira,sans-serif;font-size:2.2vh;font-weight:600;color:var(--text-heading);margin-bottom:1vh}.admin-mode-indicator{font-size:1.6vh;font-weight:500;color:#ff6b6b;background:#ff6b6b1a;padding:.3vh .8vh;border-radius:.4vh;border:.1vh solid rgba(255,107,107,.3);margin-left:1vh;white-space:nowrap}.school-context-indicator{font-size:1.4vh;font-weight:400;color:#4ecdc4;background:#4ecdc41a;padding:.3vh .8vh;border-radius:.4vh;border:.1vh solid rgba(78,205,196,.3);margin-left:1vh;white-space:nowrap}.stats-analysis-section{height:16vh;width:40vw;margin-bottom:2vh;padding:1.5vh 1.5vw;background-color:var(--bg-tertiary);border-radius:.5vw;border-left:.3vh solid var(--accent-primary);margin-left:auto;margin-right:auto}.stats-analysis-section h3{font-size:2vh;margin-bottom:1vh;color:var(--text-heading)}.analysis-content{font-size:1.4vh;line-height:2.4vh;color:var(--text-primary)}.analysis-content p{margin:0}.positive-text{color:var(--green-gamified);font-weight:600}.negative-text{color:var(--red-gamified);font-weight:600}.metrics-graph-container{display:flex;width:100%;margin-bottom:2vh;gap:.8vw}.stats-metric-selection{width:100%;height:100%;background-color:transparent;display:flex;flex-direction:column;gap:1vh;padding:0;overflow-y:auto;position:relative}.stats-metric-selection h3{height:2vh;font-size:1.6vh;margin-bottom:1vh;color:var(--text-heading)}.performance-status-container{width:100%;display:flex;justify-content:center;padding:1vh 0}.metric-button{width:100%;height:4.5vh;padding:0 1.5vw 0 1vw;margin:0;box-sizing:border-box;display:grid;grid-template-columns:2vw 1fr;align-items:center;gap:.6vw;font-family:DM Sans,sans-serif;font-size:1.75vh;font-weight:400;line-height:1.3;letter-spacing:.02vw;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background-color:transparent;color:var(--text-heading);border:none;border-radius:.8vh;opacity:.8;cursor:pointer;transition:all .3s ease;position:relative;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;perspective:100vh}.metric-icon{display:flex;align-items:center;justify-content:center;width:2vw;height:100%;margin-right:0;transition:transform .5s ease-out;transform-style:preserve-3d;transform-origin:center center;font-size:1.75vh}.metric-button:hover{background-color:transparent;color:var(--mode-theme, #ffe6c8);border:none;text-shadow:0 0 .03vh #00ff41,0 0 .06vh #00ff41,0 0 .09vh #00ff41;filter:drop-shadow(0 0 .02vh #00ff41);opacity:.9}.metric-button:hover .metric-icon{animation:icon-spin .5s ease-out forwards}@keyframes icon-spin{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}.metric-button.active{background-color:transparent;color:var(--mode-theme, #ffe6c8);border:none;text-shadow:0 0 .03vh #00b3ff,0 0 .06vh #00b3ff,0 0 .09vh #00b3ff;filter:drop-shadow(0 0 .02vh #00b3ff);font-weight:400;opacity:1}.metric-button:focus-visible{outline:.2vh solid var(--accent-primary);outline-offset:.2vh}.stat-bar.mastery.positive{background-color:gold;background-image:linear-gradient(to bottom,gold,#e6b800);box-shadow:0 0 .4vh #ffd700b3}.stat-bar.mastery.negative{background-color:#c90;opacity:.6}.stat-bar.completion.positive{background-color:#4caf50;background-image:linear-gradient(to bottom,#4caf50,#388e3c);box-shadow:0 0 .4vh #4caf50b3}.stat-bar.completion.negative{background-color:#81c784;opacity:.6}.summary-stat-item .summary-value.mastery{color:gold;text-shadow:0 0 .2vh rgba(0,0,0,.3)}.summary-stat-item .summary-value.completion{color:#4caf50;text-shadow:0 0 .2vh rgba(0,0,0,.3)}.graph-container{width:34vw;height:40vh;background-color:var(--bg-tertiary);border-radius:.5vw;padding:1vh 1vw}.graph-title{font-size:2vh;margin-bottom:1vh;color:var(--text-heading)}.stats-summary{padding:0;margin-bottom:0;border-radius:.5vw;box-shadow:0 .2vh .4vh #0000000d}.performance-badge{display:flex;align-items:center;justify-content:center;height:2.5vh;padding:0 1vw;border-radius:5vh;font-size:1.2vh;font-weight:600;color:var(--text-heading);white-space:nowrap}.performance-badge.excellent{background-color:#2dd47733;color:var(--green-gamified)}.performance-badge.good{background-color:#63acf133;color:#4a8ed3}.performance-badge.neutral{background-color:#c8c8c833;color:var(--text-secondary)}.performance-badge.concern{background-color:#ff5c5c33;color:var(--red-gamified)}.summary-content{display:flex;flex-direction:row;gap:1vw;justify-content:space-between;padding-top:0;margin-top:0}.summary-data{display:flex;flex-direction:column;gap:1vh;width:21vw}.summary-stats-row{display:flex;justify-content:space-between;gap:.4vw}.summary-stats-column{display:grid;grid-template-columns:1.5vw auto 1fr;grid-template-rows:repeat(3,auto);gap:1vh .5vw;width:100%;padding:1vh .8vw;border-radius:.4vw;align-items:center;position:absolute;bottom:1vh;left:0;box-sizing:border-box}.summary-stats-column .stat-icon{width:1.5vw;height:2.5vh;display:flex;align-items:center;justify-content:center;color:var(--accent-primary);font-size:1.6vh;grid-column:1}.summary-stats-column .summary-value{height:2.2vh;font-size:1.2vh;font-weight:600;color:var(--text-primary);font-family:IBM Plex Mono,monospace;grid-column:2;white-space:nowrap}.summary-stats-column .summary-label{height:1.6vh;font-size:.9vh;color:var(--text-secondary);padding:0 .3vw;border-radius:1vh;text-align:right;justify-self:end;grid-column:3;opacity:.7;white-space:nowrap}.summary-stat-item{display:none}.progress-graphic{margin-top:1vh;height:10vh;width:100%;background-color:#ffffff0d;border-radius:.4vw;padding:.8vh 1vw;display:flex;align-items:center;justify-content:center;font-size:1.2vh;text-align:center;color:var(--text-secondary);font-style:italic}.trend-section{background-color:#ffffff0d;border-radius:.4vw;padding:.8vh 1vw;width:21vw}.trend-header{display:flex;justify-content:space-between;align-items:center;height:2.2vh;margin:.5vh .5vw;border-bottom:.1vh solid var(--border-default);padding:0 0 .4vh}.trend-header span{font-size:1.2vh;font-weight:600;color:var(--text-heading)}.trend-indicator{height:2vh;display:flex;align-items:center;gap:.3vw;font-weight:600;font-size:1.2vh;background-color:#ffffff1a;padding:0 .5vw;border-radius:.3vw}.trend-indicator.positive{color:var(--green-gamified)}.trend-indicator.negative{color:var(--red-gamified)}.trend-description{display:flex;align-items:flex-start;gap:.4vw;padding:.4vh 0}.trend-icon{margin-top:.2vh;color:var(--accent-primary);font-size:1.3vh}.trend-description p{margin:0;font-size:1.1vh;line-height:1.5vh;color:var(--text-primary)}.improvement-tips{background-color:#ffffff0d;border-radius:.4vw;padding:.8vh 1vw;width:21vw}.tips-header{display:flex;align-items:center;gap:.5vw;height:2.2vh;margin-bottom:.4vh;color:var(--accent-primary);font-size:1.2vh;font-weight:600}.improvement-tips p{margin:0;font-size:1.1vh;line-height:1.5vh;color:var(--text-primary);padding:.3vh 0 .6vh}.action-button{background-color:var(--accent-primary);color:var(--text-heading);border:none;border-radius:.3vw;padding:.6vh 1vw;font-size:1vh;font-weight:600;cursor:pointer;transition:all .2s ease}.action-button:hover{background-color:var(--accent-secondary);transform:translateY(-.2vh)}.stats-visualization{width:35vw;height:35vh;margin-top:10vh;margin-left:auto;margin-right:auto}.stats-visualization h3{height:3vh;font-size:2vh;margin-bottom:1vh;color:var(--text-heading)}.bar-graph-container{width:100%;height:36vh;position:relative}.bar-graph{height:25vh;width:100%;display:flex;align-items:flex-end;gap:.15vw;padding-bottom:1vh;border-bottom:.1vh solid var(--border-default);position:relative}.stat-bar{width:.6vw;min-height:.5vh;cursor:pointer;position:relative;border-radius:.2vw .2vw 0 0;transition:all .2s ease;z-index:1}.stat-bar.selected{border:.15vh solid var(--text-heading);z-index:3;transform:scaleY(1.05) translateY(-.25vh);box-shadow:0 .2vh .5vh #0000004d;opacity:1}.stat-bar.hovered{transform:scaleY(1.05) translateY(-.25vh);z-index:2;opacity:1}.stat-bar.visible-in-feed{border:.1vh dashed var(--accent-primary)}.stat-bar.selected.visible-in-feed{border:.15vh solid var(--accent-primary);box-shadow:0 0 .8vh var(--accent-primary)}.stat-bar.positive{background-color:var(--green-gamified)}.stat-bar.negative{background-color:var(--red-gamified)}.stat-bar.comprehension,.stat-bar.accuracy,.stat-bar.speed,.stat-bar.focus,.stat-bar.time,.stat-bar.mastery{opacity:.8}.stat-bar.not-loaded{opacity:.3;background-image:repeating-linear-gradient(45deg,transparent,transparent 5px,rgba(255,255,255,.1) 5px,rgba(255,255,255,.1) 10px);cursor:pointer}.stat-bar.not-loaded:hover{opacity:.6;transform:scaleY(1.05)}.tooltip-not-loaded{margin-top:.5vh;font-style:italic;color:var(--accent-primary);border-top:.1vh dashed var(--border-default);padding-top:.5vh}.stat-bar:hover{opacity:1;transform:scaleY(1.05)}.bar-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);width:15vw;padding:1vh;background-color:var(--bg-main);border-radius:.4vw;border:.1vh solid var(--border-default);box-shadow:0 .4vh .8vh #0003;z-index:10;display:none;font-size:1.2vh;color:var(--text-primary)}.stat-bar:hover .bar-tooltip{display:block}.tooltip-date{font-weight:600;margin-bottom:.25vh}.tooltip-subject{margin-bottom:.25vh;color:var(--text-secondary)}.tooltip-value{font-weight:600;color:var(--accent-primary)}.graph-axis-labels{display:flex;justify-content:space-between;width:100%;font-size:1.4vh;margin:1vh 0}.graph-gridlines{position:absolute;top:0;left:0;width:100%;height:25vh;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.gridline{width:100%;height:.1vh;background-color:var(--border-default);opacity:.5}.visible-range-indicator{position:absolute;top:0;right:0;background-color:#0009;color:var(--text-heading);padding:.5vh 1vw;border-radius:.2vw;font-size:1.2vh;z-index:5;pointer-events:none}.range-label{font-weight:600}.student-card-feed{padding:0 1vw 1vh 1vw;height:calc(100% - 7vh);box-sizing:border-box;overflow-y:auto;overflow-x:hidden;flex-grow:1}.feed-content{display:flex;flex-direction:column;gap:2vh;padding-bottom:2vh}.loading-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3vh 0;color:var(--text-secondary);gap:1vh}.spinner{animation:spin 1s linear infinite;font-size:2.5vh;color:var(--accent-primary)}.card-container{position:relative;cursor:pointer;padding-top:.5vh}.card-container.selected:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border:none;border-radius:1.5vw;pointer-events:none;z-index:5;box-shadow:none}.student-card-feed::-webkit-scrollbar{width:.5vw}.student-card-feed::-webkit-scrollbar-track{background:var(--bg-card);border-radius:.25vw}.student-card-feed::-webkit-scrollbar-thumb{background-color:var(--accent-primary, #c7b783);border-radius:.25vw;border:.1vw solid var(--bg-card)}.student-card-feed::-webkit-scrollbar-thumb:hover{background-color:var(--accent-secondary, #d8a692)}.statistics-page h1{font-size:2.5vh;font-weight:600;color:var(--text-heading);margin-bottom:2vh}.statistics-header{margin-bottom:2vh}.statistics-content{flex:1;display:flex;justify-content:center;align-items:center;background-color:var(--bg-card);border-radius:.5vw;padding:2vh 2vw;box-shadow:0 .4vh .6vw #0000001a}.stats-metric-selection::-webkit-scrollbar{width:.4vw}.stats-metric-selection::-webkit-scrollbar-track{background:transparent;border-radius:.2vw}.stats-metric-selection::-webkit-scrollbar-thumb{background-color:var(--accent-primary, #c7b783);border-radius:.2vw}.stats-metric-selection::-webkit-scrollbar-thumb:hover{background-color:var(--accent-secondary, #d8a692)}.std-dev-band{pointer-events:none;opacity:.5}.benchmark-line{pointer-events:none}.benchmark-line.excellent{z-index:3}.benchmark-line.good{z-index:2}.benchmark-line.poor{z-index:1}.benchmark-label{white-space:nowrap;font-weight:600;z-index:5}.bar-tooltip .statistical-context{margin-top:.5vh;padding-top:.5vh;border-top:.1vh dashed var(--border-default);font-style:italic;font-size:.9vh;color:var(--accent-primary)}.activity-timeline{position:relative;width:100%;height:3vh;margin-top:1vh;display:flex;align-items:center}.timeline-marker{position:absolute;width:.1vw;height:1.2vh;background-color:var(--border-default);bottom:0}.timeline-date-label{position:absolute;font-size:1vh;color:var(--text-secondary);white-space:nowrap;bottom:1.5vh;transform:translate(-50%)}.activity-cluster{position:absolute;height:.8vh;background-color:var(--accent-primary);opacity:.6;border-radius:.4vh;bottom:0}.activity-marker{position:absolute;width:.4vw;height:.4vw;border-radius:50%;background-color:var(--accent-primary);bottom:.2vh;transform:translate(-50%);z-index:2;transition:transform .2s ease;cursor:pointer}.activity-marker:hover{transform:translate(-50%) scale(1.5);z-index:5}.activity-marker .trend-popup{display:none;position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:var(--bg-main);border:.1vh solid var(--border-default);border-radius:.4vw;padding:1vh 1vw;width:16vw;box-shadow:0 .4vh .8vh #0003;z-index:10;pointer-events:none;font-size:1.2vh;color:var(--text-primary);margin-bottom:1vh}.activity-marker:hover .trend-popup{display:block}.activity-marker.high{background-color:var(--green-gamified);width:.5vw;height:.5vw;box-shadow:0 0 .3vh #4caf50b3}.activity-marker.medium{background-color:var(--accent-primary);box-shadow:0 0 .2vh #ffd70080}.activity-marker.low{background-color:var(--red-gamified);width:.5vw;height:.5vw;box-shadow:0 0 .3vh #ff5c5cb3}.trend-popup .trend-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5vh;padding-bottom:.5vh;border-bottom:.1vh solid var(--border-default)}.trend-popup .trend-date{font-weight:600}.trend-popup .trend-status{font-size:1vh;padding:.2vh .5vw;border-radius:1vh;font-weight:600}.trend-popup .trend-status.improving{background-color:#4caf5033;color:var(--green-gamified)}.trend-popup .trend-status.stable{background-color:#ffd70033;color:var(--accent-primary)}.trend-popup .trend-status.declining{background-color:#ff5c5c33;color:var(--red-gamified)}.trend-popup .trend-detail{margin:.5vh 0;display:flex;justify-content:space-between}.trend-popup .trend-label{color:var(--text-secondary)}.trend-popup .trend-value{font-weight:600;font-family:IBM Plex Mono,monospace}.trend-popup .trend-value.positive{color:var(--green-gamified)}.trend-popup .trend-value.negative{color:var(--red-gamified)}.trend-popup .trend-message{margin-top:.5vh;font-style:italic;font-size:1vh;color:var(--text-secondary);padding-top:.5vh;border-top:.1vh dashed var(--border-default)}.timeline-range{position:absolute;font-size:1.2vh;font-weight:500;color:var(--text-heading);display:flex;align-items:center;gap:.5vw;white-space:nowrap}.timeline-range.past{left:0}.timeline-range.recent{right:0}.timeline-range .count{font-size:1vh;background-color:#ffffff1a;padding:.1vh .5vw;border-radius:1vh;color:var(--accent-primary)}.bar-graph{height:25vh;width:100%;display:flex;align-items:flex-end;padding-bottom:1vh;border-bottom:.1vh solid var(--border-default);position:relative}.stat-bar{position:absolute;width:.6vw;min-height:.5vh;cursor:pointer;border-radius:.2vw .2vw 0 0;transition:all .2s ease;z-index:1;bottom:1vh}.graph-axis{height:4vh;width:100%;position:relative;margin-top:1vh}.visualization-connection{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:1}.connection-line{position:absolute;height:100%;width:.1vw;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.3));transform:translate(-50%);opacity:0;transition:opacity .3s ease}.connection-line.visible{opacity:1}.stat-bar.hovered,.activity-marker.hovered{z-index:10}.stat-bar.hovered{transform:scaleY(1.05) translateY(-.25vh);box-shadow:0 0 .8vh var(--accent-primary);opacity:1}.activity-marker.hovered{transform:translate(-50%) scale(1.8);box-shadow:0 0 .8vh var(--accent-primary)}.stat-bar.selected,.activity-marker.selected{z-index:11}.stat-bar.selected{border:.15vh solid var(--text-heading);transform:scaleY(1.1) translateY(-.3vh);box-shadow:0 .4vh .8vh #0006;opacity:1}.activity-marker.selected{transform:translate(-50%) scale(2);box-shadow:0 0 1vh var(--text-heading)}.highlight-connection{position:absolute;width:.2vw;background-color:#fff9;transform:translate(-50%);z-index:1;opacity:0;transition:opacity .3s ease;pointer-events:none}.highlight-connection.visible{opacity:1}.unified-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:var(--bg-main);border:.1vh solid var(--border-default);border-radius:.5vw;padding:1.2vh 1.2vw;width:18vw;height:22vh;box-shadow:0 .4vh 1.2vh #0000004d;z-index:20;pointer-events:none;font-size:1.2vh;color:var(--text-primary);margin-bottom:1vh;opacity:0;transition:opacity .2s ease;overflow:hidden}.unified-tooltip.visible{opacity:1}.unified-tooltip:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--bg-main);z-index:-1}.unified-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:.5vh;border-style:solid;border-color:var(--bg-main) transparent transparent transparent}.tooltip-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8vh;padding-bottom:.5vh;border-bottom:.1vh solid var(--border-default)}.tooltip-date{font-weight:600;color:var(--text-heading)}.tooltip-status{font-size:1vh;padding:.2vh .5vw;border-radius:1vh;font-weight:600;white-space:nowrap}.tooltip-status.improving{background-color:#4caf5033;color:var(--green-gamified)}.tooltip-status.stable{background-color:#ffd70033;color:var(--accent-primary)}.tooltip-status.declining{background-color:#ff5c5c33;color:var(--red-gamified)}.tooltip-body{display:grid;grid-template-columns:1fr 1fr;grid-row-gap:.6vh;grid-column-gap:.8vw;margin-bottom:.8vh}.tooltip-detail{display:flex;flex-direction:column}.tooltip-label{font-size:.9vh;color:var(--text-secondary);margin-bottom:.2vh}.tooltip-value{font-weight:600;font-size:1.1vh;color:var(--text-primary)}.tooltip-value.positive{color:var(--green-gamified)}.tooltip-value.negative{color:var(--red-gamified)}.tooltip-message{margin-top:.8vh;font-style:italic;font-size:1vh;color:var(--text-secondary);padding-top:.5vh;border-top:.1vh dashed var(--border-default)}.tooltip-loading{margin-top:.5vh;font-style:italic;color:var(--accent-primary);border-top:.1vh dashed var(--border-default);padding-top:.5vh;text-align:center}.stat-bar .bar-tooltip,.activity-marker .trend-popup{display:none}#unified-tooltip-container{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:9999}.user-dropdown{background-color:#000!important;color:#fff!important;border:2px solid #333333;border-radius:8px;padding:10px 12px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.user-dropdown:hover{background-color:#1a1a1a!important;border-color:#555}.user-dropdown:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea33}.user-dropdown option{background-color:#000;color:#fff;padding:8px 12px}.user-dropdown option:hover{background-color:#1a1a1a}.user-dropdown option:checked{background-color:#667eea;color:#fff}.rewards-page{padding:2rem;display:flex;flex-direction:column;height:100%;width:100%}.rewards-header{margin-bottom:2rem}.rewards-header h1{font-size:2rem;font-weight:600;color:var(--text-heading)}.rewards-content{flex:1;display:flex;justify-content:center;align-items:center;background-color:var(--bg-card);border-radius:.5rem;padding:2rem;box-shadow:0 4px 6px #0000001a}html,body{overflow-y:auto}.school-form{display:flex;flex-direction:column}.create-school-page{width:100%;max-width:40vw;margin:0 auto;padding:2vh 1vw;box-sizing:border-box}body::-webkit-scrollbar,html::-webkit-scrollbar,.create-school-page::-webkit-scrollbar{width:1.5vw!important;display:block!important}body::-webkit-scrollbar-track,html::-webkit-scrollbar-track,.create-school-page::-webkit-scrollbar-track{background:#0000000d;border-radius:0}body::-webkit-scrollbar-thumb,html::-webkit-scrollbar-thumb,.create-school-page::-webkit-scrollbar-thumb{background:#00000080;border-radius:0;-webkit-transition:background .3s ease;transition:background .3s ease;min-height:5vh}body::-webkit-scrollbar-thumb:hover,html::-webkit-scrollbar-thumb:hover,.create-school-page::-webkit-scrollbar-thumb:hover{background:#000000b3}html,body,.create-school-page{scrollbar-width:auto;scrollbar-color:rgba(0,0,0,.5) rgba(0,0,0,.05)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1vh}.page-header h2{font-size:2vh;color:var(--text-primary);margin:0}.back-link{display:flex;align-items:center;color:var(--accent-primary);text-decoration:none;font-size:1.5vh}.back-link:hover{text-decoration:underline}.school-form-container{background-color:var(--surface-secondary);border-radius:.6vh;box-shadow:0 .2vh .8vh #0000001a;padding:1.5vh 1.5vw 1vh 1.5vw;height:75vh;overflow-y:auto;overflow-x:hidden;position:relative;z-index:2;margin-bottom:2vh}.step-indicator{display:flex;align-items:center;margin-bottom:.5vh;justify-content:center}.step-item{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:4vw}.step-number{width:2.5vh;height:2.5vh;border-radius:50%;background-color:var(--border-color);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-weight:700;margin-bottom:.3vh;font-size:1.2vh}.step-item.active .step-number{background-color:var(--accent-primary);color:#fff}.step-label{font-size:1.1vh;color:var(--text-secondary);font-weight:500}.step-item.active .step-label{color:var(--accent-primary);font-weight:600}.step-line{width:3vw;height:.15vh;background-color:var(--border-color);margin:0 .3vw}.school-form-step{display:flex;flex-direction:column;height:auto;margin-bottom:1vh}.school-form-subtitle{font-size:1.8vh;color:var(--text-primary);border-bottom:.15vh solid var(--accent-primary);padding-bottom:.4vh}.form-group{display:flex;flex-direction:column;gap:.5vh;margin-bottom:.8vh}.form-group label{font-weight:600;color:var(--text-primary);font-size:1.4vh}.form-input{width:100%;padding:.8vh 1vw;border:.15vh solid var(--border-color);border-radius:.4vh;font-size:1.4vh;background-color:var(--surface-primary);color:var(--text-primary);transition:border-color .3s ease;box-sizing:border-box}.form-input:focus{outline:none;border-color:var(--accent-primary)}.form-input.error{border-color:var(--error-color)}.subdomain-input-group,.domain-input-group,.name-input-group{display:flex;align-items:center;gap:.3vw}.subdomain-input-group .form-input,.domain-input-group .form-input,.name-input-group .form-input{flex:1}.domain-suffix{font-size:1.4vh;color:var(--text-secondary);background-color:var(--surface-primary);padding:.8vh .8vw;border:.15vh solid var(--border-color);border-left:none;border-radius:0 .4vh .4vh 0;white-space:nowrap}.check-button{background-color:var(--accent-primary);color:#fff;border:none;padding:.8vh 1vw;border-radius:.4vh;font-size:1.2vh;cursor:pointer;white-space:nowrap;min-width:3vw}.check-button:hover:not(:disabled){background-color:var(--accent-hover)}.check-button:disabled{background-color:var(--text-disabled);cursor:not-allowed}.next-button,.prev-button{background-color:var(--accent-primary);color:#fff;border:none;border-radius:.4vh;font-size:2vh;cursor:pointer!important;margin:0 .3vw;min-width:6vw;position:relative;z-index:1000;pointer-events:auto!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-shadow:0 .2vh .4vh #0003}.next-button:hover,.prev-button:hover{background-color:var(--accent-hover);transform:translateY(-.1vh)}.prev-button{background-color:var(--surface-secondary);color:var(--text-primary);border:.15vh solid var(--border-color)}.prev-button:hover{background-color:var(--surface-primary)}.form-actions{display:flex;justify-content:center;align-items:center;border-top:.1vh solid var(--border-color);position:relative;padding:1vh 0;margin-top:1vh;background-color:var(--surface-secondary)}.error-message{color:var(--error-color);font-size:1.1vh;margin-top:.2vh;min-height:2vh;display:block}.success-message{color:var(--success-color);font-size:1.1vh;min-height:2vh;display:block}.help-text{font-size:1.1vh;color:var(--text-secondary);margin-top:.3vh;line-height:1.3}.help-text strong{color:var(--warning-color, #8a6914)}.domain-type-selection{display:flex;flex-direction:column;gap:.6vh;margin:.8vh 0}.radio-group{display:flex;align-items:center;padding:.6vh .8vw;border:.1vh solid var(--border-color);border-radius:.4vh;cursor:pointer;transition:all .3s ease;background-color:#fafbfc;min-height:auto}.radio-group:hover{border-color:var(--accent-primary);background-color:#e3f2fd}.radio-group:has(input[type=radio]:checked){border-color:var(--accent-primary);background-color:#e8f4fd}.radio-group input[type=radio]{margin-right:.5vw;width:.8vh;height:.8vh;flex-shrink:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:.1vh solid #d1d5db;border-radius:50%;background-color:#fff;transition:all .2s ease}.radio-group input[type=radio]:checked{background-color:#f97316;border-color:#f97316}.radio-group input[type=radio]:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:.25vh;height:.25vh;border-radius:50%;background-color:#fff}.radio-group input[type=radio]:hover:not(:checked){border-color:#9ca3af}.radio-group input[type=radio]:checked+.radio-label{color:var(--accent-primary)}.radio-label{display:flex;flex-direction:column;cursor:pointer;flex:1;gap:.1vh}.radio-label strong{font-size:1.4vh;color:#1f2937;font-weight:600}.radio-description{font-size:1.1vh;color:#4b5563;line-height:1.2}.radio-group input[type=radio]:checked+.radio-label strong{color:var(--accent-primary)}.radio-group input[type=radio]:checked+.radio-label .radio-description{color:#374151}.domain-warning{background-color:#ffc1071a;border:.1vh solid rgba(255,193,7,.3);border-radius:.4vh;padding:.8vh 1vw;margin:.8vh 0 3vh;font-size:1.2vh}.domain-warning p{margin:0 0 .4vh;color:var(--warning-color, #8a6914);font-weight:500}.domain-warning ul{margin:.4vh 0;padding-left:1.2vw}.domain-warning li{margin:.2vh 0;color:var(--text-primary)}.domain-warning ul ul{margin:.2vh 0;padding-left:.8vw}.domain-warning ul ul li{font-family:Courier New,monospace;font-size:1vh;color:var(--text-secondary)}.dns-info{background-color:var(--surface-primary);border:.1vh solid var(--border-color);border-radius:.4vh;padding:1vh 1vw;margin:1vh 0}.dns-info p{font-size:1.3vh;margin-bottom:.8vh;color:var(--text-primary)}.dns-info ul{margin:0;padding-left:1.5vw}.dns-info li{font-size:1.2vh;margin:.5vh 0;color:var(--text-primary)}.dns-info strong{color:var(--accent-primary)}.checkbox-group{display:flex;align-items:center;gap:.5vw}.checkbox-group input[type=checkbox]{width:1.2vh;height:1.2vh;accent-color:var(--accent-primary)}.checkbox-group label{font-size:1.3vh;cursor:pointer}.create-school-page,.school-form-container,.school-form-step{scroll-behavior:smooth}@media (max-width: 768px){.create-school-page::-webkit-scrollbar,.school-form-container::-webkit-scrollbar,.school-form-step::-webkit-scrollbar{width:1vw}.create-school-page{max-width:85vw;padding:.8vh .8vw}.school-form-container{padding:1vh 1vw}.school-form-step{gap:.8vh;padding-right:1vw;margin-right:-1vw}.step-item{min-width:8vw}.step-line{width:2.5vw}.domain-type-selection{gap:.5vh}.radio-group{padding:.5vh .6vw}.radio-group input[type=radio]{width:.7vh;height:.7vh;margin-right:.4vw}.radio-group input[type=radio]:checked:after{width:.2vh;height:.2vh}.radio-label strong{font-size:1.2vh;color:#1f2937;font-weight:600}.radio-description{font-size:1vh;color:#4b5563}.subdomain-input-group,.domain-input-group,.name-input-group{flex-direction:column;align-items:stretch;gap:.5vh}.check-button{min-width:100%}.next-button,.prev-button{padding:.8vh 1.2vw;min-width:8vw}}.my-network{z-index:50}.next-button{transition:all .2s ease}.next-button:active{transform:scale(.97)}.checkbox-group{margin-bottom:1vh}.dns-management-page{padding:2rem;max-width:1200px;margin:0 auto;color:#212e3e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;height:calc(100vh - 4rem);display:flex;flex-direction:column}.page-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #e5e8eb}.page-header h1{font-size:1.75rem;margin-bottom:.5rem;color:#0e1621;font-weight:600}.page-header p{color:#5e6c84;font-size:.95rem}.filter-section{margin-bottom:1.5rem;display:flex;align-items:center}.search-box{position:relative;width:300px}.filter-input{width:100%;padding:.6rem 2.5rem .6rem 2.25rem;border:1px solid #d8dde3;border-radius:4px;font-size:.9rem;background-color:#fff;color:#212e3e;transition:border-color .2s,box-shadow .2s}.filter-input:focus{outline:none;border-color:#0069ff;box-shadow:0 0 0 2px #0069ff33}.search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#5e6c84;pointer-events:none}.clear-filter{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.2rem;color:#5e6c84;cursor:pointer;z-index:1}.clear-filter:hover{color:#212e3e}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:#5e6c84;background-color:#f8f9fb;border-radius:4px;margin-bottom:2rem}.loading-spinner{width:30px;height:30px;border:2px solid rgba(0,105,255,.2);border-radius:50%;border-top-color:#0069ff;animation:spin 1s linear infinite;margin-bottom:1rem}.error-message{display:flex;align-items:flex-start;background-color:#fff0f0;border:1px solid #ffcccc;padding:1.5rem;border-radius:4px;margin-bottom:1.5rem;color:#d32f2f}.error-icon{font-size:1.25rem;margin-right:1rem}.error-content{flex:1}.error-content h3{margin-top:0;margin-bottom:.5rem;font-size:1.1rem}.retry-button{background-color:#f44336;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;margin-top:.5rem;font-weight:500;transition:background-color .2s}.retry-button:hover{background-color:#d32f2f}.no-records{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:#5e6c84;background-color:#f8f9fb;border-radius:4px;text-align:center}.empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.7}.no-records h3{margin-top:0;margin-bottom:.5rem;color:#0e1621}.clear-filter-button{background-color:#0069ff;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;margin-top:1rem;font-weight:500;transition:background-color .2s}.clear-filter-button:hover{background-color:#0050d0}.records-container{display:flex;flex-direction:column;flex:1;overflow:hidden}.records-table-container{overflow:auto;border:1px solid #d8dde3;border-radius:4px;max-height:calc(100vh - 15rem);flex:1}.dns-records-table{width:100%;border-collapse:collapse;background-color:#fff}.dns-records-table th,.dns-records-table td{padding:1rem;text-align:left;border-bottom:1px solid #e5e8eb;font-size:.9rem}.dns-records-table th{background-color:#f8f9fb;font-weight:600;color:#5e6c84;position:sticky;top:0;z-index:1;text-transform:uppercase;font-size:.8rem;letter-spacing:.03em}.dns-records-table tr:last-child td{border-bottom:none}.dns-records-table tr:hover{background-color:#f8f9fb}.type-column{width:12%}.hostname-column{width:25%}.hostname-display{font-weight:500;display:flex;align-items:center}.hostname-display:before{content:"@";display:inline-block;width:1.5rem;text-align:center;color:#5e6c84;font-weight:400;margin-right:.25rem}.value-column{width:40%}.ttl-column{width:15%;text-align:center}.actions-column{width:8%;text-align:right}.highlight{color:#0069ff;font-weight:500}.text-record{font-family:monospace;word-break:break-all;font-size:.85rem;max-width:300px;display:block}.record-type{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .5rem;border-radius:4px;font-weight:600;font-size:.75rem;text-align:center;min-width:50px;background-color:#f0f3f5;color:#5e6c84}.record-type-a{background-color:#e3f2fd;color:#0069ff}.record-type-cname{background-color:#e8f5e9;color:#2e7d32}.record-type-txt{background-color:#fff3e0;color:#e65100}.record-type-mx{background-color:#f3e5f5;color:#7b1fa2}.record-type-ns{background-color:#e8eaf6;color:#3f51b5}.record-type-soa{background-color:#fce4ec;color:#c2185b}.action-menu-container{position:relative}.more-button{background:none;border:none;color:#5e6c84;cursor:pointer;font-size:.85rem;padding:.25rem .5rem;display:flex;align-items:center;gap:.25rem;border-radius:4px;transition:background-color .2s}.more-button:hover{background-color:#f0f3f5;color:#212e3e}.more-button svg{margin-left:.25rem}.action-menu{position:absolute;top:100%;right:0;background-color:#fff;border-radius:4px;box-shadow:0 2px 10px #0000001a;z-index:10;min-width:150px;overflow:hidden;margin-top:.5rem;border:1px solid #d8dde3}.action-menu-item{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;width:100%;text-align:left;background:none;border:none;cursor:pointer;font-size:.9rem;transition:background-color .2s}.action-menu-item:hover{background-color:#f8f9fb}.delete-action{color:#f44336}.delete-action svg{color:#f44336}.confirmation-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0e162180;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content{background-color:#fff;border-radius:4px;max-width:450px;width:90%;box-shadow:0 4px 20px #00000026;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem;border-bottom:1px solid #e5e8eb}.modal-header h3{margin:0;color:#0e1621;font-size:1.2rem;font-weight:600}.close-modal{background:none;border:none;font-size:1.5rem;color:#5e6c84;cursor:pointer;line-height:1}.close-modal:hover{color:#212e3e}.modal-body{padding:1.5rem;display:flex;flex-direction:column}.record-details{background-color:#f8f9fb;padding:1rem;border-radius:4px;margin:1rem 0;width:100%}.detail-row{display:flex;margin-bottom:.75rem}.detail-row:last-child{margin-bottom:0}.detail-label{font-weight:600;min-width:80px;color:#5e6c84}.detail-value{flex:1}.deletion-warning{display:flex;align-items:flex-start;gap:.75rem;background-color:#fff8e1;padding:1rem;margin-top:1rem;width:100%;border-radius:4px}.deletion-warning svg{color:#f57c00;flex-shrink:0;margin-top:.1rem}.deletion-warning p{margin:0;font-size:.9rem;color:#795548}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;padding:1.25rem;border-top:1px solid #e5e8eb;background-color:#f8f9fb}.cancel-button{background-color:#f0f3f5;color:#212e3e;border:none;padding:.6rem 1.25rem;border-radius:4px;cursor:pointer;font-weight:500;font-size:.9rem;transition:background-color .2s}.confirm-button{background-color:#f44336;color:#fff;border:none;padding:.6rem 1.25rem;border-radius:4px;cursor:pointer;font-weight:500;font-size:.9rem;transition:background-color .2s}.cancel-button:hover{background-color:#e5e8eb}.confirm-button:hover{background-color:#d32f2f}@media (max-width: 768px){.dns-management-page{padding:1rem}.search-box{width:100%}.dns-records-table th,.dns-records-table td{padding:.75rem .5rem;font-size:.85rem}.record-type{min-width:40px;font-size:.7rem;padding:.2rem .4rem}.more-button{padding:.25rem}.more-button span{display:none}.modal-content{width:95%}}.login-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e4e8f0);padding:1rem}.login-card{background-color:#fff;border-radius:12px;box-shadow:0 8px 20px #0000001a;width:100%;max-width:30vw;padding:2.5rem;transition:transform .3s ease}.login-card:hover{transform:translateY(-5px);box-shadow:0 12px 30px #00000026}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{font-family:Saira,sans-serif;font-size:2rem;font-weight:700;color:#3a36e0;margin-bottom:.5rem}.login-header p{font-family:DM Sans,sans-serif;font-size:1rem;color:#5d6778}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-options{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.remember-me{display:flex;align-items:center;gap:.5rem}.remember-me input[type=checkbox]{width:16px;height:16px;accent-color:#3a36e0}.forgot-password{color:#3a36e0;text-decoration:none;transition:color .2s ease}.forgot-password:hover{text-decoration:underline;color:#2a26a0}.login-button{background-color:#3a36e0;color:#fff;border:none;border-radius:8px;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s ease;margin-top:1rem}.login-button:hover{background-color:#2a26a0}.login-button:disabled{background-color:#a5a4e0;cursor:not-allowed}.login-footer{text-align:center;margin-top:2rem;font-size:.9rem;color:#5d6778}.login-footer a{color:#3a36e0;font-weight:600;text-decoration:none;transition:color .2s ease}.login-footer a:hover{text-decoration:underline;color:#2a26a0}@media (max-width: 480px){.login-card{padding:1.5rem;max-width:72vw!important}.login-header h1{font-size:1.75rem}.form-options{flex-direction:column;align-items:flex-start;gap:.75rem}}.tos-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;display:flex;justify-content:center;align-items:center;z-index:10000;padding:20px}.tos-modal-container{background:#fff;border-radius:12px;max-width:800px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.tos-modal-header{padding:24px 32px;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;background:#f8fafc;border-radius:12px 12px 0 0}.tos-modal-header h2{margin:0;font-size:24px;font-weight:700;color:#1e293b}.tos-modal-close{background:none;border:none;font-size:28px;color:#64748b;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s ease}.tos-modal-close:hover{background-color:#f1f5f9;color:#374151}.tos-modal-content{flex:1;overflow-y:auto;padding:0;position:relative}.tos-document{padding:32px;line-height:1.7;color:#374151}.tos-header{text-align:center;margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid #e5e7eb}.tos-header h1{font-size:28px;font-weight:700;color:#1e293b;margin:0 0 16px}.tos-meta{background:#f8fafc;padding:16px;border-radius:8px;border-left:4px solid #3b82f6}.tos-meta p{margin:4px 0;font-size:14px;color:#4b5563}.tos-agreement-notice{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;padding:20px;margin:24px 0}.tos-agreement-notice p{margin:0;font-weight:500;color:#92400e;font-size:15px}.tos-section{padding:14px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000001a}.tos-section h2{color:#1e293b;font-size:20px;font-weight:700;margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid #e5e7eb}.tos-section h3{color:#374151;font-size:16px;font-weight:600;margin:20px 0 12px}.tos-section p{margin:12px 0;font-size:15px;text-align:justify}.tos-section p strong{color:#1e293b;font-weight:600}.tos-footer{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;padding:20px;margin:32px 0 0;text-align:center}.tos-footer p{margin:0;font-weight:600;color:#92400e;font-size:16px}.scroll-indicator{position:sticky;bottom:0;background:linear-gradient(to top,#3b82f6f2,#3b82f6cc);color:#fff;text-align:center;padding:12px;margin:0 -32px -32px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:.8}50%{opacity:1}}.scroll-indicator p{margin:0;font-weight:600;font-size:14px}.tos-modal-footer{padding:24px 32px;border-top:2px solid #e5e7eb;background:#f8fafc;border-radius:0 0 12px 12px;margin-bottom:2rem}.scroll-message,.reading-message{text-align:center;margin:0 0 16px;padding:12px;border-radius:6px;font-weight:500}.scroll-message{background:#fef3c7;color:#92400e;border:1px solid #f59e0b}.reading-message{background:#dbeafe;color:#1e40af;border:1px solid #3b82f6}.tos-modal-actions{display:flex;gap:12px;justify-content:flex-end}.tos-modal-cancel{padding:12px 24px;border:2px solid #d1d5db;background:#fff;color:#374151;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease}.tos-modal-cancel:hover{background:#f9fafb;border-color:#9ca3af}.tos-modal-accept{padding:12px 24px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:200px}.tos-modal-accept.enabled{background:linear-gradient(135deg,#059669,#10b981);color:#fff;box-shadow:0 4px 14px #10b98163}.tos-modal-accept.enabled:hover{background:linear-gradient(135deg,#047857,#059669);transform:translateY(-1px);box-shadow:0 6px 20px #10b98180}.tos-modal-accept.disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed}@media (max-width: 768px){.tos-modal-container{margin:10px;max-height:95vh}.tos-modal-header{padding:20px 24px}.tos-modal-header h2{font-size:20px}.tos-document{padding:24px 20px}.tos-header h1{font-size:24px}.tos-section{padding:20px 16px;margin:24px 0}.tos-section h2{font-size:18px}.tos-modal-footer{padding:20px 24px}.tos-modal-actions{flex-direction:column}.tos-modal-accept{min-width:auto}.scroll-indicator{margin:0 -20px -24px}}@media (max-width: 480px){.tos-modal-overlay{padding:10px}.tos-document{padding:20px 16px}.tos-section{padding:16px 12px}.scroll-indicator{margin:0 -16px -20px}}@media print{.tos-modal-overlay{position:static;background:none;padding:0}.tos-modal-container{box-shadow:none;max-height:none;border-radius:0}.tos-modal-header,.tos-modal-footer,.scroll-indicator{display:none}.tos-modal-content{overflow:visible}.tos-section{-moz-column-break-inside:avoid;break-inside:avoid;box-shadow:none;border:1px solid #ccc}}.register-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e4e8f0);padding:1rem}.register-card{background-color:#fff;border-radius:12px;box-shadow:0 8px 20px #0000001a;width:100%;max-width:500px;padding:2.5rem;transition:transform .3s ease}.register-card:hover{transform:translateY(-5px);box-shadow:0 12px 30px #00000026}.register-header{text-align:center;margin-bottom:2rem}.register-header h1{font-family:Saira,sans-serif;font-size:2rem;font-weight:700;color:#3a36e0;margin-bottom:.5rem}.register-header p{font-family:DM Sans,sans-serif;font-size:1rem;color:#5d6778}.success-message{background-color:#f0fff4;color:#38a169;padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem;font-size:.9rem;border-left:4px solid #38a169}.error-message{background-color:#fff0f0;color:#e63946;padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem;font-size:.9rem;border-left:4px solid #e63946}.register-form,.form-group{display:flex;flex-direction:column}.form-group label{font-size:.9rem;font-weight:600;color:#333}.form-group input{padding:.75rem 1rem;border:1px solid #e4e8f0;border-radius:8px;font-size:1rem;transition:border-color .3s ease,box-shadow .3s ease}.form-group input:focus{outline:none;border-color:#3a36e0;box-shadow:0 0 0 3px #3a36e01a}.form-group input.error{border-color:#e63946}.field-error{color:#e63946;font-size:.8rem;margin-top:.25rem}.form-checkbox{display:flex;align-items:flex-start;gap:.75rem;position:relative}.form-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:#3a36e0}.form-checkbox label{font-size:.9rem;color:#4a5568;line-height:1.4}.terms-link{color:#3a36e0;text-decoration:none;transition:color .2s ease}.terms-link:hover{text-decoration:underline;color:#2a26a0}.checkbox-error{position:absolute;bottom:0;left:0}.register-button{background-color:#3a36e0;color:#fff;border:none;border-radius:8px;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s ease;margin-top:.5rem}.register-button:hover{background-color:#2a26a0}.register-button:disabled{background-color:#a5a4e0;cursor:not-allowed}.register-footer{text-align:center;margin-top:1rem;margin-bottom:2rem;font-size:.9rem;color:#5d6778}.register-footer a{color:#3a36e0;font-weight:600;text-decoration:none;transition:color .2s ease}.register-footer a:hover{text-decoration:underline;color:#2a26a0}@media (max-width: 480px){.register-card{padding:1.5rem}.register-header h1{font-size:1.75rem}.form-checkbox{flex-direction:column}.form-checkbox input[type=checkbox]{margin-top:0}}.tos-checkbox-line{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.75rem}.checkbox-wrapper{position:relative;display:inline-block;width:18px;height:18px;flex-shrink:0}.tos-checkbox-line input[type=checkbox]{width:18px;height:18px;margin-top:.125rem;accent-color:#3a36e0;cursor:pointer;flex-shrink:0}.tos-checkbox-line input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.checkbox-overlay{position:absolute;top:0;left:0;width:18px;height:18px;background:linear-gradient(135deg,#f0f8ff,#e6f3ff);border:2px solid #3a36e0;border-radius:3px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:10px;z-index:1;transition:all .2s ease}.checkbox-overlay:hover{background:linear-gradient(135deg,#e6f3ff,#cce7ff);transform:scale(1.05);box-shadow:0 2px 8px #3a36e04d}.checkbox-wrapper:hover .checkbox-overlay{animation:pulse 1s infinite}.tos-label{font-size:.9rem;color:#374151;line-height:1.5;cursor:pointer;flex:1}.tos-label.disabled{color:#9ca3af;cursor:not-allowed}.terms-link{background:none;border:none;color:#2563eb;text-decoration:underline;font-weight:500;cursor:pointer;padding:0;font-size:inherit;font-family:inherit;transition:color .2s ease}.terms-link:hover{color:#1d4ed8}.terms-link:focus{outline:2px solid #3b82f6;outline-offset:2px;border-radius:2px}.read-indicator{color:#10b981;font-weight:600;font-size:.875rem}.tos-help-text{font-size:.8rem;color:#6b7280;padding:.75rem 1rem;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:8px;margin-top:.5rem}.tos-success-text{font-size:.8rem;color:#047857;padding:.75rem 1rem;background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-radius:8px;border-left:4px solid #10b981;font-weight:500;line-height:1.4;margin-top:.5rem}.tos-error-text{font-size:.8rem;color:#dc2626;padding:.75rem 1rem;background:linear-gradient(135deg,#fef2f2,#fee2e2);border-radius:8px;border-left:4px solid #ef4444;font-weight:500;line-height:1.4;margin-top:.5rem}@media (max-width: 480px){.tos-checkbox-line{gap:.5rem}.tos-label{font-size:.85rem}.tos-help-text,.tos-success-text,.tos-error-text{font-size:.75rem;padding:.625rem .875rem}}.verify-email-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);padding:2rem}.verify-email-card{width:100%;max-width:500px;background-color:var(--card-bg);border-radius:8px;box-shadow:0 10px 25px #0000001a;overflow:hidden}.verify-email-header{background-color:var(--accent-primary);color:#fff;padding:1.5rem;text-align:center}.verify-email-header h1{margin:0;font-size:1.8rem;font-weight:600}.verification-message{padding:2rem;text-align:center}.verification-message h2{margin-top:.5rem;margin-bottom:1rem;color:var(--text-primary)}.verification-message p{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.6}.verification-message.success{color:var(--success)}.verification-message.error{color:var(--error)}.email-illustration{margin:2rem 0;font-size:3rem}.check-icon,.error-icon{font-size:3rem;margin:1rem 0}.check-icon{color:var(--success)}.error-icon{color:var(--error)}.loading-spinner{width:3rem;height:3rem;border:.25rem solid rgba(0,0,0,.1);border-radius:50%;border-top-color:var(--accent-primary);animation:spin 1s infinite linear;margin:0 auto 1.5rem}.try-again-button{background-color:var(--accent-primary);color:#fff;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;cursor:pointer;transition:background-color .3s;margin-top:1rem}.try-again-button:hover{background-color:var(--accent-primary-dark)}.resend-button{background:none;border:none;color:var(--accent-primary);padding:0;font-size:inherit;cursor:pointer;text-decoration:underline;margin-left:.5rem}.note{font-size:.9rem;color:var(--text-tertiary)}.error-message{background-color:var(--error-bg);color:var(--error);padding:1rem;margin:1rem;border-radius:4px;font-size:.9rem}.verify-email-footer{padding:1rem;text-align:center;border-top:1px solid var(--border-color);font-size:.9rem;color:var(--text-tertiary)}.verify-email-footer a{color:var(--accent-primary);text-decoration:none}.verify-email-footer a:hover{text-decoration:underline}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 600px){.verify-email-card{max-width:100%}.verify-email-header h1{font-size:1.5rem}.verification-message{padding:1.5rem}}.complete-registration-page{display:flex;justify-content:center;align-items:flex-start;min-height:100vh;padding:2rem;background-color:#f8f9fa;overflow-y:auto}.complete-registration-card{width:100%;max-width:800px;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;padding:2rem;margin:1rem 0}.complete-registration-header{text-align:center;margin-bottom:2rem}.complete-registration-header h1{color:#333;margin-bottom:.5rem}.complete-registration-header p{color:#666;margin-bottom:0}.complete-registration-container{display:flex;justify-content:center;align-items:flex-start;min-height:100vh;padding:2rem;background-color:#f8f9fa;overflow-y:auto}.complete-registration-form-container{width:100%;max-width:800px;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;padding:2rem}.complete-registration-form-container h1{color:#333;margin-bottom:.5rem;text-align:center}.complete-registration-form-container p{color:#666;margin-bottom:2rem;text-align:center}.complete-registration-form{display:flex;flex-direction:column;gap:1.5rem}.form-section{border:1px solid #eee;border-radius:8px;padding:1.5rem;margin-bottom:1rem;background-color:#fafafa}.form-section h2{font-size:1.2rem;margin-bottom:1rem;color:#444;border-bottom:1px solid #eee;padding-bottom:.5rem}.form-group{margin-bottom:1rem}.form-group label{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-weight:500;color:#555}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;transition:border-color .3s}.form-group input:focus,.form-group select:focus{border-color:#4a90e2;outline:none;box-shadow:0 0 0 2px #4a90e233}.form-row{display:flex;gap:1rem}.form-row .form-group{flex:1}.error-message{color:#e74c3c;font-size:.875rem;margin-top:.25rem}.success-message{background-color:#d4edda;color:#155724;padding:1rem;border-radius:4px;margin-bottom:1rem;text-align:center}.submit-btn{background-color:#4a90e2;color:#fff;border:none;border-radius:4px;padding:.875rem;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .3s;margin-top:1rem}.submit-btn:hover{background-color:#3a7bc8}.submit-btn:disabled{background-color:#a0c3e8;cursor:not-allowed}.profile-picture-container{display:flex;flex-direction:column;align-items:center;margin-bottom:1.5rem}.camera-placeholder{width:200px;height:200px;border:2px dashed #ddd;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#888;gap:1rem;margin-bottom:1rem}.camera-container{position:relative;width:100%;max-width:400px;border-radius:8px;overflow:hidden;background-color:#000;margin-bottom:1rem}.camera-container video{width:100%;height:auto;display:block}.camera-controls{display:flex;justify-content:center;gap:1rem;padding:1rem;background-color:#00000080}.capture-btn,.cancel-btn{padding:.625rem 1.25rem;border:none;border-radius:4px;font-weight:500;cursor:pointer}.capture-btn{background-color:#4caf50;color:#fff}.cancel-btn{background-color:#f44336;color:#fff}.start-camera-btn{background-color:#4a90e2;color:#fff;border:none;border-radius:4px;padding:.625rem 1.25rem;font-weight:500;cursor:pointer}.profile-preview{display:flex;flex-direction:column;align-items:center;gap:1rem}.profile-preview img{width:200px;height:200px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:3px solid #4a90e2}.retake-photo-btn{background-color:#f8f9fa;color:#444;border:1px solid #ddd;border-radius:4px;padding:.5rem 1rem;font-weight:500;cursor:pointer}.location-container{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.get-location-btn{display:flex;align-items:center;gap:.5rem;background-color:#f8f9fa;color:#444;border:1px solid #ddd;border-radius:4px;padding:.75rem;font-weight:500;cursor:pointer;width:-moz-fit-content;width:fit-content}.get-location-btn:hover{background-color:#e9ecef}.get-location-btn:disabled{opacity:.7;cursor:not-allowed}.app-main-page--unauthenticated .app-content-window{overflow:visible!important}.app-main-page--unauthenticated .app-content-window-body{overflow-y:auto!important;-webkit-overflow-scrolling:touch}@media (max-width: 768px){.complete-registration-page{padding:1rem}.complete-registration-card{padding:1.5rem;margin:.5rem 0}.complete-registration-container{padding:1rem}.complete-registration-form-container{padding:1.5rem}.form-row{flex-direction:column;gap:0}.camera-container{max-width:100%}}.m1-header{width:100vw;height:8vh;display:flex;align-items:center;justify-content:space-between;padding:0 1vw;box-sizing:border-box;position:fixed;top:0;left:0;z-index:100}.m1-header-logo-container{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding-left:.75vw}.m1-app-logo{color:var(--text-heading);display:flex;align-items:center;justify-content:center;height:100%;text-decoration:none;cursor:pointer}.m1-app-logo.siteLogo{height:4vh}.m1-header-logo{width:4vh;height:4vh;-o-object-fit:contain;object-fit:contain;transform-style:preserve-3d;filter:brightness(0) var(--logo-filter, invert(1))}.m1-app-logo:not(:hover) .m1-header-logo{animation:m1-animate 18s linear infinite}.m1-app-logo.siteLogo:hover{animation:m1-logo-hover .1875s linear 2;--logo-color: #00ff41}.m1-app-logo.siteLogo:hover .m1-header-logo{animation:m1-logo-spin .5s ease-out forwards;filter:brightness(0) var(--logo-filter, invert(1)) drop-shadow(0 0 .025vw var(--logo-color)) drop-shadow(0 0 .075vw var(--logo-color)) drop-shadow(0 0 .125vw var(--logo-color))}@keyframes m1-animate{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}@keyframes m1-logo-spin{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}@keyframes m1-logo-hover{0%,33%{--logo-color: #00ff41}33.1%,66%{--logo-color: #ff1800}66.1%,to{--logo-color: #00b3ff}}.m1-breadcrumb{flex:1;margin-left:1vw;margin-right:.3vw;overflow:hidden}.m1-breadcrumb-container{display:flex;align-items:center;width:100%;overflow:hidden;min-width:0;padding-left:1vw}.m1-breadcrumb-node{background-color:transparent;border:none;padding:0;margin:0;cursor:pointer;text-align:left;outline:none;transition:opacity .3s ease;opacity:.8;flex-shrink:1;min-width:0;max-width:25vw}.m1-breadcrumb-node:hover{background-color:transparent;opacity:.9}.m1-breadcrumb-node:hover .m1-breadcrumb-text{color:var(--mode-theme, #ffe6c8);text-shadow:0 0 .03vh #00ff41,0 0 .06vh #00ff41,0 0 .09vh #00ff41;filter:drop-shadow(0 0 .02vh #00ff41)}.m1-breadcrumb-node:focus{background-color:transparent;opacity:1}.m1-breadcrumb-node:focus .m1-breadcrumb-text{color:var(--mode-theme, #ffe6c8);text-shadow:0 0 .03vh #00b3ff,0 0 .06vh #00b3ff,0 0 .09vh #00b3ff;filter:drop-shadow(0 0 .02vh #00b3ff)}.m1-breadcrumb-separator{font-family:var(--font-body, "DM Sans", sans-serif);font-size:1.7vh;line-height:2.2vh;font-weight:300;color:var(--text-secondary);margin:0 .5vw;flex-shrink:0;opacity:.6}.m1-breadcrumb-text{font-family:var(--font-body, "DM Sans", sans-serif);font-size:1.7vh;line-height:2.2vh;font-weight:300;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;transition:color .3s ease,text-shadow .3s ease,filter .3s ease}.m1-user-avatar-container{flex-shrink:0;width:3vh;height:3vh}.m1-user-avatar{width:3vh;height:3vh;border-radius:50%;border:.01vw solid var(--border-default);overflow:hidden;display:flex;align-items:center;justify-content:center;background-color:var(--bg-card)}.m1-avatar-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.m1-avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--accent-primary)}.m1-avatar-initials{font-family:Saira,sans-serif;font-size:1.203vh;font-weight:400;color:var(--text-heading);text-transform:uppercase}@media screen and (max-width: 31.3vw){.m1-breadcrumb{margin-left:.8vw;margin-right:.2vw}.m1-breadcrumb-text{font-size:1.55vh;line-height:2vh;font-weight:300}.m1-breadcrumb-separator{font-size:1.55vh;line-height:2vh;margin:0 .3vw}.m1-breadcrumb-node{max-width:20vw}}@media screen and (min-width: 31.4vw) and (max-width: 53.3vw){.m1-header{padding:0 1.5vw}.m1-breadcrumb{margin-left:1.2vw;margin-right:.4vw}}@media screen and (min-width: 53.4vw){.m1-header{padding:0 2vw}.m1-breadcrumb{margin-left:1.5vw;margin-right:.5vw}}.m1-practice-text-container{width:100%;height:100%;background-color:var(--bg-secondary);border-radius:1vh;border:.01vh solid var(--border-default);padding:1.5vh 1.5vw;box-sizing:border-box;display:flex;flex-direction:column;gap:1vh;margin:0}.m1-practice-text-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1vh}.m1-practice-title{font-family:Saira,sans-serif;font-size:2.2vh;line-height:2.5vh;font-weight:600;color:var(--text-heading);margin:0}.m1-practice-progress{display:flex;flex-direction:column;align-items:flex-end;gap:.5vh}.progress-text{font-family:DM Sans,sans-serif;font-size:1.1vh;line-height:1.4vh;font-weight:400;color:var(--text-secondary);white-space:nowrap}.progress-bar{width:15vw;height:.4vh;background-color:var(--bg-tertiary);border-radius:.2vh;overflow:hidden}.progress-fill{height:100%;background-color:var(--accent-primary);transition:width .3s ease;border-radius:.2vh}.m1-practice-text-area{flex:1;overflow-y:auto;padding:1vh 0;line-height:1.8;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;position:relative;max-height:50vh}.m1-practice-text-area[dir=rtl]{text-align:right;direction:rtl}.practice-text-content{font-family:Source Code Pro,monospace;font-size:2.2vh;line-height:3vh;font-weight:400;word-wrap:break-word;white-space:pre-wrap;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.practice-text-content[dir=rtl]{text-align:right;direction:rtl}.practice-text-content.has-hebrew{text-align:right}.practice-char.rtl-char{direction:rtl;unicode-bidi:bidi-override;display:inline-block}.practice-char.script-hebrew{font-family:Arial Hebrew,Times New Roman,serif;font-size:1.1em;direction:rtl;unicode-bidi:bidi-override}.current-char.current-script-hebrew{border-color:#4a90e2;background-color:#4a90e233}.practice-char{position:relative;transition:all .2s ease}.practice-char.script-arabic{font-family:Amiri,Times New Roman,serif;font-size:2.4vh}.practice-char.script-cyrillic{font-family:"PT Serif",Times New Roman,serif}.practice-char.script-greek{font-family:GFS Neohellenic,Times New Roman,serif}.practice-char.script-devanagari{font-family:Poppins,Arial,sans-serif;font-size:2.3vh}.practice-char.script-chinese,.practice-char.script-japanese{font-family:Noto Sans SC,SimSun,sans-serif;font-size:2.4vh;line-height:3.2vh}.practice-char.script-korean{font-family:Noto Sans KR,sans-serif;font-size:2.4vh}.practice-char.script-thai{font-family:Sarabun,sans-serif;font-size:2.3vh}.practice-char.typed-correct{color:var(--success-text, #96C9A4);background-color:#96c9a41a}.practice-char.typed-incorrect{color:var(--error-text, #E4A1A1);background-color:#e4a1a11a;text-decoration:underline;text-decoration-color:var(--error-text, #E4A1A1)}.practice-char.current-char{color:var(--text-heading);background-color:var(--accent-primary);border-radius:.2vh;padding:.1vh .1vw;animation:pulse-current 1.5s infinite;font-weight:600;position:relative;box-shadow:0 0 .5vh var(--accent-primary);text-shadow:0 0 .1vh rgba(0,0,0,.5);z-index:5}.practice-char.current-char.current-script-hebrew,.practice-char.current-char.current-script-arabic{font-size:2.6vh;padding:.1vh .3vw}.practice-char.current-char.current-script-chinese,.practice-char.current-char.current-script-japanese,.practice-char.current-char.current-script-korean{font-size:2.6vh;padding:.2vh .2vw}.practice-char.current-char.blocked-input{color:var(--mode-theme, #ffe6c8);background-color:#ff004066;border:.1vh solid #ff0040;box-shadow:0 0 .2vh #ff0040cc;text-shadow:0 0 .02vh #ff0040;animation:blocked-pulse .6s infinite,shake-horizontal .4s ease-in-out;z-index:10}.practice-char.untyped-char{color:var(--text-primary);opacity:.7}@keyframes pulse-current{0%,to{background-color:var(--accent-primary);opacity:1;box-shadow:0 0 .5vh var(--accent-primary)}50%{background-color:#c7b783cc;opacity:.9;box-shadow:0 0 .8vh var(--accent-primary)}}@keyframes blocked-pulse{0%,to{background-color:#ff004066;box-shadow:0 0 .2vh #ff0040cc}50%{background-color:#ff0040b3;box-shadow:0 0 .4vh #ff0040}}@keyframes shake-horizontal{0%,to{transform:translate(0)}25%{transform:translate(-.2vw)}75%{transform:translate(.2vw)}}.m1-practice-status{display:flex;justify-content:center;align-items:center;padding:1vh 0;border-top:.01vh solid var(--border-light)}.status-active{font-family:DM Sans,sans-serif;font-size:1.2vh;line-height:1.5vh;font-weight:500;color:var(--accent-primary)}.status-paused{font-family:DM Sans,sans-serif;font-size:1.2vh;line-height:1.5vh;font-weight:500;color:var(--text-secondary)}.m1-practice-text-container.paused{opacity:.7;filter:grayscale(.3)}.m1-practice-text-container.paused .practice-text-content{pointer-events:none}.m1-practice-text-container.loading{opacity:.7;pointer-events:none}.practice-text-loading{display:flex;justify-content:center;align-items:center;height:100%;width:100%}.practice-text-loading p{font-family:DM Sans,sans-serif;font-size:1.4vh;color:var(--text-secondary)}.m1-practice-text-area.waiting{opacity:.7;filter:blur(.05vh)}.status-waiting{color:var(--warning-text, #C7B783)}.m1-practice-text-container.not-started .current-char{animation:none}@media screen and (max-width: 48vw){.m1-practice-text-container{padding:1vh 1vw;gap:.8vh}.m1-practice-title{font-size:1.8vh;line-height:2vh}.practice-text-content{font-size:1.8vh;line-height:2.4vh}.practice-char.script-hebrew,.practice-char.script-arabic,.practice-char.script-chinese,.practice-char.script-japanese,.practice-char.script-korean{font-size:2vh}.progress-bar{width:20vw}.progress-text{font-size:.9vh}.m1-practice-text-header{margin-bottom:.5vh}}.text-line{display:block;width:100%;margin:.5em 0;padding:0;min-height:1.5em}.text-line.has-hebrew{direction:rtl;text-align:right}.text-segment{display:inline-block;margin:0 .25em;padding:.25em 0}.text-segment.script-hebrew{text-align:right;direction:rtl;unicode-bidi:bidi-override;font-family:Arial Hebrew,Times New Roman,serif;font-size:1.1em}.text-segment.script-latin{text-align:left;direction:ltr}.practice-text-content br{display:block;content:"";margin:.5em 0}.m1-audio-section{display:flex;flex-direction:column;justify-content:center;gap:1dvw;width:100%;height:100%;padding:0 1dvw;box-sizing:border-box}.m1-audio-icon{width:3dvh;height:2dvh;border-radius:.3dvh;border:.01dvh solid var(--border-default);display:flex;align-items:center;justify-content:center;background-color:var(--bg-tertiary);margin:0 auto;cursor:pointer;transition:all .2s ease}.m1-audio-icon:hover{background-color:var(--bg-secondary);filter:drop-shadow(0 0 .04dvh var(--accent-primary))}.m1-audio-player{display:flex;flex-direction:column;width:100%;height:2dvh;position:relative}.m1-audio-controls{display:flex;align-items:center;gap:.1dvw;width:100%;border-radius:.2dvh;padding:0 .5dvw;background-color:var(--bg-tertiary);position:relative;z-index:2}.m1-audio-controls:hover{filter:drop-shadow(0 0 .02dvh var(--accent-secondary))}.m1-audio-progress{flex:1;width:.15dvw;min-height:.2dvh;background-color:var(--border-default);border-radius:.05dvh;position:relative;cursor:pointer;overflow:hidden}.m1-audio-progress-fill{position:absolute;top:0;left:0;height:100%;background-color:var(--accent-primary);filter:drop-shadow(0 0 .01dvh var(--accent-primary))}.m1-audio-info{display:flex;align-items:center;gap:.2dvw;width:100%;overflow:hidden}.m1-audio-title{font-size:.9dvh;line-height:1.2dvh;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.m1-no-audio{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--text-secondary);font-size:1dvh;line-height:1.4dvh;text-align:center;opacity:.7}@media screen and (max-width: 48dvw){.m1-audio-section{gap:.8dvw;padding:0 .8dvw}.m1-audio-icon{width:2.5dvh;height:1.8dvh;font-size:.9dvh}.m1-audio-controls{gap:.08dvw;padding:0 .3dvw}.m1-audio-progress{width:.18dvw}.m1-audio-info{gap:.15dvw;font-size:.8dvh;line-height:1.1dvh}}.m1-video-section{display:flex;align-items:center;gap:1vw;width:100%;height:100%;padding:0 1vw;box-sizing:border-box}.m1-video-container{position:relative;width:4vh;height:2.2vh;border-radius:.3vh;overflow:hidden;flex-shrink:0;background-color:var(--bg-tertiary);cursor:pointer}.m1-video-thumbnail{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.m1-thumbnail-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:inherit}.m1-video-player{position:relative;width:100%;height:100%}.m1-video-element{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:inherit}.m1-play-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background-color:#0000004d;transition:all .2s ease;border-radius:inherit}.m1-play-button{width:1.2vh;height:1.2vh;border-radius:50%;background-color:#ffffffe6;color:var(--text-primary);display:flex;align-items:center;justify-content:center;font-size:.6vh;transition:all .2s ease}.m1-video-container:hover .m1-play-overlay{background-color:#00000080}.m1-video-container:hover .m1-play-button{background-color:var(--accent-primary);color:#fff;filter:drop-shadow(0 0 .02vh var(--accent-primary));transform:scale(1.1)}.m1-video-info{flex:1;display:flex;flex-direction:column;justify-content:center;min-width:0}.m1-video-title{font-family:DM Sans,sans-serif;font-size:1vh;line-height:1.4vh;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m1-video-type{font-family:DM Sans,sans-serif;font-size:.8vh;line-height:1.1vh;font-weight:400;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m1-video-expand-btn{width:2.5vh;height:2vh;border-radius:.3vh;border:.01vh solid var(--border-default);background-color:var(--bg-card);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease;font-size:.9vh;line-height:1}.m1-video-expand-btn:hover{opacity:.9;filter:drop-shadow(0 0 .04vh var(--accent-primary))}.m1-video-section-empty,.m1-video-section-error{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-family:DM Sans,sans-serif;font-size:1vh;line-height:1.4vh;font-weight:400;color:var(--text-secondary);font-style:italic}.m1-video-section-error{color:var(--accent-error, #ff4444)}@media screen and (max-width: 48vw){.m1-video-section{gap:.8vw;padding:0 .8vw}.m1-video-container{width:3.5vh;height:2vh}.m1-play-button{width:1vh;height:1vh;font-size:.5vh}.m1-video-title{font-size:.9vh;line-height:1.3vh}.m1-video-type{font-size:.7vh;line-height:1vh}.m1-video-expand-btn{width:2.2vh;height:1.8vh;font-size:.8vh}}.m1-support-section{display:flex;align-items:center;gap:1vw;width:100%;height:100%;padding:0 1vw;box-sizing:border-box}.m1-support-count{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:3vh;flex-shrink:0}.m1-count-number{font-family:Saira,sans-serif;font-size:1.1vh;line-height:1.3vh;font-weight:600;color:var(--accent-primary)}.m1-count-label{font-family:DM Sans,sans-serif;font-size:.7vh;line-height:.9vh;font-weight:400;color:var(--text-secondary)}.m1-support-preview{flex:1;display:flex;align-items:center;gap:.5vw;overflow:hidden}.m1-support-file-icon{width:1.2vh;height:1.2vh;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0;font-size:1vh;line-height:1}.m1-support-file-icon:hover{transform:scale(1.1);filter:drop-shadow(0 0 .02vh var(--accent-primary))}.m1-support-more{font-family:DM Sans,sans-serif;font-size:.7vh;line-height:.9vh;font-weight:500;color:var(--text-secondary);background-color:var(--bg-tertiary);border-radius:.3vh;padding:.1vh .3vw;flex-shrink:0}.m1-support-expand-btn{width:2vh;height:1.3vh;border-radius:.3vh;border:.01vh solid var(--border-default);background-color:var(--bg-card);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease;font-size:.8vh;line-height:1}.m1-support-expand-btn:hover{opacity:.9;filter:drop-shadow(0 0 .04vh var(--accent-primary))}.m1-support-section-empty{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-family:DM Sans,sans-serif;font-size:.9vh;line-height:1.2vh;font-weight:400;color:var(--text-secondary);font-style:italic}@media screen and (max-width: 48vw){.m1-support-section{gap:.8vw;padding:0 .8vw}.m1-support-count{min-width:2.5vh}.m1-count-number{font-size:1vh;line-height:1.2vh}.m1-count-label{font-size:.6vh;line-height:.8vh}.m1-support-preview{gap:.4vw}.m1-support-file-icon{width:1vh;height:1vh;font-size:.9vh}.m1-support-more{font-size:.6vh;line-height:.8vh;padding:.05vh .2vw}.m1-support-expand-btn{width:1.8vh;height:1.2vh;font-size:.7vh}}.m1-progress-diamonds{position:absolute;left:2vh;top:1vh;width:5vw;height:40vh;z-index:50;overflow-y:auto;overflow-x:hidden;pointer-events:auto;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none}.m1-progress-diamonds::-webkit-scrollbar{display:none}.m1-diamonds-inner{position:relative;height:90vh;pointer-events:none}.m1-brain{position:absolute;left:50%;width:3vw;height:3vw;transform:translate(-50%);cursor:pointer;pointer-events:auto;transition:all .3s ease;transform-style:preserve-3d;transform-origin:center center;display:flex;align-items:center;justify-content:center}.m1-brain-icon{width:100%;height:100%;transition:all .3s ease}.m1-brain--pending .m1-brain-icon{color:var(--blue-gamified)}.m1-brain--mastered .m1-brain-icon{color:var(--green-gamified)}.m1-brain--needs-work .m1-brain-icon{color:var(--red-gamified)}.m1-brain--active{opacity:1}.m1-brain--active .m1-brain-icon{filter:drop-shadow(0 0 .2vw currentColor)}.m1-brain:hover,.m1-brain:active{opacity:1;z-index:100;transform:translate(-50%) scale(1.3);animation:m1-brain-spin .5s ease-out forwards;transition:transform .3s ease,z-index .3s ease}.m1-brain--pending:hover .m1-brain-icon,.m1-brain--pending:active .m1-brain-icon{color:var(--blue-gamified);filter:drop-shadow(0 0 .05vw var(--blue-gamified)) drop-shadow(0 0 .1vw var(--blue-gamified)) drop-shadow(0 0 .15vw var(--blue-gamified)) drop-shadow(0 0 .3vw var(--blue-gamified))}.m1-brain--mastered:hover .m1-brain-icon,.m1-brain--mastered:active .m1-brain-icon{color:var(--green-gamified);filter:drop-shadow(0 0 .05vw var(--green-gamified)) drop-shadow(0 0 .1vw var(--green-gamified)) drop-shadow(0 0 .15vw var(--green-gamified)) drop-shadow(0 0 .3vw var(--green-gamified))}.m1-brain--needs-work:hover .m1-brain-icon,.m1-brain--needs-work:active .m1-brain-icon{color:var(--red-gamified);filter:drop-shadow(0 0 .05vw var(--red-gamified)) drop-shadow(0 0 .1vw var(--red-gamified)) drop-shadow(0 0 .15vw var(--red-gamified)) drop-shadow(0 0 .3vw var(--red-gamified))}@keyframes m1-brain-spin{0%{transform:translate(-50%) rotateY(0) scale(1.3)}to{transform:translate(-50%) rotateY(360deg) scale(1.3)}}.m1-brain:focus{outline:none;opacity:1;z-index:100;transform:translate(-50%) scale(1.3);animation:m1-brain-spin .5s ease-out forwards;transition:transform .3s ease,z-index .3s ease}.m1-brain--pending:focus .m1-brain-icon{color:var(--blue-gamified);filter:drop-shadow(0 0 .05vw var(--blue-gamified)) drop-shadow(0 0 .1vw var(--blue-gamified)) drop-shadow(0 0 .15vw var(--blue-gamified)) drop-shadow(0 0 .3vw var(--blue-gamified))}.m1-brain--mastered:focus .m1-brain-icon{color:var(--green-gamified);filter:drop-shadow(0 0 .05vw var(--green-gamified)) drop-shadow(0 0 .1vw var(--green-gamified)) drop-shadow(0 0 .15vw var(--green-gamified)) drop-shadow(0 0 .3vw var(--green-gamified))}.m1-brain--needs-work:focus .m1-brain-icon{color:var(--red-gamified);filter:drop-shadow(0 0 .05vw var(--red-gamified)) drop-shadow(0 0 .1vw var(--red-gamified)) drop-shadow(0 0 .15vw var(--red-gamified)) drop-shadow(0 0 .3vw var(--red-gamified))}@media screen and (max-width: 48vw){.m1-brain{width:4vw;height:4vw}.m1-progress-diamonds{left:2vh;width:6vw;height:30vh}.m1-diamonds-inner{height:120vh}.m1-brain:hover,.m1-brain:active,.m1-brain:focus{transform:translate(-50%) scale(1.4)}@keyframes m1-brain-spin{0%{transform:translate(-50%) rotateY(0) scale(1.4)}to{transform:translate(-50%) rotateY(360deg) scale(1.4)}}}.m1-diamonds-loading{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-family:DM Sans,sans-serif;font-size:1.2vh;padding:1vh;background:#0000000d;border-radius:.5vh;text-align:center}.m1-brain--recommended{color:#4285f4;filter:drop-shadow(0 0 .2vh rgba(66,133,244,.8))}.m1-stats-bar{position:relative;flex:1;height:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;background-color:transparent}.m1-stats-container{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:1.2dvh .6dvw;width:100%;height:100%;align-items:center;justify-items:center}.m1-stat{display:flex;align-items:center;gap:.8dvw;width:100%;border-radius:.8dvh;cursor:pointer;transition:all .3s ease;background-color:transparent;opacity:.85;min-height:5dvh;box-sizing:border-box}.m1-stat:hover{background-color:transparent;opacity:1;transform:translateY(-.1dvh);filter:drop-shadow(0 0 .3dvh rgba(255,255,255,.2))}.m1-stat-icon{display:flex;align-items:center;justify-content:center;width:2.8dvh;height:2.8dvh;flex-shrink:0}.m1-stat-icon svg{width:2dvh;height:2dvh;filter:drop-shadow(0 0 .1dvh rgba(255,255,255,.3))}.m1-stat-data{display:flex;flex-direction:column;align-items:flex-start;gap:.1dvh;min-width:0}.m1-stat-value{font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:2dvh!important;line-height:1.8dvh;font-weight:500;white-space:nowrap;transition:all .3s ease}.m1-stat-label{font-family:var(--font-body, "DM Sans", sans-serif);font-size:1.1dvh;line-height:1.4dvh;font-weight:300;color:var(--text-secondary);white-space:nowrap;text-transform:uppercase;letter-spacing:.02dvw;opacity:.8}.m1-stat-primary{color:var(--accent-primary, #c7b783)}.m1-stat-success{color:var(--green-gamified, #00ff41)}.m1-stat-info{color:var(--accent-secondary, #00b3ff)}.m1-stat-tertiary{color:var(--accent-tertiary, #00ff41)}.m1-stat-purple{color:#9c27b0}.m1-stat-energy{color:gold}.m1-stat:hover .m1-stat-value{text-shadow:0 0 .2dvh currentColor;filter:drop-shadow(0 0 .1dvh currentColor)}.m1-stat:hover .m1-stat-label{opacity:1;color:var(--text-primary)}@media screen and (max-width: 48dvw){.m1-stats-container{gap:.8dvh .4dvw}.m1-stat-value{font-size:1.8dvh!important}.m1-stat-label{font-size:1dvh}}.m1-pause-button-container{display:flex;align-items:center;justify-content:center;width:6dvh;height:6dvh;flex-shrink:0}.m1-pause-button{width:100%;height:100%;border-radius:3dvh;border:.01dvh solid var(--border-default);background-color:var(--bg-card);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 0 .5dvh #0003;position:relative;overflow:hidden}.m1-pause-button:hover{filter:drop-shadow(0 0 .4dvh var(--accent-primary));transform:translateY(-.1dvh)}.m1-pause-button.pressed{transform:translateY(.1dvh);box-shadow:0 0 .2dvh #0000004d}.m1-pause-icon{width:2.5dvh;height:2.5dvh;transition:all .3s ease}.m1-pause-button.playing .m1-pause-icon{color:var(--text-primary)}.m1-pause-button.paused .m1-pause-icon{color:var(--accent-primary)}@media screen and (max-width: 48dvw){.m1-pause-button-container{width:5dvh;height:5dvh}.m1-pause-button{border-radius:2.5dvh}.m1-pause-icon{width:2dvh;height:2dvh}}.mobile-completion-overlay{position:fixed;top:0;left:0;width:100dvw;height:100dvh;display:flex!important;align-items:center;justify-content:center;background-color:#000000d9;z-index:10000!important;backdrop-filter:blur(1dvh);-webkit-backdrop-filter:blur(1dvh);animation:fadeIn .3s ease-out;pointer-events:auto;visibility:visible!important}.mobile-completion-content{position:relative;width:90%;max-width:90dvw;background-color:var(--bg-card, #1e1e1e);border-radius:2dvh;padding:3dvh 2dvw;box-shadow:0 1dvh 4dvh #0000004d;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;opacity:1!important;transform:translateY(0)!important;transition:none!important;visibility:visible!important}.mobile-completion-content.animate-in{animation:none!important;opacity:1!important;transform:translateY(0)!important}.completion-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80dvw;height:80dvw;border-radius:50%;opacity:.15!important;filter:blur(5dvh);pointer-events:none;transition:none!important}.animate-in .completion-glow{opacity:.15!important;animation:glowPulse 3s ease-in-out infinite}.completion-glow.excellent{background:radial-gradient(circle,#FFD700,transparent 70%)}.completion-glow.good{background:radial-gradient(circle,#4CAF50,transparent 70%)}.completion-glow.average{background:radial-gradient(circle,#2196F3,transparent 70%)}.completion-glow.poor{background:radial-gradient(circle,#F44336,transparent 70%)}.completion-title{font-size:3dvh;font-weight:600;color:#fff;margin:0 0 2.5dvh;text-align:center;z-index:1;position:relative}.stats-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5dvh;width:100%;margin-bottom:2.5dvh;z-index:1;position:relative}.summary-item{display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#ffffff0d;border-radius:1.5dvh;padding:1.5dvh 1dvw;transition:transform .3s ease,opacity .3s ease;opacity:1;transform:translateY(0)}.animate-in .summary-item{animation:itemFadeIn .5s ease-out forwards}.summary-label{font-size:1.4dvh;color:#ffffffb3;margin-bottom:.5dvh;text-transform:uppercase;letter-spacing:.1dvw;font-weight:500}.summary-value{font-size:2.5dvh;font-weight:700;color:#fff}.summary-value.time{color:#64b5f6}.summary-value.speed{color:#ffd54f}.summary-value.accuracy{color:#81c784}.summary-value.errors{color:#e57373}.performance-indicator{width:80%;height:15dvh;margin:2dvh 0;position:relative}.performance-ring{width:12dvh;height:12dvh;border-radius:50%;position:relative;margin:0 auto}.accuracy-track{width:100%;height:100%;border-radius:50%;border:.8dvh solid rgba(255,255,255,.1);box-sizing:border-box}.accuracy-progress{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;border:.8dvh solid transparent;border-top-color:#4caf50;border-right-color:#4caf50;box-sizing:border-box;transform:rotate(45deg);transition:transform 1s ease-out}.performance-indicator.excellent .accuracy-progress{border-top-color:gold;border-right-color:gold}.performance-indicator.good .accuracy-progress{border-top-color:#4caf50;border-right-color:#4caf50}.performance-indicator.average .accuracy-progress{border-top-color:#2196f3;border-right-color:#2196f3}.performance-indicator.poor .accuracy-progress{border-top-color:#f44336;border-right-color:#f44336}.accuracy-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:3dvh;font-weight:700;color:#fff;text-align:center;display:flex;flex-direction:column;align-items:center}.animate-in .accuracy-progress{animation:circleReveal 1.5s ease-out forwards}.completion-message{font-size:2dvh;color:#ffffffe6;text-align:center;margin:0 0 2.5dvh;max-width:90%;line-height:1.4;opacity:0;transform:translateY(1dvh);z-index:1;position:relative}.animate-in .completion-message{animation:fadeSlideUp .5s ease-out .3s forwards}.completion-actions{display:flex;gap:2dvw;margin-top:2dvh;opacity:0;transform:translateY(1dvh);z-index:1;position:relative}.animate-in .completion-actions{animation:fadeSlideUp .5s ease-out .5s forwards}.action-button{padding:1.2dvh 3dvw;border-radius:5dvh;font-size:1.8dvh;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;outline:none;min-width:25dvw;text-align:center}.retry-button{background-color:#ffffff1a;color:#fff;border:.1dvh solid rgba(255,255,255,.2)}.next-button{background-color:#4caf50;color:#fff;box-shadow:0 .3dvh .6dvh #4caf504d}.retry-button:hover,.retry-button:focus{background-color:#ffffff26;transform:translateY(-.3dvh)}.next-button:hover,.next-button:focus{background-color:#43a047;transform:translateY(-.3dvh);box-shadow:0 .4dvh .8dvh #4caf5066}.action-button:active{transform:translateY(0);opacity:.9}@keyframes slideUp{0%{opacity:0;transform:translateY(2dvh)}to{opacity:1;transform:translateY(0)}}@keyframes itemFadeIn{0%{opacity:0;transform:translateY(2dvh)}to{opacity:1;transform:translateY(0)}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(1dvh)}to{opacity:1;transform:translateY(0)}}@keyframes glowPulse{0%{opacity:.1;transform:translate(-50%,-50%) scale(.9)}50%{opacity:.2;transform:translate(-50%,-50%) scale(1)}to{opacity:.1;transform:translate(-50%,-50%) scale(.9)}}@keyframes circleReveal{0%{transform:rotate(45deg)}to{transform:rotate(calc(45deg + var(--accuracy-rotation, 270deg)))}}@media screen and (max-height: 600px){.mobile-completion-content{padding:2dvh 1.5dvw;border-radius:1.5dvh}.completion-title{font-size:2.5dvh;margin-bottom:2dvh}.summary-item{padding:1dvh .8dvw}.summary-value{font-size:2.2dvh}.performance-ring{width:10dvh;height:10dvh}.accuracy-text{font-size:2.5dvh}.completion-message{font-size:1.8dvh}.action-button{padding:1dvh 2.5dvw;font-size:1.6dvh}}.mobile-question-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;display:flex;align-items:center;justify-content:center;background-color:#000000b3;-webkit-backdrop-filter:blur(.6dvh);backdrop-filter:blur(.6dvh);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.mobile-question-overlay.visible{opacity:1;visibility:visible}.overlay-content{background-color:#fff;color:#333;width:90%;max-width:90dvw;border-radius:2dvh;overflow:hidden;box-shadow:0 1dvh 2.5dvh #0000004d;max-height:80dvh;opacity:0;transform:translateY(2dvh) scale(.95);transition:all .3s ease-out}.mobile-question-overlay.animate-in .overlay-content{opacity:1;transform:translateY(0) scale(1)}.question-header{background-color:#007bff;color:#fff;padding:1.5dvh;text-align:center;position:relative;z-index:10}.question-header h2{margin:0;font-size:2.5dvh;font-weight:600}.question-content{padding:2dvh;display:flex;flex-direction:column;gap:1.5dvh;overflow-y:auto;max-height:60dvh}.question-text{font-size:2dvh;line-height:1.6;margin-bottom:1dvh;color:#333}.answer-input-container{width:100%}.answer-textarea{width:100%;padding:1.2dvh;font-size:1.8dvh;line-height:1.5;border:.1dvh solid #ccc;border-radius:1dvh;resize:none;font-family:inherit;min-height:15dvh}.answer-textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 .2dvh #007bff33}.support-files-list{display:flex;flex-direction:column;gap:1dvh;max-height:40dvh;overflow-y:auto}.no-supports-message{color:#666;font-size:1.6dvh;text-align:center;padding:2dvh;font-style:italic}.support-file-item{display:flex;align-items:center;gap:1dvw;padding:1.2dvh;border-radius:1dvh;background-color:#f5f5f5;cursor:pointer;transition:all .2s ease;border:.1dvh solid transparent}.support-file-item:hover{background-color:#eee}.support-file-item.selected{background-color:#007bff1a;border-color:#007bff}.file-icon{width:4dvh;height:4dvh;display:flex;align-items:center;justify-content:center;background-color:#007bff;color:#fff;border-radius:.8dvh;font-size:2dvh;flex-shrink:0}.file-details{flex:1;overflow:hidden}.file-details h3{margin:0;font-size:1.8dvh;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#333}.file-details p{margin:.4dvh 0 0;font-size:1.4dvh;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rating-container{display:flex;flex-direction:column;align-items:center;gap:2dvh;padding:1dvh 0}.stars-container{display:flex;gap:1dvw}.star{font-size:4dvh;color:#ccc;cursor:pointer;transition:color .2s ease,transform .2s ease}.star:hover{transform:scale(1.1)}.star.active{color:gold}.rating-label{font-size:1.6dvh;color:#666;margin-top:1dvh}.review-textarea{width:40%;padding:1.2dvh;font-size:1.6dvh;line-height:1.5;border:.1dvh solid #ccc;border-radius:1dvh;resize:none;font-family:inherit;min-height:10dvh}.review-textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 .2dvh #007bff33}.mcq-options-list{display:flex;flex-direction:column;gap:1.2dvh;width:100%}.mcq-option{display:flex;align-items:center;gap:1dvw;padding:1.5dvh;border-radius:1dvh;background-color:#f5f5f5;cursor:pointer;transition:all .2s ease;border:.1dvh solid transparent}.mcq-option:hover{background-color:#eee}.mcq-option.selected{background-color:#007bff1a;border-color:#007bff}.option-marker{width:2.4dvh;height:2.4dvh;border-radius:50%;border:.2dvh solid #007bff;display:flex;align-items:center;justify-content:center;font-size:1.4dvh;font-weight:600;color:#007bff;background-color:#fff;flex-shrink:0}.mcq-option.selected .option-marker{background-color:#007bff;color:#fff}.option-text{font-size:1.8dvh;line-height:1.4;color:#333}.question-actions{display:flex;justify-content:flex-end;padding:1.5dvh 2dvh;gap:1dvw}.action-button{padding:1.2dvh 2.5dvw;border-radius:5dvh;font-size:1.8dvh;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;outline:none;min-width:12dvw;text-align:center}.next-button{background-color:#007bff;color:#fff;box-shadow:0 .2dvh .4dvh #007bff4d}.next-button:hover{background-color:#0069d9}.submit-button{background-color:#28a745;color:#fff;box-shadow:0 .2dvh .4dvh #28a7454d}.submit-button:hover{background-color:#218838}.submit-button:disabled{background-color:#6c757d;cursor:not-allowed;box-shadow:none;opacity:.7}@media screen and (max-height: 600px){.overlay-content{max-height:85dvh;border-radius:1.5dvh}.question-header h2{font-size:2dvh}.action-button{padding:1dvh 2dvw;font-size:1.6dvh}.question-content{padding:1.5dvh;max-height:70dvh}.star{font-size:3.5dvh}.answer-textarea{min-height:12dvh}}.mobile-ai-feedback-overlay{position:fixed;top:0;left:0;width:100dvw;height:100dvh;display:flex;justify-content:center;align-items:center;background-color:#000000d9;z-index:1000;transition:opacity .3s ease}.mobile-ai-feedback-container{width:90%;max-width:90dvw;max-height:80dvh;background:linear-gradient(180deg,#1a1a2e,#16213e);border-radius:2dvh;box-shadow:0 0 2dvh #00ffff4d;border:.1dvh solid rgba(0,255,255,.2);overflow:hidden;display:flex;flex-direction:column;transform:translateY(3dvh);opacity:0;transition:transform .3s ease,opacity .3s ease}.mobile-ai-feedback-container.animate-in{transform:translateY(0);opacity:1}.ai-feedback-header{padding:2dvh 2dvw;text-align:center;border-bottom:.1dvh solid rgba(0,255,255,.2)}.ai-feedback-header h2{margin:0;color:#0ff;font-size:2.8dvh;font-weight:600}.mastery-score{margin-top:1dvh;font-size:2dvh;color:#e2e8f0}.mastery-score .score-value{color:#0ff;font-weight:600;font-size:2.2dvh}.ai-step-indicator{display:flex;justify-content:center;align-items:center;gap:1dvw;padding:1.5dvh 1dvw;border-bottom:.1dvh solid rgba(0,255,255,.2)}.step-dot{width:1.2dvh;height:1.2dvh;border-radius:50%;background-color:#fff3;transition:all .3s ease}.step-dot.active{background-color:#0ff;transform:scale(1.2);box-shadow:0 0 1dvh #00ffff80}.step-dot.completed{background-color:#00ffff80}.ai-section-title{padding:1.5dvh 2dvw .5dvh;text-align:center}.ai-section-title h3{margin:0;color:#0ff;font-size:2.2dvh;font-weight:500}.ai-feedback-content{padding:1.5dvh 2dvw;overflow-y:auto;max-height:50dvh;color:#e2e8f0;font-size:1.8dvh;line-height:1.6}.bullet-point{display:flex;margin-bottom:1.2dvh;align-items:flex-start}.bullet-point:before{content:"•";margin-right:1dvw;color:#0ff}.general-feedback{margin-bottom:2dvh;padding-bottom:1dvh;border-bottom:.1dvh solid rgba(0,255,255,.1)}.ai-feedback-actions{padding:2dvh;display:flex;flex-direction:column;gap:1.5dvh;border-top:.1dvh solid rgba(0,255,255,.2)}.ai-last-step-actions{display:flex;flex-direction:column;gap:1.5dvh;width:100%}.ai-navigation-buttons{display:flex;justify-content:space-between;width:100%;gap:1dvw}.ai-navigation-buttons .action-button{flex:1;max-width:45%}.ai-secondary-buttons{display:flex;justify-content:space-between;width:100%;gap:1dvw}.ai-secondary-buttons .action-button{flex:1;max-width:45%}.action-button{padding:1.2dvh 2dvw;border-radius:5dvh;font-size:1.8dvh;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;outline:none;text-align:center;display:flex;align-items:center;justify-content:center;gap:.8dvw}.back-button{background-color:#ffffff1a;color:#e2e8f0}.back-button:hover{background-color:#ffffff26;transform:translateY(-.2dvh)}.next-button{background-color:#0ff;color:#1a1a2e;box-shadow:0 0 1dvh #00ffff4d}.next-button:hover{background-color:#00e6e6;transform:translateY(-.2dvh);box-shadow:0 0 1.5dvh #00ffff80}.close-button{background-color:#ffffff1a;color:#e2e8f0}.close-button:hover{background-color:#ffffff26}.review-button{background:linear-gradient(135deg,#ff7e5f,#feb47b);color:#1a1a2e;box-shadow:0 0 1dvh #ff7e5f4d;display:flex;align-items:center;justify-content:center;gap:.8dvw;font-weight:600}.review-button:hover{background:linear-gradient(135deg,#ff8d6f,#fec28b);transform:translateY(-.2dvh);box-shadow:0 0 1.5dvh #ff7e5f80}.next-practice-button{background:linear-gradient(135deg,#00b09b,#96c93d);color:#1a1a2e;box-shadow:0 0 1dvh #00b09b4d;display:flex;align-items:center;justify-content:center;gap:.8dvw;font-weight:600}.next-practice-button:hover{background:linear-gradient(135deg,#00c2ab,#a6d94d);transform:translateY(-.2dvh);box-shadow:0 0 1.5dvh #00b09b80}.repeat-button{background:linear-gradient(135deg,#3a7bd5,#00d2ff);color:#1a1a2e;box-shadow:0 0 1dvh #3a7bd54d;display:flex;align-items:center;justify-content:center;gap:.8dvw;font-weight:600}.repeat-button:hover{background:linear-gradient(135deg,#4a8be5,#10e2ff);transform:translateY(-.2dvh);box-shadow:0 0 1.5dvh #3a7bd580}.ai-feedback-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3dvh 0}.ai-feedback-spinner{width:5dvh;height:5dvh;border:.4dvh solid rgba(0,255,255,.1);border-top:.4dvh solid #00ffff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:2dvh}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ai-feedback-error{color:#ff6b6b;text-align:center;padding:2dvh;font-size:1.8dvh;line-height:1.6}.ai-feedback-content p{margin-bottom:1.5dvh;line-height:1.6}.ai-feedback-content strong,.ai-feedback-content b{color:#0ff;font-weight:600}.ai-feedback-content{animation:fadeIn .5s ease-out}@media (max-width: 320px){.ai-feedback-header h2{font-size:2.4dvh}.ai-section-title h3{font-size:2dvh}.action-button{padding:1dvh 1.5dvw;font-size:1.6dvh;gap:.5dvw}.ai-navigation-buttons{flex-direction:column}.review-button{margin-bottom:1dvh}.next-practice-button{margin-top:1dvh}}@media (min-width: 321px) and (max-width: 480px){.ai-last-step-actions{flex-direction:column}}.mobile-keyboard-container{position:fixed;bottom:0;left:0;width:100dvw;background-color:var(--color-surface);border-top:.1dvh solid var(--color-border);z-index:1000;padding:1dvh 0;box-shadow:0 -.2dvh 1dvh var(--color-overlay);-moz-user-select:none;user-select:none;-webkit-user-select:none;transition:transform .3s ease;transform-origin:bottom;animation:slideUp .3s ease-out;touch-action:none;-webkit-tap-highlight-color:transparent}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mobile-keyboard-header{display:flex;justify-content:space-between;align-items:center;padding:0 1.2dvw 1dvh;border-bottom:.1dvh solid var(--color-border);margin-bottom:1dvh}.mobile-keyboard-controls{display:flex;align-items:center;gap:1.2dvw;flex:1}.mobile-keyboard-title{font-size:1.4dvh;font-weight:600;color:var(--text-secondary);text-align:center;padding:.4dvh .8dvw;border-radius:.4dvh;background-color:var(--color-elevated);border:.1dvh solid var(--color-border);transition:all .3s ease}.mobile-keyboard-title.nikud-mode{background-color:var(--success-bg);border-color:var(--color-green);color:var(--color-green);font-weight:700}.mobile-keyboard-container.nikud-mode{background-color:var(--success-bg);border-top-color:var(--color-green)}.mobile-keyboard-container.nikud-mode .mobile-keyboard-row{background-color:transparent}.mobile-keyboard-key.nikud-key{background-color:var(--success-bg)!important;border:.1dvh solid var(--color-green)!important;color:var(--color-green)!important;font-size:5dvh!important;font-family:Arial Hebrew,Times New Roman,serif!important;font-weight:700!important;position:relative;transition:all .2s ease;height:6dvh!important;min-height:6dvh!important;padding:1dvh 1dvw!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:1.8!important;min-width:8dvw!important;text-align:center!important;line-height:1!important}.mobile-keyboard-key.nikud-key:hover{background-color:#dcfce7!important;border-color:#84cc16!important;transform:scale(1.05)}.mobile-keyboard-key.nikud-key:active{background-color:#bbf7d0!important;transform:scale(.95)}.mobile-keyboard-key.nikud-key-required{background-color:#ccfbf1!important;border:.2dvh solid #14b8a6!important;box-shadow:0 0 .8dvh #14b8a680!important;animation:pulse-nikud 1.5s infinite;position:relative;z-index:5}@keyframes pulse-nikud{0%{box-shadow:0 0 #14b8a6b3}70%{box-shadow:0 0 0 .6dvh #14b8a600}to{box-shadow:0 0 #14b8a600}}.mobile-keyboard-key.key-empty{background:transparent!important;border:none!important;cursor:default!important;pointer-events:none!important;box-shadow:none!important;flex:.1!important;visibility:hidden!important;min-width:1dvw!important}.mobile-keyboard-key.key-disabled{background-color:#f3f4f6!important;color:#9ca3af!important;opacity:.5!important;cursor:not-allowed!important;pointer-events:none!important}.mobile-keyboard-container.hebrew.nikud-mode .mobile-keyboard-key{font-family:Arial Hebrew,Times New Roman,serif;direction:ltr}.mobile-keyboard-container.hebrew.nikud-mode .mobile-keyboard-row{direction:ltr;justify-content:center;gap:.6dvw}.mobile-keyboard-container.hebrew.nikud-mode .mobile-keyboard-key:not(.key-empty){margin:0 .2dvw}.nikud-popup{display:none}.typing-guide-content .guide-section h4{color:#059669;font-size:1.6dvh;margin:1.6dvh 0 .8dvh}.guide-section .nikud-mode-info{background-color:#f0fdf4;border:.1dvh solid #bbf7d0;border-radius:.8dvh;padding:1.2dvh;margin:.8dvh 0}.guide-section .nikud-mode-info h5{color:#059669;font-size:1.4dvh;margin:0 0 .8dvh;font-weight:600}.guide-section .nikud-mode-info p{color:#065f46;font-size:1.2dvh;margin:0}@media (max-width: 37.5dvw){.mobile-keyboard-key.nikud-key{font-size:5dvh!important;height:5dvh!important;min-height:5dvh!important;padding:.8dvh .8dvw!important;min-width:7dvw!important;flex:1.6!important;padding-bottom:3dvh!important}.mobile-keyboard-title.nikud-mode{font-size:1.8dvh}}@media (max-width: 32dvw){.mobile-keyboard-key.nikud-key{font-size:5dvh!important;height:4.5dvh!important;min-height:4.5dvh!important;padding:.6dvh .6dvw!important;min-width:6dvw!important;flex:1.4!important}.mobile-keyboard-title.nikud-mode{font-size:1.6dvh}}.caps-toggle-button{display:flex;align-items:center;gap:.6dvw;background-color:#f3f4f6;border:.1dvh solid #d1d5db;border-radius:.4dvh;padding:.4dvh .8dvw;font-size:1.2dvh;color:#4b5563;cursor:pointer;transition:all .2s ease;position:relative;z-index:2;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}.caps-toggle-button .key-icon-wrapper{display:flex;align-items:center;justify-content:center;width:1.6dvh;height:1.6dvh}.caps-toggle-button .key-icon-wrapper svg{width:100%;height:100%;pointer-events:none}.caps-toggle-button.active{background-color:#4a90e2!important;color:#fff;border-color:#3b82f6;box-shadow:0 1px 3px #0000001a}.caps-toggle-button.active .key-icon-wrapper svg{fill:#fff}.caps-toggle-button span{font-weight:600;text-transform:uppercase;font-size:11px}.auto-switch-button{display:flex;align-items:center;gap:.6dvw;background-color:#f3f4f6;border:.1dvh solid #d1d5db;border-radius:.4dvh;padding:.4dvh .8dvw;font-size:1.2dvh;color:#4b5563;cursor:pointer;transition:all .2s ease;position:relative;z-index:2;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}.auto-switch-button.active{background-color:#4a90e2!important;color:#fff;border-color:#3b82f6;box-shadow:0 1px 3px #0000001a}.auto-switch-button span{font-weight:600;font-size:11px;white-space:nowrap}.mobile-keyboard{display:flex;flex-direction:column;gap:.8dvh;padding:0 .4dvw}.mobile-keyboard-row{display:flex;justify-content:space-between;width:100%;margin-bottom:.8dvh;overflow:visible;padding:0 .2dvw}.mobile-keyboard-key{min-width:8dvw;height:6dvh;border-radius:.6dvh;border:.1dvh solid var(--color-border);background-color:var(--color-bg)!important;color:var(--text-primary);font-size:2.5dvh;font-weight:500;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 .1dvh .3dvh var(--color-overlay);transition:all .1s ease;padding:1dvh 1dvw;margin:0 .5dvw;flex:1;position:relative;overflow:visible;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent!important;-webkit-touch-callout:none;z-index:1;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;outline:none!important;transform:translateZ(0);-webkit-transform:translateZ(0);backface-visibility:hidden}.mobile-keyboard-key:after{content:"";position:absolute;top:-1dvh;left:-1dvw;right:-1dvw;bottom:-1dvh;z-index:-1;cursor:pointer}.mobile-keyboard-key.key-pressed{background-color:var(--color-elevated)!important;transform:translateY(.1dvh);box-shadow:0 .1dvh .2dvh var(--color-overlay)}.mobile-keyboard-row .mobile-keyboard-key{margin:0 .5dvw;flex:1;min-height:6dvh}.key-icon-wrapper{display:flex;justify-content:center;align-items:center;width:100%;height:100%;pointer-events:none}.key-icon-wrapper svg{width:60%;height:60%;pointer-events:none;fill:currentColor}.mobile-keyboard-key.key-space{min-width:40dvw;flex:2}.mobile-keyboard-key.key-return{min-width:15dvw;background-color:#3b82f6!important;color:#fff}.mobile-keyboard-key.key-backspace,.mobile-keyboard-key.key-shift,.mobile-keyboard-key.key-globe,.mobile-keyboard-key.key-symbols,.mobile-keyboard-key.key-abc{min-width:11dvw;position:relative;z-index:2}.mobile-keyboard-key.key-shift.active{background-color:#4a90e2!important;color:#fff;box-shadow:inset 0 0 5px #0000004d}.mobile-keyboard-key.key-shift.active .key-icon-wrapper svg{fill:#fff;transform:scale(1.2)}.mobile-keyboard-container.hebrew{direction:rtl}.mobile-keyboard-container.hebrew .mobile-keyboard-key{font-family:Arial Hebrew,Times New Roman,serif;font-size:2.8dvh}.mobile-keyboard-container.hebrew .mobile-keyboard-row{flex-direction:row-reverse}.mobile-keyboard-container.hebrew .key-backspace,.mobile-keyboard-container.hebrew .key-shift,.mobile-keyboard-container.hebrew .key-return,.mobile-keyboard-container.hebrew .key-space,.mobile-keyboard-container.hebrew .key-globe,.mobile-keyboard-container.hebrew .key-symbols,.mobile-keyboard-container.hebrew .key-abc{transform:scaleX(1)}.mobile-keyboard-container.hebrew .key-suggestion-hint{direction:rtl;text-align:right}.mobile-keyboard-container.hebrew .suggestion-indicator{direction:ltr}@media (max-width: 37.5dvw){.mobile-keyboard-key{height:5dvh;font-size:2.2dvh}.key-symbols,.key-abc,.key-return{font-size:2dvh}.mobile-keyboard-container.hebrew .mobile-keyboard-key{font-size:2.5dvh}.caps-toggle-button{padding:.3dvh 1dvw;font-size:1.5dvh}.caps-toggle-button span{font-size:1.3dvh}.auto-switch-button{padding:.3dvh 1dvw;font-size:1.5dvh}.auto-switch-button span{font-size:1.3dvh}.mobile-keyboard-controls{flex-wrap:wrap;gap:1dvw}}@media (max-width: 32dvw){.mobile-keyboard-key{height:4.5dvh;font-size:2dvh}.mobile-keyboard{padding:.5dvh .5dvw}.mobile-keyboard-row{gap:.3dvw}.mobile-keyboard-controls{flex-wrap:wrap;gap:.8dvw}.caps-toggle-button .key-icon-wrapper{width:2dvh;height:2dvh}}.key-suggestion-hint{background-color:#f0f9ff;border:.1dvh solid #bae6fd;border-radius:.4dvh;padding:.6dvh 1dvw;margin:0 1.2dvw .8dvh;font-size:1.4dvh;color:#0369a1;text-align:center}.suggested-key-name{font-weight:700;background-color:#e0f2fe;padding:.2dvh .6dvw;border-radius:.3dvh;margin:0 .2dvw}.suggestion-action{color:#0891b2;font-style:italic}.mobile-keyboard-key.suggested-key{background-color:#e0f2fe!important;border:.2dvh solid #38bdf8!important;box-shadow:0 0 .8dvh #38bdf880!important;animation:pulse-suggestion 1.5s infinite;position:relative;z-index:5}@keyframes pulse-suggestion{0%{box-shadow:0 0 #38bdf8b3}70%{box-shadow:0 0 0 .6dvh #38bdf800}to{box-shadow:0 0 #38bdf800}}.suggestion-indicator{position:absolute;top:-2.4dvh;left:50%;transform:translate(-50%);background-color:#0ea5e9;color:#fff;padding:.2dvh .6dvw;border-radius:.4dvh;font-size:1dvh;white-space:nowrap;display:flex;flex-direction:column;align-items:center;z-index:10}.suggestion-arrow{color:#fff;font-size:1.4dvh;margin-bottom:-.4dvh}.suggestion-text{font-weight:600;font-size:.9dvh}.mobile-keyboard-row{padding-top:1.8dvh;margin-top:-1.6dvh}.bilingual-key-content{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%;position:relative}.bilingual-key-content.hebrew-primary{direction:rtl}.bilingual-key-content.hebrew-primary .primary-character{font-size:2dvh;font-weight:600}.bilingual-key-content.hebrew-primary .secondary-character{font-size:1.6dvh;color:#6b7280}.bilingual-key-content.hebrew-primary .key-hint{background:#dbeafe;border-color:#60a5fa;color:#1e40af;left:-.8dvw;right:auto}.primary-character{font-size:2dvh;font-weight:500;line-height:1;margin-bottom:.2dvh}.secondary-character{font-size:1.8dvh;font-weight:400;line-height:1;color:#4b5563;position:relative}.key-hint{position:absolute;top:-1.6dvh;right:-.8dvw;background:#fef3c7;border:.1dvh solid #fbbf24;color:#92400e;font-size:1.1dvh;border-radius:.3dvh;padding:0 .3dvw;line-height:1;opacity:.9;font-weight:600}.mobile-keyboard-container.hebrew .key-hint{left:-.8dvw;right:auto}.bilingual-toggle-button{display:flex;align-items:center;gap:.6dvw;background-color:#f3f4f6;border:.1dvh solid #d1d5db;border-radius:.4dvh;padding:.4dvh .8dvw;font-size:1.2dvh;color:#4b5563;cursor:pointer;transition:all .2s ease;position:relative;z-index:2;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}.bilingual-toggle-button.active{background-color:#e0f2fe;border-color:#38bdf8;color:#0369a1}.bilingual-toggle-button:hover{background-color:#e5e7eb}.mobile-keyboard-key{min-height:55px}@media (max-width: 37.5dvw){.mobile-keyboard-key{height:50px}.primary-character{font-size:18px}.secondary-character{font-size:16px}.key-hint{top:-14px;right:-6px;font-size:10px}.bilingual-toggle-button{padding:2px 6px;font-size:10px}}@media (max-width: 32dvw){.mobile-keyboard-key{height:45px}.primary-character{font-size:16px}.secondary-character{font-size:14px}.key-hint{top:-12px;font-size:9px}}.next-key-suggestion{display:flex;align-items:center;background-color:#f0fdfa;border:1px solid #5eead4;border-radius:4px;padding:4px 8px;margin:0 8px;font-size:14px;color:#0f766e;gap:6px}.next-key-label{font-weight:600}.next-key-value{background-color:#ccfbf1;padding:2px 6px;border-radius:3px;font-weight:700;color:#0f766e}.next-key-modifier{font-style:italic;font-weight:400;color:#0d9488}.mobile-keyboard-key.next-key-highlight{background-color:#ccfbf1!important;border:2px solid #2dd4bf!important;box-shadow:0 0 8px #14b8a680!important;animation:pulse-next-key 1.5s infinite;position:relative;z-index:5}@keyframes pulse-next-key{0%{box-shadow:0 0 #14b8a6b3}70%{box-shadow:0 0 0 6px #14b8a600}to{box-shadow:0 0 #14b8a600}}.next-key-indicator{position:absolute;top:-20px;left:50%;transform:translate(-50%);background-color:#ccfbf1;border:1px solid #2dd4bf;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#0f766e}.next-key-arrow{width:14px;height:14px}.key-hints-button{display:flex;align-items:center;gap:.6dvw;background-color:#f3f4f6;border:.1dvh solid #d1d5db;border-radius:.4dvh;padding:.4dvh .8dvw;font-size:1.2dvh;color:#4b5563;cursor:pointer;transition:all .2s ease;position:relative;z-index:2;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}.key-hints-button.active{background-color:#ccfbf1;border-color:#2dd4bf;color:#0f766e}.key-hints-button:hover{background-color:#e5e7eb}.nikud-popup{max-width:280px;background:#fff;border:1px solid #ccc;border-radius:8px;box-shadow:0 2px 10px #0003;padding:8px;display:flex;flex-direction:column;z-index:1000;font-family:Arial Hebrew,Times New Roman,serif}.nikud-popup-header{display:flex;align-items:center;justify-content:center;margin-bottom:12px;padding:8px;background-color:#f0f9ff;border-radius:6px;border:1px solid #3b82f6;position:relative}.nikud-popup-selected-letter{font-size:28px;font-weight:700;color:#1e40af;font-family:Arial Hebrew,Times New Roman,serif;margin-right:8px}.nikud-popup-header-text{font-size:14px;color:#1e40af;font-weight:600}.nikud-popup-close{position:absolute;top:0;right:0;background:none;border:none;color:#6b7280;font-size:16px;cursor:pointer;padding:4px;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}.nikud-popup-close:hover{background-color:#f3f4f6;color:#374151}.nikud-popup-close:active{background-color:#e5e7eb;transform:scale(.95)}.nikud-popup-close svg{width:12px;height:12px;fill:currentColor}.nikud-option{width:40px;height:40px;margin:4px;border:1px solid #ddd;border-radius:4px;background:#f8f8f8;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:#333;font-family:Arial Hebrew,Times New Roman,serif;font-weight:400;text-shadow:none}.nikud-option:hover,.nikud-option:active{background:#e0e0e0;border-color:#aaa}.nikud-option-required{background:#ccfbf1!important;border:2px solid #14b8a6!important;box-shadow:0 0 8px #14b8a680!important;animation:pulse-nikud 1.5s infinite;position:relative;z-index:5}@keyframes pulse-nikud{0%{box-shadow:0 0 #14b8a6b3}70%{box-shadow:0 0 0 6px #14b8a600}to{box-shadow:0 0 #14b8a600}}.nikud-close{width:calc(100% - 16px);padding:8px;margin-top:8px;border:1px solid #ddd;border-radius:4px;background:#f0f0f0;font-weight:700;cursor:pointer;text-align:center}.nikud-close:hover,.nikud-close:active{background:#e0e0e0;border-color:#aaa}.mobile-keyboard-key.hebrew-key{position:relative}.mobile-keyboard-key.hebrew-key:after{content:"•";position:absolute;bottom:2px;right:2px;font-size:12px;color:#3b82f6;opacity:.7}.typing-guide-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:2000}.typing-guide-content{position:relative;width:90%;max-width:500px;max-height:80vh;background-color:#fff;border-radius:12px;padding:20px;overflow-y:auto;box-shadow:0 4px 20px #0000004d;font-family:sans-serif}.typing-guide-close{position:absolute;top:10px;right:10px;background:none;border:none;font-size:20px;cursor:pointer;color:#666;padding:5px;display:flex;align-items:center;justify-content:center}.typing-guide-content h3{margin-top:0;margin-bottom:20px;font-size:20px;text-align:center;color:#333;border-bottom:1px solid #eee;padding-bottom:15px}.guide-section{margin-bottom:25px}.guide-section h4{margin:10px 0;color:#3b82f6;font-size:16px}.guide-step{display:flex;flex-direction:column;margin-bottom:15px;padding-left:30px;position:relative}.guide-step-number{position:absolute;left:0;top:0;background-color:#3b82f6;color:#fff;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px}.guide-step p{margin:5px 0;font-size:14px}.dot-indicator{color:#3b82f6;font-size:18px;font-weight:700}.guide-image{background-color:#f3f4f6;border:1px solid #ddd;border-radius:8px;padding:10px;margin:10px 0;display:flex;justify-content:center;align-items:center}.hebrew-key-demo{font-size:24px;font-family:Arial Hebrew,Times New Roman,serif;position:relative;width:40px;height:40px;margin:0 auto}.hebrew-key-demo:after{content:"•";position:absolute;bottom:0;right:-5px;font-size:18px;color:#3b82f6}.nikud-example{background-color:#f3f4f6;border-radius:5px;padding:10px;text-align:center;font-size:14px}.nikud-example span{font-size:22px;display:block;margin-bottom:5px}.typing-guide-close-btn{display:block;width:100%;padding:10px;background-color:#3b82f6;color:#fff;border:none;border-radius:5px;font-size:16px;font-weight:700;cursor:pointer;margin-top:20px}.typing-guide-close-btn:hover{background-color:#2563eb}@media (max-height: 600px){.typing-guide-content{max-height:90vh;padding:15px}.guide-section h4{font-size:14px;margin:8px 0}.guide-step p{font-size:13px}.nikud-examples{grid-template-columns:repeat(4,1fr)}}@media (max-width: 37.5dvw){.mobile-keyboard-key{height:40px;font-size:16px}.key-symbols,.key-abc,.key-return{font-size:14px}.mobile-keyboard-container.hebrew .mobile-keyboard-key{font-size:18px}.caps-toggle-button{padding:2px 6px;font-size:10px}.caps-toggle-button span{font-size:9px}.auto-switch-button{padding:2px 6px;font-size:10px}.auto-switch-button span{font-size:9px}.mobile-keyboard-controls{flex-wrap:wrap;gap:6px}}@media (max-width: 32dvw){.mobile-keyboard-key{height:36px;font-size:14px}.mobile-keyboard{gap:6px}.mobile-keyboard-row{gap:4px}.mobile-keyboard-controls{gap:6px}.caps-toggle-button .key-icon-wrapper{width:12px;height:12px}}.nikud-suggestion-overlay{position:fixed;left:0;right:0;bottom:300px;display:flex;justify-content:center;align-items:center;z-index:1000;pointer-events:auto}.nikud-suggestion-content{background-color:#3b82f6f2;color:#fff;border-radius:12px;padding:15px;box-shadow:0 4px 15px #0000004d;max-width:320px;width:90%;animation:slide-up .3s ease-out}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.nikud-suggestion-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-weight:700}.nikud-suggestion-steps{display:flex;align-items:center;background-color:#ffffff1a;border-radius:8px;padding:12px;margin-bottom:12px}.nikud-suggestion-character{display:flex;align-items:center;justify-content:center;background-color:#fff;color:#3b82f6;width:60px;height:60px;border-radius:8px;margin-right:15px}.nikud-large{font-size:36px;font-family:Arial Hebrew,Times New Roman,serif}.nikud-suggestion-instruction{flex:1}.nikud-suggestion-instruction .step{margin-bottom:8px;font-size:14px}.key-highlight{background-color:#fff3;padding:2px 6px;border-radius:4px;font-weight:700;font-family:Arial Hebrew,Times New Roman,serif;font-size:16px}.nikud-highlight{background-color:#fff3;padding:2px 6px;border-radius:4px;font-family:Arial Hebrew,Times New Roman,serif;font-size:16px}.nikud-suggestion-dismiss{background-color:#fff;color:#3b82f6;border:none;border-radius:6px;padding:8px 0;width:100%;font-weight:700;cursor:pointer;font-size:14px}.nikud-suggestion-dismiss:hover,.nikud-suggestion-dismiss:active{background-color:#f8fafc}.nikud-popup-demo{display:flex;gap:8px;padding:15px}.nikud-option-demo{width:35px;height:35px;border:1px solid #ddd;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:18px;font-family:Arial Hebrew,Times New Roman,serif;background-color:#fff}.nikud-examples{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;font-family:Arial Hebrew,Times New Roman,serif}.nikud-mode{background-color:#f0f8f0;border-color:#28a745}.nikud-key{background-color:#e8f5e8;border-color:#28a745;color:#155724;font-weight:700;font-size:1.8rem;padding:12px 8px;min-height:50px;display:flex;align-items:center;justify-content:center}.nikud-key:hover{background-color:#d4edda;border-color:#1e7e34}.nikud-key:active{background-color:#c3e6cb;transform:scale(.98)}.nikud-key-required{background-color:#28a745;color:#fff;animation:pulse 1s ease-in-out infinite}.nikud-key-required:hover{background-color:#218838}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.mobile-keyboard.nikud-mode .key-row .key{flex:1;max-width:none}.mobile-keyboard.nikud-mode .key-row .nikud-key{flex:1.2;font-size:2rem;font-weight:600;min-width:45px}.mobile-keyboard.nikud-mode .key-row{justify-content:center;gap:8px}.key-empty{visibility:hidden;flex:.3}.mobile-keyboard-key.key-shift{position:relative;transition:all .2s ease}.mobile-keyboard-key.key-shift.active{background-color:#4a90e2!important;color:#fff}.mobile-keyboard-key.key-shift.shift-needed{background-color:#ccfbf1!important;border:2px solid #14b8a6!important;box-shadow:0 0 8px #14b8a680!important;animation:pulse-next-key 1.5s infinite}.mobile-keyboard-key.key-shift.next-key-highlight{background-color:#ccfbf1!important;border:2px solid #14b8a6!important;box-shadow:0 0 8px #14b8a680!important;z-index:10}.mobile-keyboard-key.key-shift.next-key-highlight .key-icon-wrapper{color:#0f766e;transform:scale(1.2)}.mobile-keyboard-key.key-shift .shift-active{color:#fff;transform:translateY(-1px) scale(1.1);filter:drop-shadow(0 0 2px rgba(255,255,255,.5))}.mobile-keyboard-key.key-shift.caps-lock-active{background-color:#4a90e2!important;color:#fff;box-shadow:inset 0 0 0 2px #fff,0 0 5px #4a90e280!important}.shift-indicator{position:relative;display:flex;align-items:center;justify-content:center}.caps-lock-indicator{color:#fff}.caps-lock-dot{position:absolute;bottom:-4px;right:-4px;width:6px;height:6px;border-radius:50%;background-color:#fff;box-shadow:0 0 3px #fffc;animation:pulse-dot 1.5s infinite}@keyframes pulse-dot{0%{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}to{transform:scale(1);opacity:1}}.mobile-keyboard-key.key-shift .next-key-indicator{top:-15px}.m1-page{width:100dvw;height:100dvh;background-color:var(--bg-primary);overflow:hidden;position:relative}.m1-main-content{position:absolute;top:8dvh;left:0;width:100dvw;height:43dvh;overflow:hidden;background-color:var(--bg-primary);padding:2dvh 2dvw;box-sizing:border-box}.m1-media-container{position:absolute;top:8dvh;left:5dvw;width:90dvw;height:8dvh;padding:.5dvh 0;box-sizing:border-box;border-radius:.4dvh;z-index:10;display:flex;gap:.8dvw}.m1-audio-box,.m1-video-box,.m1-support-box{flex:1;height:100%;background-color:var(--bg-card);border-radius:.3dvh;border:.01dvh solid var(--border-default)}.m1-practice-text-wrapper{position:absolute;top:17dvh;left:5dvw;width:90dvw;height:34dvh;padding:0;box-sizing:border-box;background-color:var(--bg-primary);position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.m1-hidden-input{position:absolute;opacity:0;height:0;width:100%;left:0;bottom:0;z-index:-1;border:none;outline:none;background:transparent}.m1-content-placeholder{max-width:80dvw;margin:0 auto;padding:3dvh 2dvw;background-color:var(--bg-card);border:.01dvw solid var(--border-default);border-radius:.5dvh}.m1-phase-title{font-family:Saira,sans-serif;font-size:3.094dvh;line-height:3.563dvh;font-weight:600;color:var(--text-heading);text-align:center;margin-bottom:3dvh}.m1-phase-summary{color:var(--text-primary)}.m1-phase-summary h2{font-family:Saira,sans-serif;font-size:2.281dvh;line-height:2.625dvh;font-weight:600;color:var(--text-heading);margin-bottom:1.5dvh;margin-top:3dvh}.m1-phase-summary h3{font-family:Saira,sans-serif;font-size:1.688dvh;line-height:1.969dvh;font-weight:600;color:var(--text-heading);margin-bottom:1dvh;margin-top:2.5dvh}.m1-phase-summary ul{list-style:none;padding:0;margin:1.5dvh 0}.m1-phase-summary li{font-family:DM Sans,sans-serif;font-size:1.313dvh;line-height:1.838dvh;font-weight:300;color:var(--text-primary);padding:.5dvh 0;padding-left:1.5dvw}.m1-keyboard-test{background-color:var(--bg-tertiary);padding:2dvh 1.5dvw;border-radius:.5dvh;border:.01dvw solid var(--accent-primary);margin:2dvh 0}.m1-keyboard-test h3{font-family:Saira,sans-serif;font-size:1.688dvh;line-height:1.969dvh;font-weight:600;color:var(--accent-primary);margin-bottom:1.5dvh;margin-top:0}.m1-keyboard-test h4{font-family:Saira,sans-serif;font-size:1.422dvh;line-height:1.688dvh;font-weight:600;color:var(--text-heading);margin-bottom:1dvh;margin-top:2dvh}.m1-test-controls{display:flex;align-items:center;gap:2dvw;margin-bottom:2dvh;flex-wrap:wrap}.m1-toggle-keyboard{background-color:var(--accent-primary);border:.01dvw solid var(--accent-primary);border-radius:.4dvh;padding:.8dvh 1.5dvw;cursor:pointer;font-family:Saira,sans-serif;font-size:1.203dvh;font-weight:600;color:var(--text-heading);transition:opacity .2s ease}.m1-toggle-keyboard:hover{opacity:.9;filter:drop-shadow(0 0 .02dvh var(--accent-secondary))}.m1-language-status{font-family:DM Sans,sans-serif;font-size:1.203dvh;line-height:1.685dvh;font-weight:400;color:var(--text-primary)}.m1-language-status strong{color:var(--text-heading);font-weight:600}.m1-input-area{margin:2dvh 0}.m1-input-label{display:block;margin-bottom:1dvh;font-family:DM Sans,sans-serif;font-size:1.203dvh;line-height:1.685dvh;font-weight:600;color:var(--text-heading)}.m1-text-input{width:100%;min-height:8dvh;padding:1dvh 1dvw;border:.01dvw solid var(--border-default);border-radius:.4dvh;background-color:var(--bg-card);font-family:DM Sans,sans-serif;font-size:1.313dvh;line-height:1.838dvh;font-weight:300;color:var(--text-primary);box-sizing:border-box;resize:vertical}.m1-text-input:focus{outline:none;border-color:var(--accent-primary);filter:drop-shadow(0 0 .02dvh var(--accent-primary))}.m1-text-input::-moz-placeholder{color:var(--text-secondary);font-style:italic}.m1-text-input::placeholder{color:var(--text-secondary);font-style:italic}.m1-keyboard-features{margin:2dvh 0}.m1-keyboard-features ul{list-style:none;padding:0;margin:1dvh 0}.m1-keyboard-features li{font-family:DM Sans,sans-serif;font-size:1.203dvh;line-height:1.685dvh;font-weight:300;color:var(--text-primary);padding:.4dvh 0;padding-left:1dvw}.m1-interaction-test{background-color:var(--bg-secondary);padding:2dvh 1.5dvw;border-radius:.3dvh;border:.01dvw solid var(--border-default);margin:2dvh 0}.m1-interaction-test p{font-family:DM Sans,sans-serif;font-size:1.203dvh;line-height:1.685dvh;font-weight:300;color:var(--text-primary);margin:.8dvh 0}.m1-interaction-test p:first-child{font-weight:600;color:var(--text-heading)}.m1-next-phases{background-color:var(--bg-tertiary);padding:2dvh 1.5dvw;border-radius:.3dvh;border:.01dvw solid var(--border-light);margin:2dvh 0}.m1-next-phases ul li{color:var(--text-secondary);font-style:italic}.m1-stats-webcam-container{position:absolute;top:52dvh;left:5dvw;width:90dvw;height:10dvh;display:flex;align-items:center;gap:2dvw;background-color:var(--bg-primary);padding:0;box-sizing:border-box;z-index:5}.m1-webcam-container{width:8dvh;height:8dvh;border-radius:4dvh;overflow:hidden;flex-shrink:0;z-index:155;box-shadow:0 0 1dvh #0003;border:.01dvh solid var(--border-default)}.m1-webcam-container .webcam-container{width:100%!important;height:100%!important;border-radius:inherit!important;margin:0!important;position:relative!important;overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important}.m1-webcam-container .webcam-video,.m1-webcam-container video{width:100%!important;height:100%!important;-o-object-fit:cover!important;object-fit:cover!important;border-radius:inherit!important;position:absolute!important;top:0!important;left:0!important;max-width:100%!important;max-height:100%!important}@media screen and (max-width: 48dvw){.m1-main-content{top:7dvh;height:45dvh;padding:1dvh 1dvw}.m1-media-container{top:7dvh;left:5dvw;width:90dvw;height:7dvh;padding:.3dvh .3dvw;gap:.5dvw}.m1-practice-text-wrapper{top:15dvh;left:5dvw;width:90dvw;height:38dvh}.m1-stats-webcam-container{top:54dvh;left:5dvw;width:90dvw;height:8dvh}.m1-webcam-container{width:25dvw;height:8dvh}}.m1-start-button-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;background-color:#0009;z-index:100;border-radius:.5dvh}.m1-start-button{padding:1.5dvh 3dvw;font-size:2.5dvh;font-weight:700;background-color:var(--color-blue);color:#fff;border:none;border-radius:5dvh;cursor:pointer;box-shadow:0 .4dvh .8dvh #0003;transition:all .3s ease;animation:pulse 2s infinite}.m1-start-button:hover{background-color:var(--color-blue);opacity:.9;transform:scale(1.05);box-shadow:0 .6dvh 1.2dvh #0000004d}.m1-start-button:active{transform:scale(.98)}@keyframes pulse{0%{box-shadow:0 0 #4285f4b3}70%{box-shadow:0 0 0 1.5dvh #4285f400}to{box-shadow:0 0 #4285f400}}.m1-practice-text-wrapper{position:relative}:root{--font-display: "Saira", sans-serif;--font-body: "DM Sans", sans-serif;--font-mono: "IBM Plex Mono", monospace;--font-accent: "Space Grotesk", sans-serif;--color-bg: #0a0a0a;--color-surface: #1a1a1a;--color-elevated: #222222;--color-border: #2a2a2a;--color-overlay: #ffffff0a;--text-primary: #eeeeee;--text-secondary: #aaaaaa;--text-tertiary: #666666;--text-placeholder: #444444;--text-inverse: #000000;--gray-0: #ffffff;--gray-5: #f9f9f9;--gray-10: #f0f0f0;--gray-20: #e0e0e0;--gray-30: #cccccc;--gray-40: #b3b3b3;--gray-50: #999999;--gray-60: #777777;--gray-70: #555555;--gray-80: #333333;--gray-90: #1a1a1a;--gray-100: #000000;--color-red: #ff4d4d;--color-red-rgb: 255, 77, 77;--color-green: #3fe382;--color-green-rgb: 63, 227, 130;--color-blue: #60a5fa;--color-blue-rgb: 96, 165, 250;--color-yellow: #fde047;--color-yellow-rgb: 253, 224, 71;--gradient-subtle-dark: linear-gradient(to bottom, #1a1a1a, #111111, #0a0a0a);--gradient-divider: linear-gradient(to right, #cccccc, #f0f0f000);--gradient-texture: linear-gradient(to bottom, #eeeeee, #f7f7f7, #eeeeee);--gradient-focus-ring: radial-gradient(circle, #00000022, #00000000);--gradient-glow-black: radial-gradient(circle, #00000022, #00000000);--gradient-error-glow: radial-gradient(circle, #ff4d4d44, #00000000);--gradient-success-glow: radial-gradient(circle, #3fe38244, #00000000);--gradient-info-glow: radial-gradient(circle, #60a5fa44, #00000000);--gradient-warning-glow: radial-gradient(circle, #fde04744, #00000000);--glass-blur: blur(10px);--glass-bg-dark: rgba(0, 0, 0, .12);--glass-border-dark: 1px solid rgba(255, 255, 255, .08);--bg-main: var(--color-bg);--bg-main-rgb: 10, 10, 10;--bg-secondary: var(--color-surface);--bg-secondary-rgb: 26, 26, 26;--bg-tertiary: var(--color-elevated);--bg-tertiary-rgb: 34, 34, 34;--bg-card: var(--color-surface);--bg-card-rgb: 26, 26, 26;--text-heading: var(--text-primary);--text-link: var(--color-blue);--text-primary-dark: #eeeeee;--text-secondary-dark: #aaaaaa;--text-tertiary-dark: #666666;--border-default: var(--color-border);--mode-theme: var(--gray-5);--logo-filter: invert(1);--grid-line-color: rgba(255, 255, 255, .15);--grid-line-stop: rgba(255, 255, 255, 0);--accent-primary: var(--color-blue);--accent-primary-rgb: var(--color-blue-rgb);--accent-secondary: var(--color-green);--accent-secondary-rgb: var(--color-green-rgb);--accent-tertiary: var(--color-red);--accent-tertiary-rgb: var(--color-red-rgb);--error: var(--color-red);--success: var(--color-green);--warning: var(--color-yellow);--info: var(--color-blue);--gradient-primary: var(--gradient-info-glow);--gradient-secondary: var(--gradient-warning-glow)}[data-theme=light]{--color-bg: #ffffff;--color-surface: #f7f7f7;--color-elevated: #ececec;--color-border: #dcdcdc;--color-overlay: #0000000a;--text-primary: #111111;--text-secondary: #555555;--text-tertiary: #888888;--text-placeholder: #aaaaaa;--text-inverse: #ffffff;--color-red: #d62828;--color-red-rgb: 214, 40, 40;--color-green: #2ca661;--color-green-rgb: 44, 166, 97;--color-blue: #3b82f6;--color-blue-rgb: 59, 130, 246;--color-yellow: #facc15;--color-yellow-rgb: 250, 204, 21;--gradient-subtle-light: linear-gradient(to bottom, #ffffff, #f7f7f7, #ececec);--gradient-divider: linear-gradient(to right, #cccccc, #f0f0f000);--gradient-texture: linear-gradient(to bottom, #eeeeee, #f7f7f7, #eeeeee);--gradient-focus-ring: radial-gradient(circle, #00000022, #00000000);--gradient-glow-white: radial-gradient(circle, #ffffff22, #ffffff00);--gradient-error-glow: radial-gradient(circle, #d6282844, #00000000);--gradient-success-glow: radial-gradient(circle, #2ca66144, #00000000);--gradient-info-glow: radial-gradient(circle, #3b82f644, #00000000);--gradient-warning-glow: radial-gradient(circle, #facc1544, #00000000);--glass-bg-light: rgba(255, 255, 255, .04);--glass-border-light: 1px solid rgba(0, 0, 0, .05);--bg-main: var(--color-bg);--bg-main-rgb: 255, 255, 255;--bg-secondary: var(--color-surface);--bg-secondary-rgb: 247, 247, 247;--bg-tertiary: var(--color-elevated);--bg-tertiary-rgb: 236, 236, 236;--bg-card: var(--color-surface);--bg-card-rgb: 247, 247, 247;--text-heading: var(--text-primary);--text-link: var(--color-blue);--text-primary-dark: #eeeeee;--text-secondary-dark: #aaaaaa;--text-tertiary-dark: #666666;--border-default: var(--color-border);--mode-theme: var(--gray-100);--logo-filter: invert(0);--grid-line-color: rgba(0, 0, 0, .15);--grid-line-stop: rgba(0, 0, 0, 0);--accent-primary: var(--color-blue);--accent-primary-rgb: var(--color-blue-rgb);--accent-secondary: var(--color-green);--accent-secondary-rgb: var(--color-green-rgb);--accent-tertiary: var(--color-red);--accent-tertiary-rgb: var(--color-red-rgb);--error: var(--color-red);--success: var(--color-green);--warning: var(--color-yellow);--info: var(--color-blue)}.app{min-height:100vh;background-color:var(--bg-main);color:var(--text-primary);font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:background-color .3s ease,color .3s ease}.app-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:var(--bg-secondary);border-bottom:.1vh solid var(--border-default)}.app-title{font-family:Rajdhani,sans-serif;font-weight:700;font-size:2rem;margin:0;color:var(--text-heading)}.navigation{display:flex;gap:1rem}.nav-button{padding:.5rem 1rem;border:none;background-color:transparent;color:var(--text-secondary);font-family:IBM Plex Sans,sans-serif;font-size:1rem;font-weight:500;cursor:pointer;border-radius:.25rem;transition:background-color .2s ease,color .2s ease}.nav-button:hover{background-color:var(--surface-hover);color:var(--text-primary)}.nav-button.active{background-color:var(--surface-selected);color:var(--text-heading);font-weight:600}.theme-toggle{background-color:transparent;border:.1vh solid var(--border-default);color:var(--text-secondary);border-radius:50%;width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease,color .2s ease}.theme-toggle:hover{background-color:var(--surface-hover);color:var(--text-primary)}.content{padding:1rem}@media (prefers-contrast: more){.text-secondary,.text-tertiary,.text-disabled{color:var(--text-primary)}}@keyframes slideIn{0%{transform:translateY(2vh);opacity:0}to{transform:translateY(0);opacity:1}}::-webkit-scrollbar{width:.8vw;height:.8vh}::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:.4vh}.status-message{font-family:IBM Plex Sans,sans-serif;font-size:1rem;font-weight:600;letter-spacing:.05em;color:var(--text-primary)}.caption{font-family:IBM Plex Sans,sans-serif;font-size:.875rem;font-weight:400;letter-spacing:.03em;color:var(--text-secondary)}.detail-micro{font-family:IBM Plex Sans,sans-serif;font-size:.8rem;font-weight:300;letter-spacing:.03em;color:var(--text-tertiary)}.dashboard-placeholder{display:flex;justify-content:center;align-items:center;height:80vh;background-color:var(--bg-secondary);border-radius:.8vh;margin:1rem;border:.1vh dashed var(--border-default)}.user-actions{display:flex;align-items:center;gap:1.6vw}.user-info{display:flex;align-items:center;gap:.8vw}.username{font-weight:500;color:var(--text-primary)}.logout-button{display:flex;align-items:center;gap:.8vw;background-color:transparent;border:.1vh solid var(--border-color);border-radius:.4vh;padding:.8vh 1.2vw;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.logout-button:hover{background-color:var(--gradient-error-glow);border-color:var(--color-red);color:var(--color-red)}.logout-icon{font-size:1.6vh}.loading-container{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.8vh;color:var(--text-primary)}.app-wrapper{position:relative;min-height:100vh;width:100%}/*! tailwindcss v4.1.3 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:rotateX(0);--tw-rotate-y:rotateY(0);--tw-rotate-z:rotateZ(0);--tw-skew-x:skewX(0);--tw-skew-y:skewY(0);--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.flex-shrink{flex-shrink:1}.flex-grow,.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.text-center{text-align:center}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.opacity-30{opacity:.3}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.delay-1{transition-delay:1ms}.delay-2{transition-delay:2ms}:root{color-scheme:light dark;color:var(--text-primary);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--surface-hover:var(--gray-10);--surface-selected:var(--gray-20);--green-gamified:var(--color-green);--red-gamified:var(--color-red);--blue-gamified:var(--color-blue);--gold-gamified:var(--color-yellow);--purple-gamified:var(--color-blue);--energy-blue:var(--color-blue);--combo-purple:var(--color-blue);--success-bg:var(--gray-5);--success-text:var(--color-green);--error-bg:var(--gray-5);--error-text:var(--color-red);--info-bg:var(--gray-5);--info-text:var(--color-blue);--input-bg:var(--color-bg);--input-border:var(--gray-30);--input-focus:var(--gray-50);--msg-user-bg:var(--gray-10);--msg-assistant-bg:var(--gray-5);--msg-system-bg:var(--gray-10);--msg-mod-bg:var(--gray-10);--scrollbar-thumb:var(--gray-30);--scrollbar-track:var(--gray-5);--scrollbar-hover:var(--gray-50);--toggle-bg:var(--gray-10);--toggle-icon:var(--text-secondary);--btn-primary:var(--color-blue);--btn-secondary:transparent;--btn-tertiary:transparent;--primary-color:var(--color-blue);--primary-color-rgb:var(--color-blue-rgb);--btn-disabled:var(--gray-20);--btn-primary-text:var(--text-inverse);--btn-secondary-text:var(--text-primary);--btn-tertiary-text:var(--text-secondary);--btn-disabled-text:var(--text-tertiary);--btn-primary-hover:var(--color-blue);--btn-secondary-hover:var(--gray-10);--btn-tertiary-hover:var(--gray-5);--divider:var(--gray-20);--link-default:var(--color-blue);--link-visited:var(--gray-60);--link-hover:var(--color-blue);--focus-ring:#3b82f680;font-family:Inter,IBM Plex Sans,system-ui,Avenir,Helvetica,Arial,sans-serif;font-size:2vh;font-weight:400;line-height:1.5}[data-theme=dark]{--surface-hover:var(--gray-80);--surface-selected:var(--gray-70);--green-gamified:var(--color-green);--red-gamified:var(--color-red);--blue-gamified:var(--color-blue);--gold-gamified:var(--color-yellow);--purple-gamified:var(--color-blue);--energy-blue:var(--color-blue);--combo-purple:var(--color-blue);--success-bg:var(--gray-90);--success-text:var(--color-green);--error-bg:var(--gray-90);--error-text:var(--color-red);--info-bg:var(--gray-90);--info-text:var(--color-blue);--input-bg:var(--gray-80);--input-border:var(--gray-60);--input-focus:var(--gray-50);--msg-user-bg:var(--gray-80);--msg-assistant-bg:var(--gray-90);--msg-system-bg:var(--gray-80);--msg-mod-bg:var(--gray-80);--scrollbar-thumb:var(--gray-60);--scrollbar-track:var(--gray-90);--scrollbar-hover:var(--gray-50);--toggle-bg:var(--gray-70);--toggle-icon:var(--text-secondary);--btn-primary:var(--color-blue);--btn-secondary:transparent;--btn-tertiary:transparent;--btn-disabled:var(--gray-70);--btn-primary-text:var(--text-inverse);--btn-secondary-text:var(--text-primary);--btn-tertiary-text:var(--text-secondary);--btn-disabled-text:var(--text-tertiary);--btn-primary-hover:var(--color-blue);--btn-secondary-hover:var(--gray-80);--btn-tertiary-hover:var(--gray-90);--divider:var(--gray-70);--link-default:var(--color-blue);--link-visited:var(--gray-50);--link-hover:var(--color-blue);--focus-ring:#60a5fa80}body,html{background-color:var(--bg-main);width:100%;color:var(--text-primary);margin:0;padding:0;font-size:2vh;line-height:1.5vh;overflow-x:hidden}button{cursor:pointer;border:none;border-radius:1vh;padding:1.5vh 3vw;transition:all .3s}button:disabled{cursor:not-allowed;opacity:.7}a{color:var(--link-default);text-decoration:none;transition:color .2s}a:hover{color:var(--link-hover)}@media screen and (min-width:1025px){:root{font-size:2vh}}@media screen and (min-width:601px) and (max-width:1024px){:root{font-size:2vh}}@media screen and (max-width:600px){:root{font-size:2vh}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(4vh)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:1.6vh;height:1.6vh}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:.8vh}::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-hover)}.nav-sidebar .sidebar-nav a.sidebar-item{color:inherit;border-radius:1.6vh;flex-direction:column;align-items:center;margin-bottom:1.6vh;padding:2.4vh 0;text-decoration:none;transition:all .3s;display:flex}.nav-sidebar .sidebar-nav a.sidebar-item:hover{background-color:rgba(var(--primary-color-rgb),.1);transform:translateY(-.4vh)}.nav-sidebar .sidebar-nav a.sidebar-item.active{background-color:rgba(var(--primary-color-rgb),.2);color:var(--primary-color)}.keyboard-activity-label,.keyboard-hint{visibility:hidden!important;opacity:0!important;width:0!important;height:0!important;margin:0!important;padding:0!important;display:none!important;position:absolute!important;overflow:hidden!important}.test-score-comparison1-container .keyboard-activity-label,.test-score-comparison1-container .keyboard-hint,.practice1-keyboard-container .keyboard-activity-label,.practice1-keyboard-container .keyboard-hint{display:none!important}@property --tw-rotate-x{syntax:"*";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"*";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"*";inherits:false;initial-value:rotateZ(0)}@property --tw-skew-x{syntax:"*";inherits:false;initial-value:skewX(0)}@property --tw-skew-y{syntax:"*";inherits:false;initial-value:skewY(0)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
