.sidebar{background-color:#fff;overflow:hidden}.sidebar,.sidebar-icons{display:flex;flex-direction:column;height:100%}.sidebar-icons{align-items:center;box-sizing:border-box;justify-content:space-between;padding:8px 0}.top-section{margin-top:8px}.middle-section{align-items:center;display:flex;flex-direction:column;flex-grow:1;gap:24px;justify-content:center}.bottom-section{margin-bottom:16px}.icon-link{align-items:center;color:inherit;cursor:pointer;display:flex;justify-content:center;text-decoration:none}.icon{border-radius:5px;padding:10px;transition:background-color .2s}.icon:hover{background-color:#d9d9d933;border-radius:10px}.icon svg{height:auto;width:3rem}@media (max-width:768px){.sidebar-icons{padding:8px 0}.middle-section{gap:16px}.icon svg{width:2rem}.bottom-section{margin-bottom:8px}}.layout{bottom:0;display:flex;left:0;position:fixed;right:0;top:0;width:100%}.layout-sidebar{border-right:1px solid #ccc;flex:0 0 auto;flex-direction:column;width:60px}.layout-sidebar,.main-content{display:flex;height:100%;padding-top:env(safe-area-inset-top,0)}.main-content{flex:1 1;flex-direction:column}@media (max-width:768px){.layout-sidebar{padding-top:max(env(safe-area-inset-top,0px),8px);width:50px}.main-content{padding-bottom:env(safe-area-inset-bottom,0);padding-top:max(env(safe-area-inset-top,0px),0px)}}.popup-overlay{background:#0000;height:100%;left:0;position:fixed;top:0;width:100%;z-index:1000}.popup-content{background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 8px #00000026;opacity:0;padding:5px 0;position:absolute;transform:translateY(-10px);transition:opacity .2s ease,transform .2s ease;width:120px}.popup-overlay .popup-content{opacity:1;transform:translateY(0)}.popup-option{cursor:pointer;padding:10px;white-space:nowrap}.popup-option:hover{background-color:#f0f0f0}.class-panel{box-sizing:border-box;display:flex;flex-direction:column;height:100%;padding:10px;position:relative}.class-list-header{font-size:1.2rem;font-weight:700;margin:10px 0 5px}.class-list{flex-grow:1;margin-top:10px;overflow-x:visible;overflow-y:auto}.class-item{align-items:center;background-color:#ffffffe6;border-radius:50px;cursor:pointer;display:flex;flex-shrink:0;font-size:1.2rem;margin-bottom:5px;padding:15px;position:relative;transition:background-color .3s,transform .3s}.class-item.selected{background-color:#d0eaff}.class-item:hover{background-color:#eee}.class-name{flex:1 1;position:relative}.options-button{align-items:center;background:none;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:1.2rem;height:32px;justify-content:center;margin-left:10px;opacity:0;padding:5px;position:relative;transition:opacity .3s ease,box-shadow .3s ease,background-color .3s ease;visibility:hidden;width:32px;z-index:2}.class-item:hover .options-button{background-color:#e0e0e0;box-shadow:0 0 0 2px #a0a0a0;opacity:1;visibility:visible}.options-button svg{color:#555;transition:color .3s ease}.class-item:hover .options-button svg{color:#007bff}.delete-option{color:#dc3545}.popup-loading{background-color:#ffffffe6;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 8px #00000026;color:#555;font-size:.9rem;padding:10px;position:absolute;right:-130px;top:50%;transform:translateY(-50%);z-index:3}.no-classes{color:#888;padding:20px;text-align:center}.chat-box{background-color:#fff;border-radius:50px 0 0 0;bottom:0;box-shadow:0 4px 12px #9988881a;box-shadow:-2px 0 2px #0000001a;box-sizing:border-box;display:flex;flex-direction:column;height:98%;position:absolute;right:0;width:calc(100% - 10px);z-index:1000}.empty-chat-frame{align-items:center;display:flex;flex:1 1;font-size:1.2rem;justify-content:center}.chat-header{background-color:#fff;border-bottom:.5px solid #d9d9d9;border-radius:50px 0 0 0;color:#000;flex:0 0 auto;font-size:20px;font-weight:700;padding:15px 30px}.chat-body{background-color:#fff;flex:1 1;overflow-y:auto;padding:20px}.chat-input{align-items:center;background-color:#fff;border-top:1px solid #ccc;display:flex;flex:0 0 auto;gap:.5rem;padding:10px}.chat-input input{border:1px solid #d9d9d9;border-radius:4px;box-sizing:border-box;flex:1 1;font-size:16px;padding:10px}.chat-input button{background-color:#2980b9;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;margin-left:10px;padding:0 20px;transition:background-color .3s}.chat-input button:hover{background-color:#1c5980}.chat-plus-button{align-items:center;background-color:initial;border-radius:50%;color:#000;cursor:pointer;display:inline-flex;font-family:Arial,sans-serif;font-size:24px;height:40px;justify-content:center;line-height:1;transition:background-color .3s ease;width:40px}.chat-plus-button:hover{background:#d9d9d933}.message-row{align-items:flex-start;display:flex;flex:0 0 auto;margin:8px 0 15px;position:relative}.my-message{align-items:flex-end;justify-content:flex-end}.other-message{align-items:flex-start;justify-content:flex-start}.message-icon{align-self:flex-start;font-size:1.2rem;margin:0 8px}.my-message .message-content{order:1}.my-message .message-icon{order:2}.other-message .message-icon{order:1}.other-message .message-content{order:2}.blue-icon{color:#007aff}.red-icon{color:#ff3b30}.message-content{display:flex;flex:0 1 auto;flex-direction:column;position:relative}.message-text{word-wrap:break-word;background-color:#f1f1f1;border-radius:12px;height:auto;line-height:1.5;margin:0;max-width:100%;padding:6px 12px}.reaction-picker{background-color:#fff;border:1px solid #ccc;border-radius:20px;box-shadow:0 2px 5px #0003;display:none;gap:8px;left:34px;padding:5px 10px;position:absolute;top:100%;z-index:10}.message-row:hover .reaction-picker{display:flex}.reaction-picker .emoji{cursor:pointer;font-size:18px;transition:transform .2s}.reaction-picker .emoji:hover{transform:scale(1.2)}.chosen-reactions{font-size:18px;margin-top:5px;min-height:20px}.message-image{border-radius:8px;display:block;height:auto;margin-bottom:8px;max-height:200px;max-width:200px}.image-preview-container{align-items:center;display:flex;gap:8px;margin-top:8px}.image-preview{border:1px solid #ccc;border-radius:4px;max-height:100px;max-width:100px;object-fit:cover}.remove-preview-btn{background:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:700;padding:4px 8px}.remove-preview-btn:hover{background:#d32f2f}.overlay{background-color:#000000b3;height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:2000}.overlay,.popup{align-items:center;display:flex;justify-content:center}.popup{background-color:#fff;border:1px solid #ccc;border-radius:8px;flex-direction:column;max-width:90%;padding:30px;position:relative;width:400px}.popup-close{background:#0000;border:none;cursor:pointer;font-size:1.5rem;position:absolute;right:10px;top:10px}.popup img{border-radius:8px;max-height:100%;max-width:100%;object-fit:contain}@media (max-width:768px){.chat-box{height:99.5%}}.join-modal-overlay{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%;z-index:9999}.join-modal{background:#fff;border-radius:6px;max-width:90%;padding:24px;width:300px}.join-modal h2{margin-top:0}.join-modal-buttons{display:flex;justify-content:space-between;margin-top:16px}.join-modal-buttons button{cursor:pointer;padding:8px 16px}.home-container{box-sizing:border-box;display:flex;height:100vh;position:relative;width:100%}.side-panel{padding:10px 20px 0;width:250px}.chat-frame{background-color:initial;display:flex;flex:1 1;height:100%;position:relative}@media (max-width:768px){.home-container{display:block;height:100vh;padding:0;width:100vw}.side-panel{display:none}.chat-frame,.mobile-container{height:100%;width:100%}.mobile-container{display:block;position:relative}}*,:after,:before{box-sizing:border-box}body,html{height:100%;margin:0;padding:0}.ais-InstantSearch{background-color:#fff;border-radius:8px;box-shadow:0 0 0 1px #23263b0d,0 1px 3px #23263b26;padding:24px 24px 12px;width:500px}.ais-InstantSearch,.search-container{display:flex;flex-direction:column;margin:0 auto}.search-container{max-height:100vh;overflow:hidden;padding:0}.search-header{color:#2980b9;font-size:2rem;margin-bottom:2rem;text-align:center}.ais-SearchBox-input{border:1px solid #ccc;border-radius:4px;box-shadow:none;font-size:16px;padding:14px;width:100%}.ais-SearchBox-reset,.ais-SearchBox-submit{display:none!important}.hits{border:1px solid #ddd;border-radius:8px;list-style:none;margin:0;max-height:400px;overflow-y:auto;padding:24px}.hits>.search-result-item{margin-left:0;padding-left:0;width:100%}.ais-Hits-list{margin:0!important}.ais-Hits-item,.ais-Hits-list{list-style-type:none!important;padding:0!important;width:100%}.ais-Hits{margin:0;max-height:500px;overflow-x:hidden;overflow-y:auto;padding:0;width:100%}.search-result-item>*{margin-left:0;padding-left:0}.search-container .hits,.search-container .hits *{list-style:none!important;margin:0;padding:0}.search-result-item{align-items:flex-start;background-color:#fff;border:1px solid #ddd;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;justify-content:flex-start;margin-bottom:16px;padding:12px 16px;transition:box-shadow .3s ease;width:100%}.search-result-item:hover{box-shadow:0 4px 10px #0000001a}.result-header{align-items:center;display:flex;justify-content:space-between;width:100%}.course-name{font-size:1.2rem;font-weight:700;margin:0}.member-count{align-items:center;display:flex;font-size:1rem;font-weight:700}.member-count svg{margin-left:4px}.course-details{color:#000;font-size:1rem;font-style:normal;font-weight:700;margin:8px 0 0}.class-schedule{color:#000;font-size:.8rem;font-weight:600;margin-top:8px}.class-info{align-items:center;display:flex;justify-content:space-between;margin-top:8px;width:100%}.class-time{color:#000;font-size:.8rem;font-weight:600;margin:0}.join-class-btn{background-color:#add8e6;border:none;border-radius:12px;color:#000;cursor:pointer;font-size:.9rem;font-weight:700;padding:8px 16px;transition:background-color .3s ease}.join-class-btn:hover{background-color:#87ceeb}.hide-content{display:none!important}.search-message{color:#555;padding:1rem;text-align:center}.algolia-footer{align-self:flex-end;display:flex;justify-content:flex-end;padding:0 16px 0 0}.algolia-footer a{align-items:center;display:flex;font-size:.8rem}.algolia-footer a svg{height:50px;margin-left:4px;width:200px}@media (max-width:768px){.search-container{padding:10px 10px 25%;width:85%}.ais-InstantSearch{margin:0;padding:16px 16px 5px;width:100%}.search-header{font-size:1.75rem;margin-bottom:1.5rem}.algolia-footer a{align-items:center;display:flex;font-size:.8rem}.algolia-footer a svg{height:50px;margin-left:4px;width:200px}}.profile-container{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;min-height:100%;padding:20px}.cc-logo-wb{margin-bottom:20px;max-width:300px;width:100%}.cc-logo-wb svg{height:auto;width:100%}.profile-title{color:#2980b9;font-size:2rem;margin:20px 0;text-align:center}.profile-details{background:#0000;border-radius:8px;margin-bottom:20px;max-width:500px;width:100%}.detail-item{background:#fff;border-radius:25px;box-sizing:border-box;margin-bottom:15px;padding:20px;width:100%}.detail-label{display:block;font-size:1.1rem;font-weight:500;margin-bottom:8px}.detail-placeholder{color:#777;font-size:1rem;margin:0;word-break:break-word}.profile-note{box-sizing:border-box;color:#777;font-size:.9rem;line-height:1.4;margin:0 auto 20px;max-width:450px;padding:0 15px;text-align:center;width:100%}.logout-button{background-color:#92d0ff;border:none;border-radius:50px;color:#000;cursor:pointer;font-size:1.5rem;font-weight:lighter;margin-top:20px;max-width:500px;padding:.75rem;transition:background-color .3s,color .3s;width:100%}.logout-button:hover{background-color:#74b4e5;color:#fff}@media (max-width:768px){.profile-container{padding:15px}.profile-title{font-size:1.75rem;margin:15px 0}.detail-item{margin-bottom:12px;padding:15px}.detail-label{font-size:1rem}.logout-button{font-size:1.25rem;padding:.6rem}.cc-logo-wb{margin-bottom:15px;max-width:250px}}@media (max-width:380px){.profile-container{padding:10px}.profile-title{font-size:1.5rem}.detail-item{padding:12px}.logout-button{font-size:1.1rem}}.create-chat-container{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;margin:0 auto;max-width:600px;min-height:100vh;padding:20px 20px 150px}.create-chat-header{background:inherit;color:#2980b9;font-size:2rem;margin-bottom:2rem;padding:10px 0;position:-webkit-sticky;position:sticky;text-align:center;top:0;z-index:1}.create-chat-form{background-color:#ffffff40;border-radius:25px;box-shadow:0 2px 10px #0000001a;display:flex;flex:1 1;flex-direction:column;margin-bottom:20px;max-width:600px;overflow-y:auto;padding:2rem;width:100%}.create-chat-label{color:#555;font-weight:700;margin-bottom:.5rem}.create-chat-input,.create-chat-select{border:1px solid #ccc;border-radius:4px;font-size:1rem;margin-bottom:1.5rem;opacity:1;padding:.75rem}.dropdown{position:relative;width:100%}.dropdown-button{align-items:center;background-color:#fff;border:1px solid #ccc;border-radius:4px;cursor:pointer;display:flex;font-size:1rem;justify-content:space-between;padding:.75rem;width:100%}.dropdown-arrow{font-size:.8rem;margin-left:10px}.dropdown-menu{background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 8px #00000026;left:0;margin-top:5px;max-height:200px;overflow-y:auto;padding:.5rem 0;position:absolute;top:100%;width:100%;z-index:1000}.dropdown-item{align-items:center;cursor:pointer;display:flex;padding:.5rem 1rem}.dropdown-item:hover{background-color:#f0f0f0}.dropdown-item input{margin-right:.5rem}.create-chat-button{background-color:#92d0ff;border:none;border-radius:50px;color:#000;cursor:pointer;font-size:1.5rem;font-weight:lighter;margin-top:1rem;padding:.75rem;transition:background-color .3s,color .3s}.create-chat-button:hover{background-color:#74b4e5;color:#fff}.form-row{display:flex;gap:20px;justify-content:space-between;margin-bottom:15px}.form-group{display:flex;flex:1 1;flex-direction:column}.checkbox-group{display:flex;flex-wrap:wrap;gap:10px}.checkbox-label{align-items:center;display:flex;gap:5px}@media (max-width:768px){.create-chat-container{height:100%;padding:10px 10px 25%;width:85%}.create-chat-header{font-size:1.75rem;margin-bottom:1.5rem}.form-row{flex-direction:column;gap:10px}.create-chat-form{padding:2rem 1.5rem}.create-chat-button{font-size:1.2rem;padding:.6rem}}.signin-container{align-items:center;background:radial-gradient(50% 50% at 50% 50%,#fff 0,#e1f1fb1a 23%,#c4e2f833 50.5%,#baddf7b3 75%,#b0d8f6b3 100%);display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:20px}.signin-header{color:#2980b9;font-size:2rem;margin-bottom:2rem;position:relative;text-align:center;top:-30px}.signin-form{background-color:#ffffff40;border-radius:25px;box-shadow:0 2px 10px #0000001a;display:flex;flex-direction:column;max-width:400px;padding:2rem;position:relative;top:-30px;width:100%}.signin-label{color:#555;font-weight:700;margin-bottom:.5rem}.email-input{margin-bottom:1.5rem}.email-input,.password-input{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;font-size:1rem;padding:.75rem;width:100%}.password-input{margin-bottom:.2rem}.signin-button{background-color:#92d0ff;border:none;border-radius:50px;box-sizing:border-box;color:#000;cursor:pointer;font-size:1.4rem;font-weight:400;padding:.75rem;text-align:center;transition:background-color .3s,color .3s;width:100%}.signin-button:hover{background-color:#74b4e5;color:#fff}.signup-link{margin-top:1.5rem;text-align:center}.signup-link-text{color:#2980b9;font-weight:700;text-decoration:none}.signup-link-text:hover{text-decoration:underline}.forgot-password-container{margin-bottom:1.5rem}.forgot-password-button{background-color:initial;border:none;color:#2980b9;cursor:pointer;font-weight:700}.forgot-password-button:hover{background-color:initial;border:none;color:#92d0ff;cursor:pointer}.signup-container{align-items:center;background:radial-gradient(50% 50% at 50% 50%,#fff 0,#e1f1fb1a 23%,#c4e2f833 50.5%,#baddf7b3 75%,#b0d8f6b3 100%);display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:20px;position:relative}.signup-header{color:#2980b9;font-size:2rem;margin-bottom:2rem;position:relative;text-align:center;top:-30px}.signup-form{background-color:#ffffff40;border-radius:25px;box-shadow:0 2px 10px #0000001a;display:flex;flex-direction:column;max-width:400px;padding:2rem;position:relative;top:-30px;width:100%}.signup-label{color:#555;font-weight:700;margin-bottom:.5rem}.signup-input{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;font-size:1rem;margin-bottom:1.5rem;padding:.75rem;width:100%}.error-message{color:red;font-size:.9rem;margin-bottom:1rem;margin-top:-1rem}.signup-button{background-color:#92d0ff;border:none;border-radius:50px;box-sizing:border-box;color:#000;cursor:pointer;font-size:1.4rem;font-weight:400;padding:.75rem;text-align:center;transition:background-color .3s,color .3s;width:100%}.signup-button:hover{background-color:#74b4e5;color:#fff}.signin-link{margin-top:1.5rem;text-align:center}.signin-link-text{color:#2980b9;font-weight:700;text-decoration:none}.signin-link-text:hover{text-decoration:underline}#root,body,html{height:100%;margin:0;padding:0}:root{--primary-color:#333;--secondary-color:#666;--background-color:#fff;--radius-color:#888;--border-radius:4px;--logo-url:url(/static/media/Duke_University_logo.8c53c6206bfcdde487a1.svg)}.main-content{background:#fff!important;background:var(--background-color)!important}.school-logo{background-image:url(/static/media/Duke_University_logo.8c53c6206bfcdde487a1.svg);background-image:var(--logo-url);background-repeat:no-repeat;background-size:contain;height:60px;width:200px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}@media (max-width:768px){body{overflow:hidden}}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
/*# sourceMappingURL=main.216d0e94.css.map*/