:root{--primary-blue:#0047ab;--primary-red:#d22b2b;--primary-white:#fff;--light-blue:#6495ed;--light-red:#ff6b6b;--dark-blue:#00008b;--dark-red:#8b0000;--light-gray:#f5f5f5;--dark-gray:#333;--primary-yellow:gold}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;background-color:var(--light-gray);color:#333;color:var(--dark-gray);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}a{color:inherit;text-decoration:none}button{border:none;cursor:pointer;outline:none}.card{background-color:#fff;background-color:var(--primary-white);border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;padding:20px}.btn{border-radius:4px;display:inline-block;font-weight:600;padding:10px 20px;transition:all .3s ease}.btn-primary{background-color:#0047ab;background-color:var(--primary-blue);color:#fff;color:var(--primary-white)}.btn-primary:hover{background-color:#00008b;background-color:var(--dark-blue)}.btn-secondary{background-color:#d22b2b;background-color:var(--primary-red);color:#fff;color:var(--primary-white)}.btn-secondary:hover{background-color:#8b0000;background-color:var(--dark-red)}.text-center{text-align:center}.App{display:flex;flex-direction:column;margin:0!important;min-height:100vh;min-width:100vw;padding:0!important}.container{flex:1 1}.page-enter{opacity:0;transform:translateY(20px)}.page-enter-active{transition:opacity .3s,transform .3s}.page-enter-active,.page-exit{opacity:1;transform:translateY(0)}.page-exit-active{opacity:0;transform:translateY(-20px);transition:opacity .3s,transform .3s}.page-header{border-bottom:3px solid var(--primary-blue);margin-bottom:30px;padding-bottom:10px}.page-header h1{color:var(--primary-blue);font-size:2.5rem;margin-bottom:10px}.page-header p{color:var(--dark-gray);font-size:1.2rem}.page-content{margin-top:20px}.hero-section{background-color:initial!important;border-radius:8px;color:#000;margin-bottom:40px;padding:60px 20px;text-align:center}.hero-section h1{color:#000!important;font-size:2.5rem!important;margin-bottom:20px;text-align:left}.hero-section p{color:#696969!important;font-size:1.5rem;margin-bottom:30px;max-width:800px;text-align:left}.features-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:40px}.feature-card{background-color:var(--primary-white);border-radius:8px;box-shadow:0 4px 12px #0000001a;padding:30px;transition:transform .3s ease,box-shadow .3s ease}.feature-card:hover{box-shadow:0 8px 16px #00000026;transform:translateY(-5px)}.feature-card h3{color:var(--primary-blue);font-size:1.5rem;margin-bottom:15px}.feature-card p{color:var(--dark-gray);margin-bottom:20px}.category-items{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-top:30px}.category-item{background-color:var(--primary-white);border-left:4px solid var(--primary-blue);border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:20px;transition:transform .3s ease}.category-item:hover{transform:translateY(-5px)}.category-item h3{color:var(--primary-blue);margin-bottom:10px}.category-item p{color:var(--dark-gray)}.ai-container{background:linear-gradient(135deg,var(--primary-blue),var(--dark-blue));border-radius:8px;color:var(--primary-white);margin-bottom:30px;padding:30px}.ai-solutions{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:30px}.ai-solution-card{background-color:var(--primary-white);border-radius:8px;border-top:4px solid var(--primary-red);box-shadow:0 4px 12px #00000026;padding:25px;transition:all .3s ease}.ai-solution-card:hover{box-shadow:0 8px 20px #0003;transform:translateY(-5px)}.ai-solution-card h3{color:var(--primary-red);font-size:1.5rem;margin-bottom:15px}.ai-solution-card p{color:var(--dark-gray);margin-bottom:20px}.navbar{background:#000;box-shadow:0 2px 10px #0003;height:80px;justify-content:space-between!important;position:sticky;top:0;z-index:999}.navbar,.navbar-container{align-items:center;display:flex}.navbar-container{justify-content:space-between;width:100vw}.navbar-logo{justify-content:flex-start;padding-left:10px}.logo-text{color:var(--primary-white);font-size:1.8rem;font-weight:700;letter-spacing:1px;text-transform:uppercase}.nav-menu{list-style:none;margin:0;padding:0;text-align:center}.nav-item,.nav-menu{align-items:center;display:flex}.nav-item{height:80px}.nav-link{align-items:center;color:var(--primary-white);display:flex;font-weight:600;height:100%;padding:0 1rem;position:relative;text-decoration:none;transition:all .3s ease}.nav-link.active,.nav-link:hover{color:var(--primary-yellow)}.nav-link.active:after{background-color:var(--primary-yellow);bottom:0;content:"";height:4px;left:0;position:absolute;width:100%}.auth-item{height:80px;margin-left:auto}.auth-item,.user-info{align-items:center;display:flex}.user-info{gap:1rem;padding:0 1rem}.user-profile{align-items:center;border-radius:4px;display:flex;gap:.8rem;padding:.4rem .8rem;text-decoration:none;transition:all .3s ease}.user-profile:hover{background:#ffffff1a}.user-profile:hover .user-name{color:var(--light-red)}.profile-picture{border:2px solid #fff3;border-radius:50%;height:32px;object-fit:cover;transition:all .3s ease;width:32px}.user-profile:hover .profile-picture{border-color:var(--light-red)}.user-name{color:var(--primary-white);font-weight:600;transition:color .3s ease}.user-major{background:#ffffff1a;border-radius:4px;color:var(--light-red);font-size:.9rem;padding:.2rem .5rem;transition:all .3s ease}.user-major.non-denominated{background:#ffffff0d;color:#aaa;font-style:italic}.logout-btn{background:#0000;border:2px solid var(--primary-yellow);border-radius:4px;color:var(--primary-white);cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:all .3s ease}.logout-btn:hover{background:var(--primary-white);color:var(--primary-black)}.menu-icon{display:none}.hamburger{cursor:pointer;height:20px;position:relative;width:30px}.hamburger span{background:var(--primary-white);border-radius:3px;display:block;height:3px;left:0;opacity:1;position:absolute;transform:rotate(0deg);transition:.25s ease-in-out;width:100%}.hamburger span:first-child{top:0}.hamburger span:nth-child(2){top:8px}.hamburger span:nth-child(3){top:16px}.hamburger.open span:first-child{top:8px;transform:rotate(135deg)}.hamburger.open span:nth-child(2){left:-60px;opacity:0}.hamburger.open span:nth-child(3){top:8px;transform:rotate(-135deg)}@media screen and (max-width:960px){.nav-menu{background:#000;display:flex;flex-direction:column;height:calc(100vh - 80px);left:-100%;padding-top:5rem;position:absolute;top:80px;width:100%}.nav-menu,.nav-menu.active{opacity:1;transition:all .5s ease}.nav-menu.active{left:0;z-index:1}.nav-item{height:60px;width:auto}.nav-link{height:auto;padding:.65rem}.nav-link:hover{color:var(--primary-yellow);transition:all .3s ease}.menu-icon{cursor:pointer;display:block;font-size:1.8rem;position:absolute;right:0;top:0;transform:translate(-100%,60%)}.auth-item{height:auto;margin-left:0}.user-info{flex-direction:column;gap:.5rem;padding:1rem}.user-profile{justify-content:center;width:100%}.profile-picture{height:40px;width:40px}.logout-btn{margin-top:.5rem;width:100%}}.logo-link,.navbar-logo{align-items:center;display:flex;height:100%}.logo-link{text-decoration:none}.logo-container{align-items:center;display:flex;height:100%}.logo-image{height:5rem!important;margin-right:-5px;min-height:5rem!important;object-fit:contain;width:auto}.logo-text{font-size:1.5rem;width:1rem}@media (max-width:992px){.logo-image{height:2.5rem}.logo-text{font-size:1.6rem}}@media (max-width:768px){.logo-image{height:2.2rem}.logo-text{font-size:1.4rem}}@media (max-width:480px){.logo-image{height:2rem}.logo-text{font-size:1.2rem}}.login-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:80vh;padding:20px}.login-box,.major-form{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;max-width:400px;padding:30px;text-align:center;width:100%}.google-signin-btn{align-items:center;background-color:#4285f4;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:16px;justify-content:center;margin-top:20px;padding:12px 24px;position:relative;transition:all .3s ease;width:100%}.google-signin-btn:hover:not(:disabled){background-color:#357abd}.google-signin-btn:disabled{background-color:#ccc;cursor:not-allowed}.error-message{align-items:center;background-color:#ffebee;border-radius:4px;color:#c62828;cursor:pointer;display:flex;justify-content:center;margin-bottom:20px;max-width:400px;padding:12px;position:relative;text-align:center;width:100%}.dismiss-error{cursor:pointer;font-size:20px;opacity:.7;position:absolute;right:10px}.dismiss-error:hover{opacity:1}.form-group{margin-bottom:20px}.form-group label{color:#333;font-weight:500;text-align:left}.form-group input{border:1px solid #ddd;border-radius:4px;font-size:16px;padding:12px;transition:border-color .3s ease;width:100%}.form-group input:focus{border-color:#4285f4;outline:none}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.submit-btn{align-items:center;background-color:#4caf50;border-radius:4px;display:flex;font-size:16px;justify-content:center;padding:12px 24px;position:relative;transition:all .3s ease;width:100%}.submit-btn:hover:not(:disabled){background-color:#388e3c}.submit-btn:disabled{background-color:#ccc;cursor:not-allowed}.loading:after{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:#fff;content:"";height:20px;margin-left:10px;position:absolute;width:20px}h2{color:#333;margin-bottom:12px}p{color:#666;margin-bottom:24px}@media screen and (max-width:480px){.login-box,.major-form{padding:20px}.google-signin-btn,.submit-btn{font-size:14px;padding:10px 20px}.form-group input{font-size:14px;padding:10px}}.app-footer{background-color:#121212;border-top:5px solid gold;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin-top:auto;padding:20px 0}.footer-content{align-items:center;display:flex;flex-direction:column;gap:15px;margin:0 auto;max-width:1200px;padding:0 20px}.footer-links{display:flex;flex-wrap:wrap;gap:25px;justify-content:center}.footer-links a{align-items:center;color:gold;display:flex;font-size:1.1rem;font-weight:600;gap:5px;text-decoration:none;transition:all .3s ease}.footer-links a:before{font-size:1rem}.footer-links a:hover{color:#fff;text-decoration:underline;text-decoration-color:gold;transform:translateY(-2px)}.footer-copyright{align-items:center;color:gold;display:flex;font-size:.9rem;gap:5px}.app-footer:after{background-image:radial-gradient(circle,#ffd70022 1px,#0000 0),radial-gradient(circle,#ffd70022 1px,#0000 0);background-position:0 0,10px 10px;background-size:20px 20px;content:"";display:block;height:10px;opacity:.5}@media (max-width:768px){.footer-links{gap:15px}.footer-links a{font-size:1rem}.footer-links a:before{font-size:.8rem}}.hero-section{border-radius:0;color:#fff}.hero-content-2{background-image:url(/HiveMind/static/media/group_study_pic.40d1f090e79af7c54d2c.png);background-repeat:no-repeat;background-size:cover;box-sizing:border-box;color:#fff!important;height:100vh;margin:0;padding:0}.hero-content,.hero-content-2{display:grid;overflow:hidden;width:100vw!important}.hero-content{align-items:center;background-color:#00000080;grid-template-columns:1fr 1fr;height:100vh!important;margin:-60px -20px;padding-left:20px}.hero-text{padding-right:20px}.hero-text h1{bottom:0;color:#fff!important;font-size:8rem!important;margin-bottom:20px;max-width:90vw;width:800px!important}.hero-text p{background-color:#00000080;color:#fff!important;font-size:1.2rem;line-height:1.6;margin-bottom:30px;padding:10px 20px}.hero-image{border-radius:12px;overflow:hidden}.hero-image img{border-radius:12px;height:100%;object-fit:cover;width:100%}.google-signin{align-items:center;background-color:var(--primary-yellow);border:none;border-radius:4px;color:#333;color:#000;cursor:pointer;display:flex;font-size:1rem;gap:10px;padding:12px 24px;transition:all .3s ease}.google-signin:hover{background-color:#000;box-shadow:0 2px 8px #0003;box-shadow:0 0 2px #000;color:var(--primary-yellow)}.google-signin img{height:20px;width:20px}.home-content-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 1fr;margin-bottom:40px;margin-top:40px;padding:20px}.home-features,.home-upcoming-sessions{align-items:center;background-color:#f5f5f5;background-color:#d9d9d9;border-radius:12px;display:flex;flex-direction:column;padding:10px 20px}.home-features h2,.home-upcoming-sessions h2{color:#000;font-size:1.8rem;margin-bottom:10px}.home-session-card,.home-session-cards{display:flex;flex-direction:column;gap:15px}.home-session-card{background:#fff;border-radius:10px;box-shadow:0 2px 4px #0000000d;padding:20px}.home-session-info{align-items:flex-start;display:flex;gap:20px;justify-content:space-between}.home-session-info>div{flex:1 1}.home-session-info h3{color:#333;font-size:1.1rem;font-weight:500;margin-bottom:10px}.home-location{align-items:center;color:#666;display:flex;font-size:.95rem;gap:8px}.home-location i{color:#999}.cancel-session{background-color:var(--primary-yellow);border:none;border-radius:12px;color:#000;cursor:pointer;font-size:.95rem;font-weight:700;padding:10px 20px;transition:background-color .3s ease;white-space:nowrap}.cancel-session:hover{background-color:#000;border:2px solid var(--primary-yellow);color:#ff0}.go-to-calendar{background-color:#000;border-radius:4px;border-radius:20px;color:var(--primary-yellow);display:inline-block;font-weight:700;margin-top:10px;padding:10px 20px;text-align:center;text-decoration:none;width:160px}.go-to-calendar:hover{background-color:#ff0;border:2px solid #000;color:#000}.home-feature-cards{grid-gap:20px;border-radius:12px!important;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-top:20px}.home-feature-card{align-items:center;background:#d9d9d9;display:flex;flex-direction:column;padding:8px;text-align:center}.home-feature-card-robot-image{background-color:#00a7e3;width:140px}.home-feature-card img{border-radius:50%;height:120px;margin-bottom:5px;object-fit:cover;width:120px}.home-feature-card h3{color:#333;font-size:1.2rem;font-weight:500;margin-bottom:10px;margin-top:auto}.home-feature-btn{background:linear-gradient(90deg,#fff,var(--primary-yellow));border-radius:20px;color:#000;display:inline-block;font-weight:500;font-weight:700;padding:10px 30px;text-decoration:none;transition:background-color .3s ease}.home-feature-btn:hover{background:#000!important;border:2px solid var(--primary-yellow)!important;color:var(--primary-yellow)!important}.robot-container{animation:float 4s ease-in-out infinite,glow 2s infinite alternate,sway 3s ease-in-out infinite;background-color:#00a7e3;border-radius:50%;height:120px;margin-bottom:22px;width:120px;will-change:transform,filter,opacity}.home-feature-card-robot-image,.robot-container{transition:opacity .6s ease-in-out,transform .6s ease-in-out}.home-feature-card-robot-image:hover{opacity:0;transform:scale(.8)}@keyframes float{0%{transform:translateY(0) rotate(-3deg) scale(1)}50%{transform:translateY(-15px) rotate(3deg) scale(1.05)}to{transform:translateY(0) rotate(-3deg) scale(1)}}@keyframes glow{0%{filter:drop-shadow(0 0 5px rgba(0,174,255,.4))}to{filter:drop-shadow(0 0 15px rgba(0,174,255,.8))}}@media (max-width:768px){.hero-content,.home-content-grid,.home-feature-cards{grid-template-columns:1fr}.hero-text h1{font-size:1rem!important}}@media (max-width:1300px){.hero-text h1{font-size:3rem!important}.hero-text p{font-size:1rem!important}}.dark-theme{background-color:#121212;color:#f0f0f0;min-height:100vh;padding:2rem}.calendar-container{box-sizing:border-box;max-width:100vw!important;padding:70px;width:100vw}.calendar{background-color:#1e1e1e;border-radius:12px;box-shadow:0 4px 20px #0000004d;min-height:800px;overflow:hidden}.month-header{align-items:center;background-color:gold;border-bottom:3px solid #121212;color:#121212;display:flex;justify-content:space-between;padding:1.5rem}.nav-btn{background:#121212;border:none;border-radius:50%;color:gold;cursor:pointer;font-size:1.2rem;height:40px;transition:all .2s;width:40px}.nav-btn:hover{transform:scale(1.1)}.bee-icon{font-size:1.4rem;margin-right:10px}.days-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(7,minmax(120px,1fr));margin:0 auto;padding:1rem}.day-name{color:gold;font-weight:700;padding:1rem;text-align:center}.day-cell,.day-name{background-color:#252525}.day-cell{aspect-ratio:1/1;border-radius:8px;cursor:pointer;max-height:150px;min-height:120px;overflow-y:auto;padding:.5rem;position:relative;transition:all .2s}.day-cell:hover{background-color:#333;transform:translateY(-2px)}.day-cell.current{background-color:#333;border:2px solid gold}.date-number{font-size:1.2rem;font-weight:700;margin-bottom:.5rem}.today-badge{position:absolute;right:4px;top:4px}.today-icon{color:gold;font-size:1.2rem}.events{display:flex;flex-direction:column;gap:4px;margin-top:.5rem;max-height:calc(100% - 2rem);overflow-y:auto}.event button{margin-left:auto}.event-preview{align-items:center;background-color:#333;border-radius:4px;color:#fff;display:flex;font-size:.75rem;gap:4px;overflow:hidden;padding:4px 6px;text-overflow:ellipsis;white-space:nowrap}.event-time{color:#866b02;flex-shrink:0;font-weight:700}.event-name{overflow:hidden;text-overflow:ellipsis}.day-view-expanded{display:flex;flex-direction:column;height:800px;margin:0 auto;max-width:1400px;min-width:800px;overflow:hidden;padding:0 20px;width:100%}.day-header{align-items:center;background-color:gold;border-bottom:3px solid #121212;color:#121212;display:flex;gap:1rem;padding:1.5rem}.honeycomb-icon{font-size:1.4rem;margin-right:10px}.day-content-wrapper{display:flex;flex:1 1;margin:0 auto;overflow:hidden;width:calc(100% - 40px)}.back-btn{align-items:center;background:#121212;border:none;border-radius:30px;color:gold;cursor:pointer;display:flex;font-weight:700;gap:.5rem;padding:.75rem 1.5rem}.add-event-form{background:#252525;border-left:3px solid gold;flex:1 1;margin-right:20px;max-width:400px;min-width:350px;overflow-y:auto;padding:1.5rem}.add-event-form h3{color:gold;margin-bottom:1rem;margin-top:0}.form-group{margin-bottom:1rem}.time-inputs{align-items:center;display:flex;gap:.5rem}.time-inputs select{color:#fff}.time-inputs span{color:gold}.add-btn{align-items:center;background:gold;border:none;border-radius:30px;color:#121212;cursor:pointer;display:flex;font-weight:700;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;transition:all .2s;width:100%}.add-btn:hover{background:#ffc800;transform:translateY(-2px)}@media (max-width:1200px){.day-content-wrapper{flex-direction:column}.add-event-form{border-left:none;border-top:3px solid gold;max-width:100%;min-width:300px}}@media (max-width:900px){.day-view-expanded{min-width:100%;padding:0 10px}.add-event-form{min-width:250px}}@media (max-width:768px){.calendar-container{padding:.5rem;width:100vw}.days-grid{gap:4px;grid-template-columns:repeat(7,1fr);padding:.5rem}.day-cell{max-height:120px;min-height:80px;padding:.25rem}.time-label{font-size:.8rem}.event-preview{font-size:.7rem;padding:2px 4px}.date-number{font-size:1rem;margin-bottom:.25rem}}.container{padding:0}.timeline-container{display:flex;flex:3 1;height:1440px;margin-left:20px;max-height:calc(100vh - 200px);overflow-y:auto;position:relative}.time-labels{background-color:#1e1e1e;height:1440px;left:0;position:relative;position:sticky;width:80px;z-index:2}.time-label{align-items:center;color:gold;display:flex;font-size:.9rem;height:60px;justify-content:flex-end;padding-right:10px;position:absolute;text-align:right;width:100%}.time-label:first-child{top:0}.time-label:nth-child(2){top:60px}.time-label:nth-child(3){top:120px}.time-label:nth-child(24){top:1380px}.events-column{flex:1 1;height:1440px;margin-left:10px;position:relative}.hour-line{background-color:#ffd70033;height:1px;left:0;position:absolute;right:0}.hour-line:first-child{top:0}.hour-line:nth-child(2){top:60px}.hour-line:nth-child(24){top:1380px}.events-container{height:1440px;left:0;position:absolute;right:0;top:0}.event{align-items:center;border-radius:6px;box-shadow:0 2px 8px #0003;color:#121212;display:flex;font-weight:500;gap:.75rem;left:20px;padding:.75rem;position:absolute;right:20px;z-index:1}.more-events-indicator{background:#0000004d;border-radius:4px;color:gold;display:inline-block;font-size:.7rem;margin-top:2px;padding:2px 4px}.download-btn{align-items:center;background-color:gold;border:2px solid #222;border-radius:4px;color:#222;cursor:pointer;display:inline-flex;font-size:14px;font-weight:700;justify-content:center;padding:6px 12px;transition:all .3s ease-in-out}.download-btn:hover{background-color:#fc0;border-color:#444;box-shadow:0 4px 8px #0003}.download-btn:active{background-color:#e6b800;transform:translateY(1px)}.download-btn svg{fill:#222;margin-right:6px}.download-btn:focus{outline:none}.form-group label{color:gold!important;display:block;margin-bottom:.5rem}.time-inputs select{-webkit-appearance:none;appearance:none;background:#333;border:1px solid #555;border-radius:4px;color:#000;font-size:1rem;padding:.5rem;width:100%}.time-inputs select:after{color:#fff;content:" ▼";font-size:1rem;margin-left:.5rem}.time-inputs select::-ms-expand{display:none}.time-inputs select option{background-color:#333;color:#fff}.time-inputs select option:hover{background-color:#555}.faq-page{margin:0 auto;max-width:800px;padding:20px}.faq-header{margin-bottom:40px;text-align:center}.faq-category{margin-bottom:30px}.faq-item{border-bottom:1px solid #eee;margin-bottom:10px}.faq-question{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:15px 0}.faq-question h3{font-size:18px;margin:0}.toggle-icon{font-size:20px;font-weight:700}.faq-answer{color:#555;padding:0 0 15px}.faq-support{background-color:#f5f5f5;border-radius:8px;margin-top:40px;padding:20px;text-align:center}.ai-demo-section{background:linear-gradient(145deg,#f8f9fa,#e9ecef);border-radius:20px;box-shadow:0 10px 30px #0000001a;margin:40px 0;padding:30px;position:relative}.ai-demo-section h2{color:#2c3e50;font-size:28px;margin-bottom:25px;text-align:center}.demo-buttons{display:flex;gap:20px;justify-content:center;margin:20px 0}.demo-button,.recommend-button{border:none;border-radius:12px;cursor:pointer;font-size:16px;font-weight:600;letter-spacing:.5px;padding:12px 28px;text-transform:uppercase;transition:all .3s ease}.demo-button{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}.recommend-button{background:linear-gradient(135deg,#34d399,#059669)}.demo-button:hover,.recommend-button:hover{box-shadow:0 8px 20px #0003;transform:translateY(-2px)}.ai-chat-demo{background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000001a;display:flex;flex-direction:column;height:500px;margin-top:30px;overflow:hidden;position:relative}.chat-messages{background:#f8fafc;flex:1 1;overflow-y:auto;padding:20px;scroll-behavior:smooth}.chat-message.user .message-content{max-width:80%}.chat-message.user .message-content,.chat-message.user .message-content p{color:#fff!important}.chat-message.user .message-sender{opacity:.9}.chat-message.ai .message-content{max-width:80%}.chat-message.ai .message-content,.chat-message.ai .message-content p{color:#1f2937!important}.chat-message.error .message-content{background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:18px;margin-right:auto;max-width:80%}.chat-message.error .message-content,.chat-message.error .message-content p{color:#fff!important}.chat-message.error .message-sender{color:#ef4444}.chat-input-form{background:#fff;border-top:1px solid #e5e7eb;display:flex;gap:12px;padding:20px}.chat-input{background:#f8fafc;border:2px solid #e5e7eb;border-radius:12px;flex:1 1;font-size:16px;outline:none;padding:12px 16px;transition:all .3s ease}.chat-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.chat-input:disabled{background-color:#f3f4f6;cursor:not-allowed}.ask-ai-button{background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:12px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s ease}.ask-ai-button:hover:not(:disabled){box-shadow:0 4px 12px #4f46e54d;transform:translateY(-2px)}.ask-ai-button:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.major-selector{margin:20px 0;text-align:center}.major-dropdown{background:#fff;border:2px solid #e5e7eb;border-radius:12px;color:#1f2937;cursor:pointer;font-size:16px;min-width:300px;padding:12px 20px;transition:all .3s ease}.major-dropdown:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.major-dropdown:hover{border-color:#6366f1}.video-recommendations{background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000001a;margin-top:20px;padding:25px}.video-recommendations h3{color:#2c3e50;font-size:24px;margin-bottom:25px;text-align:center}.video-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:20px}.video-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden;transition:transform .3s ease}.video-card:hover{box-shadow:0 8px 15px #00000026;transform:translateY(-5px)}.video-thumbnail{border-bottom:1px solid #e5e7eb;height:158px;object-fit:cover;width:100%}.video-card h4{color:#2c3e50;font-size:16px;height:70px;line-height:1.4;margin:0;padding:15px}.video-card h4,.video-card p{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.video-card p{color:#6b7280;font-size:14px;height:60px;line-height:1.5;margin:0 0 15px;padding:0 15px}.watch-button{background:linear-gradient(135deg,#34d399,#059669);border-radius:8px;color:#fff;display:block;font-weight:600;margin:15px;padding:10px 20px;text-align:center;text-decoration:none;transition:all .3s ease}.watch-button:hover{box-shadow:0 4px 12px #0596694d;transform:translateY(-2px)}.ai-chat-demo.loading:after{background:#fffc;bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:10}.ai-chat-demo.loading:before{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#6366f1;content:"";height:40px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:40px;z-index:11}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}.points-display{align-items:center;color:gold;display:flex;font-size:1.2rem;font-weight:700;gap:8px;text-shadow:1px 1px 2px #0000001a}.points-display:before{content:"🏆";font-size:1.4rem}.account-page{margin:0 auto;max-width:800px;padding:2rem}.account-container{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:2rem}.account-container h1{border-bottom:2px solid #eee;color:#333;margin-bottom:2rem;padding-bottom:1rem}.account-section,.profile-header{margin-bottom:2rem}.profile-header{align-items:center;display:flex;gap:2rem}.profile-picture-container{border-radius:50%;cursor:pointer;position:relative;transition:all .3s ease}.profile-picture-container.uploading{opacity:.7;pointer-events:none}.profile-picture-container:hover .profile-picture-overlay{opacity:1}.profile-picture-large{border:3px solid #eee;border-radius:50%;box-shadow:0 2px 10px #0000001a;height:120px;object-fit:cover;transition:all .3s ease;width:120px}.profile-picture-overlay{align-items:center;background:#00000080;border-radius:50%;bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.profile-picture-overlay span{color:#fff;font-size:.9rem;font-weight:500;padding:.5rem;text-align:center}.hidden-input{display:none}.profile-title{flex:1 1}.profile-title h2{color:#444;font-size:1.4rem;margin:0}.profile-info{gap:1.5rem}.info-group,.profile-info{display:flex;flex-direction:column}.info-group{gap:.5rem}.info-group label{color:#666;font-size:.9rem;font-weight:600}.info-group p{color:#333;font-size:1.1rem;margin:0}.info-display{align-items:center;display:flex;gap:1rem}.edit-btn{background:#0000;border:none;border-radius:4px;color:#4285f4;cursor:pointer;font-size:.9rem;padding:.2rem .5rem;transition:all .3s ease}.edit-btn:hover{background:#4285f41a}.edit-form{display:flex;flex-direction:column;gap:1rem;max-width:400px;width:100%}.input-container{position:relative;width:100%}.major-dropdown,.name-input{background:#fff;border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.8rem;width:100%}.major-dropdown:focus,.name-input:focus{border-color:#4285f4;box-shadow:0 0 0 2px #4285f433;outline:none}.radio-group{display:flex;flex-direction:column;gap:.8rem;padding:.5rem 0}.radio-label{align-items:center;color:#333;cursor:pointer;display:flex;font-size:1rem;gap:.5rem}.radio-label input[type=radio]{accent-color:#4285f4;cursor:pointer;height:18px;margin:0;width:18px}.radio-label:hover{color:#4285f4}.char-count{background:#ffffffe6;border-radius:4px;color:#666;font-size:.8rem;padding:.2rem .4rem;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.button-group{display:flex;gap:1rem}.cancel-btn,.save-btn{border-radius:4px;cursor:pointer;flex:1 1;font-weight:600;padding:.6rem 1.2rem;transition:all .3s ease}.save-btn{background:#4285f4;border:none;color:#fff}.save-btn:hover{background:#357abd}.cancel-btn{background:#0000;border:2px solid #666;color:#666}.cancel-btn:hover{background:#0000000d}.message{animation:fadeIn .3s ease;margin-top:1rem;padding:1rem;text-align:center}.message.success{background:#e8f5e9;color:#2e7d32}.message.error{background:#ffebee;color:#c62828}.message.info{background:#e3f2fd;color:#1565c0}.uploading .profile-picture-large{animation:pulse 1.5s infinite}@media (max-width:600px){.account-container,.account-page{padding:1rem}.profile-header{flex-direction:column;gap:1rem;text-align:center}.profile-picture-large{height:100px;width:100px}.button-group,.info-display{flex-direction:column}.info-display{align-items:flex-start;gap:.5rem}.edit-btn{padding:.5rem;text-align:center;width:100%}}*{box-sizing:border-box;max-width:100vw}.home-container{align-items:center;background-color:#f5f5f5;display:flex;flex-direction:column;min-height:100vh;text-align:center}.title{font-size:2.5rem;font-weight:700;margin-bottom:10px;margin-top:5rem}.description{color:#555;font-size:1.2rem;margin-bottom:10px;max-width:600px}.preference-text{color:#00a7e3;font-size:1.5rem;font-weight:500;margin-bottom:25px}.options-container{display:flex;flex-direction:row;gap:40px;justify-content:center;max-width:1100px;width:100%}.option{align-items:center;display:flex;flex-direction:column;width:auto}.option-image{border-radius:10px;height:300px;margin-bottom:10px;object-fit:cover;width:550px}.option-button{background-color:#000;border:none;border-radius:12px;color:var(--primary-yellow);cursor:pointer;font-size:1.2rem;font-weight:700;margin-bottom:10px;margin-top:10px;padding:13px 20px;transition:transform .3s ease}.option-button:hover{background-color:var(--primary-yellow);color:#000}.duo-container{margin:0 auto;max-width:1200px;padding:20px}.duo-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:20px}.create-session,.stats-section{background:#fff;border-radius:10px;box-shadow:0 2px 4px #0000001a;padding:20px}form .form-group{display:flex;flex-direction:column;margin-bottom:20px}.form-group label{color:#333!important;font-weight:600;margin-bottom:8px}.form-group input,.form-group select{background:#fdfdfd;border:1px solid #ccc;border-radius:8px;font-size:1rem;padding:12px 0;transition:border-color .3s}.form-group input:focus,.form-group select:focus{border-color:#00a7e3;outline:none}.submit-btn{background:#00a7e3;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:15px;padding:12px;transition:background .3s}.submit-btn:hover{background:#008bbd}.action-buttons{gap:10px;margin-bottom:20px}.action-btn{background-color:#000;border:none;border-radius:5px;color:var(--primary-yellow);cursor:pointer;flex:1 1;font-weight:700;padding:10px 20px}.action-btn:hover{background-color:var(--primary-yellow);color:#000}.filters{background:#fff;border-radius:10px;box-shadow:0 2px 4px #0000001a;gap:20px;margin-bottom:20px;padding:15px}.filter-group,.filters{align-items:center;display:flex}.filter-group{gap:10px}.filter-group select{background-color:#f9f9f9;border:1px solid #ddd;border-radius:8px;font-size:1rem;padding:10px 12px;transition:border .3s}.gender-options{gap:15px}.gender-option,.gender-options{align-items:center;display:flex}.gender-option{color:#333;cursor:pointer;font-size:1rem;gap:5px}.gender-option input[type=radio]{accent-color:#00a7e3;cursor:pointer;height:16px;margin:0;width:16px}.gender-option:hover{color:#00a7e3}.all-sessions{display:flex;flex-direction:column;gap:30px;margin-bottom:20px}.session-section{background:#fff;border-radius:10px;box-shadow:0 2px 4px #0000001a;padding:20px}.session-section h2{color:#333;font-size:1.5rem;margin-bottom:20px}.session-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.session-card{background:#fff;border-radius:10px;box-shadow:0 2px 4px #0000001a;padding:20px}.profile-img{border-radius:50%;height:80px;margin-bottom:10px;object-fit:cover;width:80px}.participants-list{background-color:#f8f9fa;border-radius:5px;margin:15px 0;padding:10px}.participants-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.participants-header h4{color:#333;font-size:1rem;margin:0}.session-status{border-radius:4px;font-size:.8rem;font-weight:700;padding:4px 8px}.session-status.full{background-color:#dc3545;color:#fff}.participant-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.participant-item{align-items:center;display:flex;flex-direction:column;text-align:center}.participant-img{border-radius:50%;height:40px;margin-bottom:5px;object-fit:cover;width:40px}.participant-item span{color:#555;font-size:.8rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-card{position:relative}.participants-menu{background:#fff;border-radius:10px;box-shadow:0 2px 8px #00000026;left:calc(100% + 10px);opacity:0;padding:15px;pointer-events:none;position:absolute;top:0;transform:translateX(-100%);transform-origin:left center;transition:all .6s cubic-bezier(.68,-.55,.265,1.55);width:250px;z-index:100}.participants-menu.open{opacity:1;pointer-events:auto;transform:translateX(0)}.participants-menu h3{border-bottom:1px solid #eee;color:#333;font-size:1.1rem;margin-bottom:15px;padding-bottom:10px}.participants-menu .participants-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}.participants-menu .participant-item{text-align:center}.participants-menu .participant-img{border-radius:50%;height:45px;margin-bottom:5px;width:45px}.participants-menu .participant-name{color:#666;font-size:.75rem;word-break:break-word}.join-btn{background-color:#00a7e3;border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:700;margin-top:10px;padding:10px;transition:background-color .3s ease;width:100%}.join-btn:hover:not(:disabled){background-color:#0089c4}.join-btn.joined{background-color:#28a745;cursor:default}.join-btn.full{background-color:#dc3545;cursor:not-allowed}.join-btn:disabled{cursor:not-allowed;opacity:.7}.leave-btn{background-color:#ffc107;border:none;border-radius:5px;color:#000;cursor:pointer;font-weight:700;margin-top:10px;padding:10px;transition:background-color .3s ease;width:100%}.leave-btn:hover{background-color:#e0a800}.disband-btn{background-color:#dc3545;border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:700;margin-top:10px;padding:10px;transition:background-color .3s ease;width:100%}.disband-btn:hover{background-color:#c82333}.back-button{background-color:#00a7e3;background-color:#fff!important;border-radius:15px;color:#fff;display:flex;font-weight:700;margin-left:auto!important;margin-right:auto!important;margin-top:2rem;padding:10px}.back-button:hover{background-color:#fff;border:3px solid #008bbd;color:#008bbd}@media screen and (max-width:1200px){body{overflow-y:auto}.options-container{flex-wrap:wrap}.home-container{height:auto;min-height:100vh;padding-bottom:2rem}.duo-grid{grid-template-columns:1fr}}.chat-window{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;height:500px;left:50%;overflow:hidden;position:fixed;top:50%;transform:translate(-50%,-50%);width:800px;z-index:1000}.chat-header{align-items:center;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;display:flex;justify-content:space-between;padding:15px 20px}.chat-header h3{font-size:18px;font-weight:600;margin:0}.header-controls{align-items:center;display:flex;gap:12px}.robot-icon{cursor:pointer;transition:transform .3s ease}.robot-icon:hover{transform:scale(1.1)}.close-button{background:none;border:none;color:#fff;cursor:pointer;font-size:24px;padding:0;transition:opacity .3s ease}.close-button:hover{opacity:.8}.messages-container{background:#f8fafc;flex:1 1;overflow-y:auto;padding:20px;scroll-behavior:smooth}.chat-message{animation:fadeInUp .3s forwards;margin-bottom:20px;opacity:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-message.user .message-content{background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:18px 18px 0 18px;color:#fff;margin-left:auto}.chat-message.user .message-sender{color:#fff;text-align:right}.chat-message.ai .message-content{background:#fff;border-radius:18px 18px 18px 0;box-shadow:0 2px 8px #0000001a;color:#1f2937;margin-right:auto}.chat-message.ai .message-sender{color:#1f2937}.message-content{word-wrap:break-word;font-size:16px;font-weight:500;line-height:1.5;max-width:80%;padding:15px 20px}.message-content p{margin:0}.message-sender{display:block;font-size:.9em;font-weight:600;margin-bottom:6px}.message-form-container{background:#fff;border-top:1px solid #e5e7eb;padding:20px}.ai-buttons{display:flex;gap:12px;margin-bottom:15px}.ai-button{border:none;border-radius:12px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px;transition:all .3s ease}.ai-button.recommend{background:linear-gradient(135deg,#34d399,#059669);color:#fff}.ai-button.ask{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}.ai-button.generate{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.ai-button:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.message-form{display:flex;gap:12px;position:relative}.message-input{background:#f8fafc;border:2px solid #e5e7eb;border-radius:12px;flex:1 1;font-size:16px;outline:none;padding:12px 16px;transition:all .3s ease}.message-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.send-button{background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:12px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s ease}.send-button:hover:not(:disabled){box-shadow:0 4px 12px #4f46e54d;transform:translateY(-2px)}.send-button:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.recommendation-modal,.share-modal{align-items:center;animation:fadeIn .3s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:1100}.recommendation-modal-content,.share-modal-content{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 4px 20px #0003;max-width:400px;padding:24px;width:90%}.recommendation-modal-content h3{color:#1f2937;font-size:18px;margin:0 0 20px;text-align:center}.recommendation-buttons{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.recommend-button{border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:16px;text-align:left;transition:all .3s ease}.recommend-button.video{background:linear-gradient(135deg,#34d399,#059669)}.recommend-button.textbook{background:linear-gradient(135deg,#6366f1,#4f46e5)}.recommend-button:hover:not(:disabled){box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.recommend-button:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.close-modal-button{background:#fff;border:2px solid #e5e7eb;border-radius:12px;color:#4b5563;cursor:pointer;font-size:14px;font-weight:600;padding:12px;transition:all .3s ease;width:100%}.close-modal-button:hover{background:#f3f4f6;border-color:#d1d5db}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.flashcard-share{background:#f0f9ffb3;border:1px solid #bae6fdb3;border-radius:12px;margin-top:8px;padding:12px 16px}.flashcard-share p{color:#0369a1b3;font-weight:500;margin:0 0 8px}.accept-button{background:linear-gradient(135deg,#0ea5e9,#0284c7);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s ease}.accept-button:hover{box-shadow:0 2px 8px #0284c74d;transform:translateY(-1px)}.share-set-button{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#1f2937;cursor:pointer;font-size:14px;font-weight:500;margin-bottom:8px;padding:12px;text-align:left;transition:all .2s ease;width:100%}.share-set-button:hover{background:#f3f4f6;border-color:#d1d5db}.flashcard-sets-list{margin-bottom:16px;max-height:300px;overflow-y:auto;padding:4px}.message{animation:slideUp .3s ease;border-radius:4px;bottom:20px;font-weight:500;left:50%;padding:12px 24px;position:fixed;transform:translateX(-50%);z-index:1000}.message.success{background-color:#4caf50;color:#fff}.message.error{background-color:#f44336;color:#fff}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,100%)}to{opacity:1;transform:translate(-50%)}}.pricing-page{color:#333;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px;padding:2rem}.pricing-header{margin-bottom:3rem;text-align:center}.pricing-header h1{color:#2c3e50;font-size:2.5rem;margin-bottom:1rem}.subtitle{color:#7f8c8d;font-size:1.2rem;margin-bottom:2rem}.billing-toggle{align-items:center;display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}.billing-toggle span{color:#4d5555;font-weight:600}.billing-toggle span.active{color:#2c3e50}.save-badge{background-color:var(--primary-yellow);border-radius:1rem;color:#fff;font-size:.8rem;margin-left:.5rem;padding:.2rem .5rem}.switch{display:inline-block;height:34px;position:relative;width:60px}.switch input{height:0;opacity:0;width:0}.slider{background-color:#ccc;border-radius:34px;bottom:0;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.4s}.slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:"";height:26px;left:4px;width:26px}input:checked+.slider{background-color:var(--primary-yellow)}input:checked+.slider:before{transform:translateX(26px)}.plans-container{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}.plan-card{border-radius:10px;box-shadow:0 4px 6px #0000001a;flex:1 1;max-width:350px;min-width:280px;overflow:hidden;padding:3rem 2rem;position:relative;transition:transform .3s ease}.plan-card:hover{transform:translateY(-5px)}.plan-card.disabled{opacity:.7}.plan-card.grey{background-color:#f5f5f5;border-top:5px solid #95a5a6}.plan-card.red{background-color:#ffebee;border-top:5px solid #e74c3c}.plan-card.gold{background-color:#fff8e1;border-top:5px solid #f39c12}.plan-header{margin-bottom:1.5rem;text-align:center}.plan-header h2{font-size:1.8rem;margin-bottom:.5rem}.price{font-size:2rem;font-weight:700;margin-bottom:.5rem}.features{list-style:none;margin-bottom:2rem;padding:0}.features li{padding:.5rem 0 .5rem 1.5rem;position:relative}.features li:before{color:grey;content:"•"}.cta-button,.features li:before{font-weight:700;left:0;position:absolute}.cta-button{border:none;border-radius:5px;bottom:0;cursor:pointer;font-size:1.1rem;margin-bottom:1rem!important;margin-left:5%!important;padding:1rem;transition:background-color .3s ease;width:90%}.plan-card.grey .cta-button{background-color:#95a5a6;color:#fff}.plan-card.gold .cta-button{background-color:#f39c12;color:#fff}.cta-button:hover:not(.disabled){opacity:.9}.cta-button.disabled{background-color:#bdc3c7;cursor:not-allowed}@media (max-width:768px){.plans-container{align-items:center;flex-direction:column}.plan-card{max-width:400px;width:100%}}.page-title{margin-bottom:30px}.dashboard-container{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.dashboard-box{border-radius:8px;border-top:4px solid gold;box-shadow:0 2px 10px #0000001a;padding:20px}.dashboard-box h2{border-bottom:1px solid #eee;margin-top:0;padding-bottom:10px}.subtitle{margin-bottom:15px;margin-top:-10px}.big-buttons-container{display:flex;flex-direction:column;gap:15px;margin-top:20px}.big-button{border-radius:5px;padding:20px}.big-button.view-button{background-color:#222;color:#fff}.big-button.view-button:hover{background-color:#444}.sets-list{display:flex;flex-direction:column;gap:15px}.set-item{background-color:#f5f5f5;border-left:3px solid gold;border-radius:5px;padding:12px}.set-item h3{color:#333;margin:0 0 5px}.last-studied,.score{color:#666;font-size:.9rem;margin:5px 0}.progress-container{margin:8px 0}.hive-button{border:none;border-radius:5px;cursor:pointer;font-weight:700;margin-top:5px;padding:6px 12px;transition:all .2s}.hive-button.small{background-color:#222;color:#fff}.hive-button.small:hover{background-color:#444}@media (max-width:768px){.dashboard-container{grid-template-columns:1fr}}.study-page{background-color:#f9f9f9;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.page-title{color:#222;font-size:2.2rem;margin-bottom:40px;text-align:center}.dashboard-container{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 1fr 1fr}.dashboard-box{background-color:#fff;border-radius:12px;box-shadow:0 4px 15px #0000001a;padding:25px}.dashboard-box h2{color:#222;font-size:1.5rem;margin:0 0 20px}.subtitle{color:#666;font-size:.9rem;margin-bottom:20px;margin-top:-15px}.study-sets-box{border-top:4px solid gold}.action-buttons{display:flex;flex-direction:column;gap:15px}.big-button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:1.1rem;font-weight:700;justify-content:center;padding:15px;transition:all .2s}.big-button.create-button{background-color:gold;color:#222}.big-button.create-button:hover{background-color:#ffc000;transform:translateY(-2px)}.big-button.view-sets-button{background-color:#222;color:#fff}.big-button.view-sets-button:hover{background-color:#444;transform:translateY(-2px)}.big-button.games-button{background-color:#28a745;color:#fff}.big-button.games-button:hover{background-color:#218838;transform:translateY(-2px)}.plus-icon{margin-right:10px}.needs-improvement-box{border-top:4px solid #dc3545}.improvement-item{background-color:#f8f9fa;border-radius:8px;margin-bottom:15px;padding:20px;position:relative}.delete-score-btn{align-items:center;background:#dc3545;border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;line-height:1;opacity:0;position:absolute;right:10px;top:10px;transition:all .2s ease;width:24px}.improvement-item:hover .delete-score-btn{opacity:1}.delete-score-btn:hover{background:#c82333;transform:scale(1.1)}.no-scores{background-color:#f8f9fa;border-radius:8px;color:#666;font-style:italic;padding:20px;text-align:center}.improvement-item h3{color:#333;font-size:1.2rem;margin:0 0 10px}.test-score{color:#666;font-size:.9rem;margin-bottom:15px}.test-date{color:#888;font-size:.8rem;font-style:italic;margin-top:5px}.practice-button{background-color:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:8px 16px;transition:all .2s}.practice-button:hover{background-color:#c82333;transform:translateY(-2px)}.recently-used-box{border-top:4px solid #28a745}.recent-item{background-color:#f8f9fa;border-radius:8px;margin-bottom:15px;padding:20px}.recent-item h3{color:#333;font-size:1.2rem;margin:0 0 10px}.last-studied{color:#666;font-size:.9rem;margin-bottom:15px}.continue-button{background-color:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:8px 16px;transition:all .2s}.continue-button:hover{background-color:#218838;transform:translateY(-2px)}@media (max-width:1024px){.dashboard-container{grid-template-columns:1fr}.dashboard-box{margin-bottom:20px}}.your-sets-page{margin:0 auto;max-width:1200px;padding:20px}.sets-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.sets-header h1{color:#222;font-size:2.2rem;margin:0}.create-set-button{align-items:center;background-color:gold;border:none;border-radius:8px;color:#222;cursor:pointer;display:flex;font-size:1.1rem;font-weight:700;gap:8px;padding:12px 24px;transition:all .2s}.create-set-button:hover{background-color:#ffc000;transform:translateY(-2px)}.plus-icon{font-size:1.2rem}.new-set-form{background-color:#fff;border-radius:12px;box-shadow:0 4px 15px #0000001a;margin-bottom:30px;padding:25px}.new-set-form h2{color:#222;margin:0 0 20px}.new-set-form input{border:1px solid #ddd;border-radius:6px;font-size:1rem;margin-bottom:15px;padding:12px;width:100%}.form-buttons{display:flex;gap:10px}.form-buttons button{border:none;border-radius:6px;cursor:pointer;font-weight:700;padding:10px 20px;transition:all .2s}.form-buttons button[type=submit]{background-color:#28a745;color:#fff}.form-buttons button[type=submit]:hover{background-color:#218838}.form-buttons button[type=button]{background-color:#6c757d;color:#fff}.form-buttons button[type=button]:hover{background-color:#5a6268}.sets-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.set-card{box-shadow:0 2px 10px #0000001a;position:relative}.delete-set-button{align-items:center;background-color:#dc3545;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:30px;justify-content:center;opacity:0;position:absolute;right:10px;top:10px;transition:opacity .2s,transform .2s;width:30px;z-index:1}.set-card:hover .delete-set-button{opacity:1}.delete-set-button:hover{background-color:#c82333;transform:scale(1.1)}.set-card:hover{box-shadow:0 4px 15px #00000026}.set-card-content{padding:20px}.set-card h2{color:#333;font-size:1.4rem;margin:0 0 15px}.set-card-stats{color:#666;display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:15px}.progress-container{background-color:#e0e0e0;border-radius:4px;height:8px;margin-bottom:15px;overflow:hidden;width:100%}.progress-bar{background-color:gold;border-radius:4px;height:100%;transition:width .3s ease}.set-card-actions{display:flex;gap:10px}.set-card-actions button{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-weight:500;padding:8px 16px;transition:all .2s}.set-card-actions button:first-child{background-color:#222;color:#fff}.set-card-actions button:first-child:hover{background-color:#444}.set-card-actions button:nth-child(2){background-color:gold;color:#222}.set-card-actions button:nth-child(2):hover{background-color:#ffc000}.set-card-actions button.test-button{background-color:#28a745;color:#fff}.set-card-actions button.test-button:hover{background-color:#218838}.add-cards-form{border-top:1px solid #eee;margin-top:15px;padding-top:15px}.add-cards-form input{border:1px solid #ddd;border-radius:4px;margin-bottom:10px;padding:8px;width:100%}.add-cards-form button{background-color:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px;transition:background-color .2s;width:100%}.add-cards-form button:hover{background-color:#218838}@media (max-width:768px){.sets-header{flex-direction:column;gap:15px;text-align:center}.sets-grid{grid-template-columns:1fr}}.set-view-page{margin:0 auto;max-width:1200px;padding:20px}.set-header{margin-bottom:40px;text-align:center}.set-header h1{color:#222;font-size:2.2rem;margin-bottom:10px}.set-stats{gap:20px;margin-bottom:20px}.set-actions,.set-stats{display:flex;justify-content:center}.set-actions{gap:16px}.study-button,.test-button{background-color:gold;border:none;border-radius:8px;color:#222;cursor:pointer;font-size:1.1rem;font-weight:700;padding:12px 24px;transition:all .2s}.study-button:hover,.test-button:hover{transform:translateY(-2px)}.study-button:hover{background-color:#ffc000}.test-button{background-color:#4caf50}.test-button:hover{background-color:#45a049}.featured-card{background-color:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin-bottom:40px;overflow:hidden;padding:20px;position:relative}.card-navigation{align-items:center;display:flex;gap:20px;justify-content:center;margin-bottom:20px}.card-navigation button{background-color:#222;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1.2rem;padding:8px 16px}.card-navigation span{color:#666;font-size:1.1rem}.featured-card-content{cursor:pointer;height:300px;margin:0 auto;max-width:600px;perspective:1000px;position:relative;width:100%}.featured-side{align-items:center;backface-visibility:hidden;background-color:#f9f9f9;border-radius:12px;box-shadow:0 4px 12px #0000001a;display:flex;flex-direction:column;height:100%;padding:30px;position:absolute;transition:transform .6s ease;width:100%}.featured-card-content.flipped .featured-side.front,.featured-side.back{transform:rotateY(180deg)}.featured-card-content.flipped .featured-side.back{transform:rotateY(1turn)}.featured-side h3{color:#666;font-size:1.2rem;letter-spacing:1px;margin-bottom:20px;text-transform:uppercase}.featured-side p{align-items:center;color:#222;display:flex;flex-grow:1;font-size:1.4rem;justify-content:center;line-height:1.5;text-align:center;width:100%}.cards-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.card-preview{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:20px;position:relative}.delete-card-btn{align-items:center;background:#dc3545;border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;line-height:1;opacity:0;position:absolute;right:10px;top:10px;transition:all .2s ease;width:24px}.card-preview:hover .delete-card-btn{opacity:1}.delete-card-btn:hover{background:#c82333;transform:scale(1.1)}.card-number{background-color:gold;border-radius:4px;color:#222;font-size:.9rem;font-weight:700;left:10px;padding:4px 8px;position:absolute;top:10px}.card-content{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-top:20px}.card-side{background-color:#f9f9f9;border-radius:4px;padding:15px}.card-side h4{color:#666;font-size:1rem;margin-bottom:10px}.card-side p{color:#222;font-size:1.1rem}@media (max-width:768px){.card-content,.cards-grid{grid-template-columns:1fr}.featured-card-content{height:250px}.featured-side{padding:20px}.featured-side p{font-size:1.2rem}}.study-mode{align-items:center;background-color:#000000e6;display:flex;flex-direction:column;inset:0;justify-content:center;padding:2rem;position:fixed;z-index:1000}.study-card{cursor:pointer;height:400px;margin-bottom:2rem;max-width:800px;perspective:1000px;width:100%}.study-card-back,.study-card-front{align-items:center;backface-visibility:hidden;background:#fff;border-radius:12px;box-shadow:0 4px 20px #0003;display:flex;font-size:1.5rem;inset:0;justify-content:center;padding:2rem;position:absolute;transition:transform .6s}.study-card-back{transform:rotateX(180deg)}.study-card.flipped .study-card-front{transform:rotateX(-180deg)}.study-card.flipped .study-card-back{transform:rotateX(0)}.study-controls{align-items:center;background-color:#ffffff1a;border-radius:8px;display:flex;gap:1rem;padding:1rem}.study-nav-btn{background:gold;border:none;border-radius:8px;color:#222;cursor:pointer;font-size:1.2rem;font-weight:700;padding:.75rem 1.5rem}.study-nav-btn:hover{background:#ffc000}.study-shuffle-btn{background:#222;color:#fff}.study-shuffle-btn:hover{background:#444}.study-counter{color:#fff;font-size:1.2rem;margin:0 1rem}.study-close-btn{background:none;border:none;color:#fff;cursor:pointer;font-size:2rem;position:absolute;right:1rem;top:1rem}.games-page{margin:0 auto;max-width:1200px;padding:20px}.games-page h1{color:#222;font-size:2.2rem;margin-bottom:40px;text-align:center}.games-page h2{color:#333;font-size:1.8rem;margin-bottom:30px;text-align:center}.sets-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:20px}.set-card{background-color:#fff;border-radius:12px;border-top:4px solid gold;box-shadow:0 4px 15px #0000001a;cursor:pointer;padding:25px;transition:transform .2s,box-shadow .2s}.set-card:hover{box-shadow:0 6px 20px #00000026;transform:translateY(-5px)}.set-card h3{color:#222;font-size:1.4rem;margin:0 0 15px}.set-stats{color:#666;font-size:.9rem}.game-selection{margin:0 auto;max-width:800px}.game-modes{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:30px 0}.game-mode-card{background-color:#fff;border-radius:12px;box-shadow:0 4px 15px #0000001a;cursor:pointer;padding:30px;text-align:center;transition:transform .2s}.game-mode-card:hover{transform:translateY(-5px)}.game-mode-card h3{color:#222;font-size:1.4rem;margin:0 0 15px}.game-mode-card p{color:#666;font-size:1rem;line-height:1.5;margin-bottom:20px}.game-mode-card.coming-soon{cursor:not-allowed;opacity:.7}.play-button{background-color:gold;border:none;border-radius:8px;color:#222;cursor:pointer;font-size:1.1rem;font-weight:700;padding:12px 24px;transition:all .2s}.play-button:hover:not(:disabled){background-color:#ffc000;transform:translateY(-2px)}.play-button:disabled{background-color:#ccc;cursor:not-allowed}@media (max-width:768px){.game-modes,.sets-grid{grid-template-columns:1fr}.game-mode-card{padding:20px}}.matching-game{margin:0 auto;max-width:1200px;padding:20px}.game-header{margin-bottom:30px;text-align:center}.game-header h1{color:#222;font-size:2.2rem;margin-bottom:20px}.game-stats{display:flex;gap:30px;justify-content:center;margin-bottom:20px}.stat{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:10px 20px;transition:all .3s ease}.stat.beating-record{animation:pulse 1s infinite;background-color:gold;color:#222}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.stat span{color:#666;font-weight:700;margin-right:5px}.game-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,1fr);margin:0 auto;max-width:1200px;padding:20px}.game-card{aspect-ratio:4/3;cursor:pointer;min-height:160px;perspective:1000px}.card-inner{border-radius:12px;box-shadow:0 4px 8px #0000001a;height:100%;overflow:hidden;position:relative;text-align:center;transition:all .3s ease;width:100%}.game-card:hover .card-inner{box-shadow:0 6px 12px #00000026;transform:translateY(-5px)}.game-card.matched .card-inner{animation:matchSuccess .6s ease-out;box-shadow:0 0 20px #28a74599}@keyframes matchSuccess{0%{box-shadow:0 0 0 #28a74500}50%{box-shadow:0 0 30px #28a745cc}to{box-shadow:0 0 20px #28a74599}}.card-back,.card-front{word-wrap:break-word;border-radius:12px;font-size:1.3rem;inset:0;line-height:1.5;overflow-y:auto;padding:30px;position:absolute;transition:opacity .3s ease,transform .3s ease}.card-back,.card-back p,.card-front,.card-front p{align-items:center;display:flex;justify-content:center;text-align:center}.card-back p,.card-front p{min-height:100%}.card-front{align-items:center;background-color:gold;color:#222;display:flex;font-size:3rem;font-weight:700;justify-content:center;opacity:1;text-align:center;transform:translateY(0)}.card-back p,.card-front p{left:50%;margin:0;padding:0;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}.card-back{background-color:#fff;color:#222;opacity:0;transform:translateY(20px)}.game-card.flipped .card-front{opacity:0;transform:translateY(-20px)}.game-card.flipped .card-back{opacity:1;transform:translateY(0)}.game-card.matched .card-inner{box-shadow:0 0 15px #28a74580}.game-completed{background-color:#fff;border-radius:12px;box-shadow:0 4px 20px #0003;left:50%;padding:30px;position:fixed;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:1000}.game-completed h2{color:#222;font-size:1.8rem;margin-bottom:15px}.game-completed p{color:#666;margin-bottom:20px}.game-actions{display:flex;gap:15px;justify-content:center}.game-actions button{border:none;border-radius:8px;cursor:pointer;font-weight:700;padding:10px 20px;transition:all .2s}.game-actions button:first-child{background-color:gold;color:#222}.game-actions button:first-child:hover{background-color:#ffc000}.game-actions button:last-child{background-color:#222;color:#fff}.game-actions button:last-child:hover{background-color:#444}.high-score{align-items:center;color:gold;display:flex;font-size:1.2rem;font-weight:700;gap:8px;justify-content:center;margin-bottom:20px;text-shadow:1px 1px 2px #0003}@media (max-width:1024px){.game-grid{gap:15px;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,1fr)}.game-card{min-height:140px}}@media (max-width:768px){.game-grid{gap:15px;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(6,1fr);padding:10px}.game-card{min-height:120px}.game-stats{align-items:center;flex-direction:column;gap:10px}.stat{max-width:200px;width:100%}.card-back,.card-front{font-size:1rem;padding:10px}}.points-earned{animation:pointsPopup .5s ease-out;color:gold;font-size:1.5rem;font-weight:700;margin:15px 0;text-shadow:1px 1px 2px #0003}@keyframes pointsPopup{0%{opacity:0;transform:scale(.5)}70%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.test-mode{margin:0 auto;max-width:800px;padding:20px}.test-header{margin-bottom:40px;text-align:center}.test-header h1{color:#222;font-size:2.2rem;margin-bottom:15px}.test-progress{color:#666;font-size:1.1rem;margin-bottom:10px}.score-display{color:#28a745;font-size:1.2rem;font-weight:700}.test-card{background-color:#fff;border-radius:12px;box-shadow:0 4px 15px #0000001a;margin-bottom:30px;padding:30px}.question{color:#222;font-size:1.4rem;line-height:1.5;margin-bottom:25px;text-align:center}.test-card form{display:flex;flex-direction:column;gap:15px}.test-card input{border:2px solid #ddd;border-radius:8px;font-size:1.2rem;padding:15px;transition:all .3s ease}.test-card input:focus{border-color:gold;box-shadow:0 0 0 3px #ffd70033;outline:none}.test-card input.correct{background-color:#28a7451a;border-color:#28a745}.test-card input.incorrect{background-color:#dc35451a;border-color:#dc3545}.test-card button{background-color:gold;border:none;border-radius:8px;color:#222;cursor:pointer;font-size:1.1rem;font-weight:700;padding:12px;transition:all .2s}.test-card button:hover{background-color:#ffc000;transform:translateY(-2px)}.test-complete{background-color:#fff;border-radius:12px;box-shadow:0 4px 15px #0000001a;padding:40px;text-align:center}.test-complete h2{color:#222;font-size:2rem;margin-bottom:20px}.final-score{color:#28a745;font-size:3rem;font-weight:700;margin-bottom:15px}.score-details{color:#666;font-size:1.2rem;margin-bottom:30px}.test-actions{display:flex;gap:15px;justify-content:center}.test-actions button{border:none;border-radius:8px;cursor:pointer;font-weight:700;padding:12px 24px;transition:all .2s}.test-actions button:first-child{background-color:#222;color:#fff}.test-actions button:first-child:hover{background-color:#444}.test-actions button:last-child{background-color:gold;color:#222}.test-actions button:last-child:hover{background-color:#ffc000}.back-button{background:none;border:none;color:#666;cursor:pointer;display:block;font-size:1.1rem;margin:30px auto;padding:10px 20px;transition:color .2s}.back-button:hover{color:#222}.error{background-color:#f8d7da;border-radius:4px;color:#dc3545;margin:1rem 0;padding:.5rem}.error,.loading{text-align:center}.loading{color:#666;margin:2rem 0}@media (max-width:768px){.test-mode{padding:15px}.test-card{padding:20px}.question{font-size:1.2rem}.test-card input{font-size:1.1rem;padding:12px}.final-score{font-size:2.5rem}}
/*# sourceMappingURL=main.03ec4285.css.map*/