@import url(https://fonts.googleapis.com/css2?family=Radio+Canada+Big:ital,wght@0,400..700;1,400..700&display=swap);*{box-sizing:border-box;font-family:Radio Canada Big,sans-serif}body{background:#333;margin:0}html{scroll-behavior:smooth}.container{color:#fff;font-size:1rem;margin-left:5%;margin-right:5%}.navbar{border:1 solid #1e1e1e;z-index:9999}.navbar,.navbar-div{background-color:#333;display:flex;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;width:100%}.navbar-div{align-items:center;color:#fff;gap:1rem 1rem;margin-bottom:1%;margin-left:5%;margin-right:1%}.hamburger-menu{background:none;border:none;color:#fff;cursor:pointer;display:none;font-size:24px}.name-list{gap:1rem 3rem;margin-right:5%}.contact-info{column-gap:inherit;display:flex}.site-title{grid-gap:0;display:grid;flex-direction:column;font-size:2rem;gap:0;margin-top:1%}.page-list{display:flex;flex-direction:row;flex-wrap:wrap;font-size:large;gap:1rem 3rem;padding:0}.navbar a{color:inherit;text-decoration:none}.navbar li{display:inline}.navbar li:hover{color:#575757}.navbar li.active{text-decoration:underline;-webkit-text-decoration-color:#e41515;text-decoration-color:#e41515;text-decoration-thickness:30%}.footer{align-self:center;color:#141414;display:flex;justify-content:center;margin-bottom:1%;margin-top:15%;text-align:center}.home-buttons button.selected{border-color:#ff2f00}.burger{margin-right:5%}.home-section-content-box{align-items:flex-start;animation-fill-mode:both;display:inherit}.home-section-content{margin-right:auto}.home-section-info{display:flex;gap:1rem}.home-buttons button{border:2px solid #0000;border-radius:5px;cursor:pointer;font-size:16px;margin-top:10px;padding:10px 20px}.me-image{border:#fff;border-style:solid;height:80%;margin-top:1rem;max-width:80%}.home-buttons{display:flex;gap:0 1rem;justify-content:center;list-style:none;margin-top:5%;padding:0}button.selected{border-color:#ff2f00}@media (max-width:1090px){.home-section-info{align-items:flex-start;animation-fill-mode:both;display:inherit;margin-right:auto}}@media (max-width:768px){.hamburger-menu{display:flex;margin:.5rem 0}.home-section-info{align-items:flex-start;animation-fill-mode:both;display:inherit;margin-right:auto}.home-buttons{align-items:flex-start;display:inline-flex;flex-wrap:wrap;gap:0 .5rem}.home-buttons button{font-size:14px;padding:5px}.about-section-content-box{align-items:start;display:inherit;margin-right:10%}img.me-image{display:none}}.connect4-div{display:flex;flex-direction:column}.about-section-content-box{align-items:start;display:flex;margin-right:10%}.about-image{border:#fff;border-style:solid}.about-section-content p a{color:#039ffa}.project-section-content-box{color:#fff;font-size:1rem}.project-section-content{display:flex;flex-direction:column;gap:1rem}.project-list{list-style:none;margin:0;padding:0}.project-list li{margin-bottom:2rem}.project-div{grid-gap:1rem;align-items:start;background-color:#282828;border:1px solid #484848;display:grid;gap:1rem;grid-template-columns:1fr 1fr;padding:1rem}.project-text{padding:0 1rem}.project-images{align-items:center;display:flex;justify-content:center;padding:1rem}.project-images img{border:1px solid #484848;height:auto;max-width:100%}.image-list{margin:0;padding:0}@media (max-width:768px){.project-section-content-box{margin:0 5%}.project-div{grid-template-columns:1fr}.project-images,.project-text{padding:0}}.project-list p a{color:#039ffa}.projLink{color:inherit}.project-images{align-items:end;display:contents}.image-list{align-self:center;list-style:none}.project-images img{border-color:#484848;border-style:solid}figure{display:inline-block}figure img{border-color:#484848;border-style:solid;vertical-align:top}figure figcaption{color:#bebebe;text-align:center}.modal{align-items:center;background-color:#000000e6;display:none;display:flex;height:100%;justify-content:center;left:0;overflow:auto;position:fixed;top:0;width:100%;z-index:1}.modal-content{align-items:center;display:block;max-height:100%;max-width:100%}#caption{color:#ccc;display:block;margin:auto;max-width:700px;padding:10px 0;text-align:center;width:80%}#caption,.modal-content{animation-duration:.6s;animation-name:zoom}@keyframes zoom{0%{transform:scale(0)}to{transform:scale(1)}}.close{color:#f1f1f1;font-size:40px;font-weight:700;position:absolute;right:35px;top:15px;transition:.3s}.close:focus,.close:hover{color:#bbb;cursor:pointer;text-decoration:none}.Toastify__toast-theme--colored.Toastify__toast--success{background-color:#2e8b57}.connect4{grid-gap:10%;align-items:start;display:grid;gap:10%;grid-template-columns:1fr 1fr;width:100%}.connect4-grid{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,1fr);max-width:100%}.connect4-cell{background-color:#fff;border:2px solid #333;border-radius:50%;cursor:pointer;padding-top:auto;position:relative;transition:background-color .3s ease-in-out,border-color .1s ease-in-out;width:auto}.connect4-cell.last-move{animation:flash-border 1s ease-in-out;border:4px solid #0f0;box-shadow:0 0 15px #0f09}@keyframes flash-border{0%,to{border-color:#0f0;box-shadow:0 0 15px #0f09}25%{border-color:#6f6;box-shadow:0 0 25px #00ff00e6}50%{border-color:#0f0;box-shadow:0 0 20px #0f0c}75%{border-color:#3f3;box-shadow:0 0 30px #0f0}}.connect4-cell.winning-cell{animation:pulse-gold 1.5s infinite;border:4px solid gold;box-shadow:0 0 20px #ffd700cc;z-index:10}@keyframes pulse-gold{0%,to{border-color:gold;box-shadow:0 0 20px #ffd700cc;transform:scale(1)}50%{border-color:#ffed4a;box-shadow:0 0 30px gold;transform:scale(1.05)}}.winner-overlay{align-items:center;animation:fadeIn .5s ease-in-out;background:#000000b3;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.winner-message{animation:celebrationBounce 1s ease-in-out infinite alternate;background:linear-gradient(135deg,#667eea,#764ba2);border:3px solid gold;border-radius:20px;box-shadow:0 10px 30px #0000004d;color:#fff;font-size:2rem;font-weight:700;padding:2rem;text-align:center}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes celebrationBounce{0%{box-shadow:0 10px 30px #0000004d;transform:scale(1) rotate(0deg)}to{box-shadow:0 12px 35px #0006;transform:scale(1.01) rotate(0deg)}}.confetti{animation:confetti-fall 3s linear infinite;background:gold;border-radius:2px;height:10px;position:absolute;width:10px}.confetti:nth-child(odd){animation-delay:-.5s;background:#ff6b6b;height:12px;width:8px}.confetti:nth-child(3n){animation-delay:-1s;background:#4ecdc4;height:8px;width:12px}.confetti:nth-child(4n){animation-delay:-1.5s;background:#45b7d1;height:14px;width:6px}.confetti:nth-child(5n){animation-delay:-2s;background:#96ceb4;height:10px;width:10px}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-100vh) rotate(0deg)}to{opacity:0;transform:translateY(100vh) rotate(2turn)}}.agent-selection h2{margin-bottom:0}.agents{gap:0 1rem;margin-bottom:1rem}.agents,.depth-select{display:flex;margin-top:0}.depth-select{align-items:baseline;flex-direction:row;gap:.5rem;justify-content:end;justify-self:left}.connect4-cell:after{content:"";display:block;padding-top:100%}.connect4-cell>div{border-radius:50%;height:100%;left:0;position:absolute;top:0;width:100%}.connect4-cell:hover{background-color:#d3d3d3}.board button{border:2px solid #0000;border-radius:5px;cursor:pointer;font-size:16px;margin-top:1rem;padding:10px 20px}.board{margin-top:1%}.agents button{font-size:16px}.depth-select button{background-color:#f0f0f0;border:2px solid #0000;border-radius:5px;cursor:pointer;font-size:16px;transition:border-color .3s ease,background-color .3s ease}.depth-buttons{align-content:center;display:flex;flex-wrap:wrap;gap:.5rem;padding:0}.agents button{background-color:#f0f0f0;border:2px solid #0000;border-radius:5px;cursor:pointer;margin-top:1rem;padding:10px 20px;transition:border-color .3s ease,background-color .3s ease}.agents button.selected,.depth-select button.selected{background-color:#aaadb1;border-color:#ff2f00}.agents button:hover{background-color:#b8b8b8}.connect4-cell.disabled{cursor:not-allowed;opacity:.7}.connect4-cell.disabled:hover{background-color:#fff}.user-section{background-color:#f9f9f9;border:2px solid #333;border-radius:10px;margin-bottom:2rem;margin-top:10%;padding:1rem}.user-info{align-items:center;display:flex;gap:5%;justify-content:space-between;margin-bottom:1rem}.leaderboard-btn,.username-btn{background-color:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem}.leaderboard-btn:hover,.username-btn:hover{background-color:#0056b3}.user-stats{display:flex;gap:1rem;justify-content:center;margin:1rem 0}.stat-item{align-items:center;border-radius:8px;display:flex;flex-direction:column;min-width:30%;padding:.5rem}.stat-item.wins{background-color:#d4edda;border:2px solid #28a745}.stat-item.losses{background-color:#f8d7da;border:2px solid #dc3545}.stat-item.ties{background-color:#fff3cd;border:2px solid #ffc107}.stat-number{color:#000;font-size:1.5rem;font-weight:700}.stat-label{color:#555;text-transform:uppercase}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:10px;color:#000;max-width:400px;padding:2rem;width:90%}.modal-content h3{margin-top:0}.modal-content input{margin:1rem 0}.modal-content input,.modal-content input[type=password]{border:1px solid #ddd;border-radius:5px;box-sizing:border-box;padding:.5rem;width:100%}.modal-content input[type=password]{margin:.5rem 0}.modal-buttons{display:flex;gap:1rem;justify-content:flex-end}.modal-buttons button{border:none;border-radius:5px;cursor:pointer;padding:.5rem 1rem}.modal-buttons button[type=submit]{background-color:#28a745;color:#fff}.modal-buttons button[type=button]{background-color:#6c757d;color:#fff}.leaderboard-modal{display:flex;flex-direction:column;height:auto;max-width:600px;min-height:550px;transform:scale(.95);transition:none;width:90%}.leaderboard-modal.fade-in{opacity:1;transform:scale(1);transition:opacity .3s ease,transform .3s ease}.leaderboard-content-container{background:#f9f9f9;border:1px solid #eee;border-radius:4px;height:320px;margin:15px 0;overflow-y:auto;position:relative;width:100%}.leaderboard-header{background:#f9f9f9;border-bottom:2px solid #ddd;display:flex;font-weight:700;padding:10px 0;position:-webkit-sticky;position:sticky;top:0;z-index:1}.leaderboard-header-container{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px;width:100%}.view-toggle-button{background-color:#4a6fa5;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:5px 10px}.view-toggle-button:hover{background-color:#3a5985}.leaderboard-table{border-collapse:collapse;margin-top:1rem;width:100%}.leaderboard-table td,.leaderboard-table th{border:1px solid #ddd;text-align:center}.leaderboard-table th{background-color:#f4f4f4;font-size:1rem;font-weight:700}.leaderboard-row{font-size:.9rem}.leaderboard-row.current-user{background-color:#ffd90033;font-weight:700}.no-data-row td{color:#888;font-style:italic;text-align:center}.leaderboard-row.empty{color:#ccc}.loading-indicator{color:#888;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.no-data-row{color:#888;font-style:italic;padding:40px 0;text-align:center}.pagination{align-items:center;display:flex;gap:10px;justify-content:space-between;margin:10px 0}.current-user{background-color:#ffd90033;font-weight:700}.leaderboard-filter{align-items:center;display:flex;margin:15px 0}.leaderboard-filter select{border-radius:4px;flex-grow:1;margin-left:10px;max-width:250px;padding:5px}.close-button{display:none}.auth-buttons{display:flex;gap:.5rem}.auth-btn{background-color:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem}.auth-btn:hover{background-color:#0056b3}.user-btn{background:none;border:none;border-radius:5px;color:#007bff;cursor:pointer;font-size:1rem}.user-btn:hover{background-color:#7bb3ef}.auth-switch{font-size:.9rem;margin-top:1rem;text-align:center}.auth-switch button{background:none;border:none;color:#007bff;cursor:pointer;font-size:.9rem;padding:0;text-decoration:underline}.auth-switch button:hover{color:#0056b3}.google-signin{display:flex;justify-content:center;margin:1rem 0}.auth-separator{align-items:center;display:flex;margin:1rem 0;text-align:center}.auth-separator:after,.auth-separator:before{border-bottom:1px solid #ddd;content:"";flex:1 1}.auth-separator span{color:#666;font-size:.9rem;padding:0 10px}input[type=email]{border:1px solid #ddd;border-radius:5px;box-sizing:border-box;margin:.5rem 0;padding:.5rem;width:100%}.user-action-buttons{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:15px}.action-btn{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 12px;transition:background-color .2s}.action-btn:hover{background-color:#2980b9}.search-modal{max-width:500px}.search-form{display:flex;gap:5px;margin-bottom:20px}.search-form input{border:1px solid #ccc;border-radius:4px 0 0 4px;flex:1 1;padding:8px}.search-form button{align-self:center;background-color:#3498db;border:none;border-radius:0 4px 4px 0;color:#fff;cursor:pointer;height:-webkit-fit-content;height:fit-content;padding:8px 15px}.results-list{border:1px solid #eee;border-radius:4px;max-height:300px;overflow-y:auto}.user-result{border-bottom:1px solid #eee;cursor:pointer;padding:10px 15px;transition:background-color .2s}.user-result:hover{background-color:#f5f5f5}.user-result:last-child{border-bottom:none}.loading-indicator{align-items:center;color:#666;display:flex;font-size:1rem;height:150px;justify-content:center}.no-results{color:#666;font-style:italic;padding:20px;text-align:center;word-break:break-word}.profile-modal{max-height:90vh;max-width:700px;overflow-y:auto}.profile-modal .loading-indicator{align-items:center;display:flex;height:100px;justify-content:center;margin-bottom:30px;margin-top:30px}.profile-content{margin-top:20px}.profile-modal h3{margin-bottom:20px}.overall-stats{margin-bottom:25px}.stats-row{display:flex;justify-content:space-between;margin-top:10px}.stat-box{background-color:#f9f9f9;border-radius:4px;flex:1 1;margin:0 5px;padding:10px;text-align:center}.stat-value{color:#333;display:block;font-size:1.5rem;font-weight:700}.stat-label{color:#666;font-size:.9rem}.model-stats-container{border:1px solid #eee;border-radius:4px;margin-bottom:25px;overflow:hidden}.model-stats-header,.model-stats-row{display:grid;grid-template-columns:3fr 1fr 1fr 1fr 2fr;padding:10px}.model-stats-header{background-color:#f0f0f0;font-weight:700}.model-stats-row.even{background-color:#f9f9f9}.model-stats-row.odd{background-color:#fff}.performance-insights{display:flex;flex-wrap:wrap;gap:20px}.insight-box{border-radius:4px;flex:1 1;min-width:250px;padding:15px}.best-model{background-color:#e8f7f3;border:1px solid #d1e7dd}.worst-model{background-color:#fef2f2;border:1px solid #f5c2c7}.record,.win-rate{display:block;margin-top:5px}.model-leaderboard-modal{max-width:800px}.model-leaderboard-content{margin:15px 0}.model-leaderboard-header,.model-leaderboard-row{align-items:center;display:grid;grid-template-columns:.5fr 3fr 1fr 1fr 2fr;padding:10px}.model-leaderboard-header{background-color:#f0f0f0;font-weight:700}.model-leaderboard-row{border-bottom:1px solid #eee}.model-leaderboard-row:nth-child(2n){background-color:#f9f9f9}.no-data{color:#666;padding:20px;text-align:center}.leaderboard-row .username.clickable{color:#3498db;cursor:pointer;text-decoration:underline;transition:color .2s}.leaderboard-row .username.clickable:hover{color:#2980b9}.leaderboard-row.current-user .username.clickable{cursor:pointer;text-decoration:underline}@media (max-width:768px){.connect4{width:100%}.connect4-grid{gap:2px;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,1fr)}.connect4-cell{border-width:1px}.agents button{font-size:14px;padding:8px 12px}.depth-select button{background-color:#f0f0f0;border:2px solid #0000;border-radius:5px;cursor:pointer;font-size:16px;transition:border-color .3s ease,background-color .3s ease}.board button{padding:5px 10px}}.forgot-password{margin-top:10px;text-align:center}.forgot-password button{background:none;border:none;color:#0056b3;cursor:pointer;font-size:.9em;text-decoration:underline}.forgot-password button:hover{color:#003d82}.or-divider{color:#666;margin:10px 0;text-align:center}.reset-success{padding:10px;text-align:center}.reset-success button{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-top:15px;padding:8px 15px}@media (max-width:768px){.connect4{align-self:center;display:block;margin-left:0;margin-right:0;padding-top:1rem;width:100%}.modal-content{padding:1.5rem;width:95%}.leaderboard-modal,.model-leaderboard-modal{min-height:auto;padding:1rem;width:95%}.leaderboard-filter{align-items:flex-start;flex-direction:column}.leaderboard-filter select{margin-left:0;margin-top:8px;max-width:none;width:100%}.leaderboard-header,.leaderboard-row{font-size:.9rem}.model-leaderboard-header,.model-leaderboard-row{font-size:.9rem;grid-template-columns:.5fr 2fr 1fr 1fr 1.5fr;padding:8px 5px}.pagination{flex-wrap:wrap;gap:10px;justify-content:center}.search-modal{padding:1rem;width:95%}.search-form{flex-direction:column;gap:10px}.search-form button,.search-form input{border-radius:4px;width:100%}.search-form button{padding:10px}.profile-modal{padding:1rem;width:95%}.stats-row{flex-wrap:wrap}.stat-box{flex:1 0 40%;margin:5px}.model-stats-header,.model-stats-row{font-size:.9rem;grid-template-columns:2fr 1fr 1fr 1fr 1fr;padding:8px 5px}.performance-insights{flex-direction:column}.insight-box{min-width:100%}}@media (max-width:480px){.leaderboard-header,.leaderboard-row{font-size:.8rem}.model-leaderboard-header,.model-leaderboard-row{font-size:.8rem;grid-template-columns:.5fr 1fr .8fr .8fr 1fr;padding:8px 3px}.leaderboard-modal h3,.model-leaderboard-modal h3,.search-modal h3{font-size:1.2rem}}.modal-close-x{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:1.5rem;font-weight:700;justify-content:center;line-height:1;transition:color .2s;z-index:10}.modal-close-x:hover{color:#333}.leaderboard-modal,.modal-content,.model-leaderboard-modal,.profile-modal,.search-modal{position:relative}.guest-user-prompt{word-wrap:break-word;background-color:#f0f8ff;border:1px solid #add8e6;border-radius:4px;box-sizing:border-box;line-height:1.5;margin:10px 0;overflow-wrap:break-word;padding:15px;text-align:center;width:100%}.guest-user-prompt p,.register-link{margin:0;padding:0}.register-link{background:none;border:none;color:#0056b3;cursor:pointer;font-size:inherit;font-weight:700;text-decoration:underline}.register-link:hover{color:#003d82}.modal-header,.profile-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px}.confirmation-modal-overlay{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.confirmation-modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;padding:20px;text-align:center}.confirmation-modal-buttons{margin-top:20px}.confirm-btn{background:#28a745;margin-right:10px}.cancel-btn,.confirm-btn{border:none;border-radius:5px;color:#fff;cursor:pointer;padding:10px 20px}.cancel-btn{background:#dc3545}.cancel-btn:hover,.confirm-btn:hover{opacity:.9}.reset-password-container{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 100px);padding:20px}.reset-password-card{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;max-width:450px;padding:30px;width:100%}.reset-password-card h2{color:#333;margin-bottom:20px;text-align:center}.form-group{margin-bottom:20px}.form-group label{color:#555;display:block;font-weight:500;margin-bottom:8px}.form-group input{border:1px solid #ddd;border-radius:4px}.form-group input,.reset-button{font-size:16px;padding:12px;width:100%}.reset-button{background-color:#2b6cb0;border:none;border-radius:4px;color:#fff;cursor:pointer;transition:background-color .3s}.reset-button:hover{background-color:#1e4e8c}.reset-button:disabled{background-color:#90cdf4;cursor:not-allowed}.error-message{background-color:#fed7d7;color:#c53030;margin-bottom:20px;padding:12px}.error-message,.success-message{border-radius:4px;text-align:center}.success-message{background-color:#c6f6d5;color:#2f855a;padding:15px}.caro-div{display:flexbox}.caro-div,.caro-div ul{gap:1rem 2rem;grid-template-columns:1fr 1fr;justify-content:left;list-style:none;padding:0}.caro-div ul{display:flex}