body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;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}.App{background-color:#1a1c20;color:#fff;min-height:100vh;overflow:hidden;text-align:center}.App,.App>*{position:relative}.App>*{z-index:1}.App-header{padding:20px}.App-header,.discord-links{position:relative;z-index:5}.discord-links{display:flex;flex-direction:column;gap:12px;margin:0 auto;max-width:800px;padding:0 20px 40px}.course-card{background-color:#36393f;border:1px solid #7289da1a;border-radius:5px;margin-bottom:12px;padding:15px;position:relative;transition:all .3s ease;z-index:5}.course-card.empty-course{background-color:#2f3136;cursor:default;opacity:.6}.course-card.has-links{cursor:pointer;-webkit-user-select:none;user-select:none}.course-card.has-links:hover:not(.expanded){background-color:#2f3136;box-shadow:0 5px 15px #0003;transform:translateY(-2px)}.course-info{align-items:center;color:#7289da;display:flex;gap:8px;margin-left:auto}.server-count{color:#919ec9;font-size:.9em;font-weight:700}.server-count.empty{color:#838891;font-weight:700;opacity:.5}.expand-icon{color:#7289da;font-size:.8em;margin-left:auto;transition:transform .2s ease}.professor-grid{grid-gap:15px;animation:slideDown .2s ease-out;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:15px;padding-left:80px;transform-origin:top;width:calc(100% - 80px)}@keyframes slideDown{0%{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}@media (max-width:768px){.professor-grid{grid-template-columns:1fr;padding-left:40px;width:calc(100% - 40px)}}.professor-card{align-items:center;background:#2f3136;border-radius:8px;color:inherit;display:flex;flex-direction:column;gap:12px;padding:20px;position:relative;text-align:center;text-decoration:none;transition:all .2s ease;z-index:2}.professor-card:hover{background-color:#7289da;transform:translateY(-2px)}.professor-card:hover .join-text,.professor-card:hover .server-name{color:#fff}.server-icon{border-radius:50%;height:48px;overflow:hidden;width:48px}.server-icon,.server-icon.no-image{background-color:#7a7f87}.server-icon img{display:block;height:100%;object-fit:cover;width:100%}.server-name{color:#b9bbbe;font-size:.8em;min-height:1em;text-align:center}.prof-name{font-weight:700;text-align:center}.join-text{color:#7289da;font-size:.8em}.card-footer{align-items:center;display:flex;flex-direction:column;gap:4px;margin-top:auto}.dm-card{background-color:#2f3136;cursor:not-allowed;opacity:.7}.stats{color:#72767d;font-size:1em;margin:5px 0}.header-content{margin:0 auto;max-width:800px;padding:40px 20px;text-align:center}.header-content h1{color:#fff;font-size:2.5em;margin-bottom:20px;text-shadow:0 0 20px #7289da4d}.header-info{margin:10px 0;text-align:center}.course-header{align-items:center;display:flex;gap:10px}.course-id{color:#7289da;font-size:1.1em;font-weight:700;min-width:80px}.course-name{color:#dcddde;font-size:.95em}.search-container{align-items:center;display:flex;gap:10px;margin:0 auto 4px;max-width:400px;position:relative;width:100%;z-index:5}.search-container:before{content:"🔍";font-size:15px;opacity:.7}.search-input{background:#40444b;border:none;border-radius:25px;color:#fff;font-size:16px;padding:12px 20px;transition:all .2s ease;width:100%}.search-input:focus{background:#454950;box-shadow:0 0 0 2px #7289da;outline:none}.search-input::placeholder{color:#72767d}.hide-empty-toggle{align-items:center;display:flex;justify-content:flex-start;margin-bottom:4px}.hide-empty-toggle label{align-items:center;color:#dcddde;cursor:pointer;display:flex;font-size:.9em;gap:8px;min-height:44px;padding:4px 0;-webkit-user-select:none;user-select:none}.hide-empty-toggle input[type=checkbox]{accent-color:#7289da;cursor:pointer;flex-shrink:0;height:18px;width:18px}.hide-empty-toggle span{color:#b9bbbe}.member-count{color:#919ec9;font-size:.9em;font-weight:700;line-height:1.2}.card-stats{align-items:center;display:flex;flex-direction:column;gap:1px}.click-count{color:#72767d;font-size:.75em;line-height:1.2;margin:0}.professor-card:hover .member-count{color:#fff}.professor-card:hover .click-count{color:#ffffffbf}.add-server-cta{display:flex;justify-content:center;margin:6px 0 10px}.add-server-link{background:none;border:none;color:#7289da;cursor:pointer;font-size:.95em;min-height:44px;padding:8px 4px;text-decoration:none}.add-server-link:hover{color:#8ea1e1;text-decoration:underline}.cta-button{background:#5865f2;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1em;font-weight:600;min-height:44px;padding:12px 18px;transition:background .15s ease}.add-server-form .cta-button,.add-server-success .cta-button{width:100%}.cta-button:hover{background:#4752c4}.cta-button:disabled{cursor:default;opacity:.6}.add-server-form{display:flex;flex-direction:column;gap:14px;padding:4px 2px;text-align:left}.add-server-form label{color:#b9bbbe;display:flex;flex-direction:column;font-size:.85em;font-weight:600;gap:6px}.add-server-form input,.add-server-form select{background:#2f3136;border:1px solid #202225;border-radius:6px;box-sizing:border-box;color:#fff;font-size:16px;font-weight:400;max-width:100%;padding:12px 10px;width:100%}.add-server-form select{min-height:44px}.add-server-form input:focus,.add-server-form select:focus{border-color:#5865f2;outline:none}.add-server-error{color:#f04747;font-size:.85em;margin:0}.add-server-success{padding:8px 4px;text-align:center}.add-server-note{color:#72767d;font-size:.85em;margin-top:6px}.admin-panel{color:#dcddde;margin:0 auto;max-width:820px;padding:24px 16px 64px;text-align:left}.admin-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.admin-token-form{display:flex;gap:8px;margin-top:12px}.admin-token-form input{background:#2f3136;border:1px solid #202225;border-radius:6px;color:#fff;flex:1 1;font-size:16px;padding:12px 10px}.admin-section{margin-top:28px}.admin-section h2{border-bottom:1px solid #2f3136;font-size:1.1em;padding-bottom:6px}.admin-count{background:#4f545c;border-radius:10px;display:inline-block;font-size:.7em;margin-left:6px;min-width:20px;padding:0 6px;vertical-align:middle}.admin-empty{color:#72767d;font-size:.9em}.admin-item{align-items:center;background:#2f3136;border-radius:8px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:10px;padding:12px}.admin-item-main{display:flex;flex-direction:column;gap:3px;min-width:0}.admin-item-title{font-weight:600}.admin-item-sub{color:#b9bbbe;font-size:.85em}.admin-item-link{color:#00a8fc;font-size:.8em;word-break:break-all}.admin-actions{display:flex;flex-shrink:0;gap:8px}.admin-btn{background:#4f545c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85em;font-weight:600;padding:7px 12px}.admin-btn-good{background:#3ba55d}.admin-btn-bad{background:#ed4245}.admin-btn:hover{filter:brightness(1.1)}.credits{align-items:center;color:#72767d;display:flex;flex-wrap:wrap;font-size:.9em;gap:10px;justify-content:center;margin-top:10px;width:100%}.credits a{color:#7289da;text-decoration:none;transition:color .2s ease}.credits a:hover{color:#8ea1e1;text-decoration:underline}.github-star-pill{align-items:center;background:#ffffff14;border-radius:999px;color:#dcddde!important;display:inline-flex;font-size:.85em;gap:6px;line-height:1.4;padding:3px 11px;text-decoration:none!important;vertical-align:middle}.github-star-pill:hover{background:#ffffff24;color:#fff!important;text-decoration:none!important}.github-star-icon{color:#f5c518;font-size:.95em;line-height:1}.professor-card-wrapper{display:flex;position:relative}.professor-card-wrapper>.professor-card{flex:1 1}.report-menu{position:absolute;right:6px;top:6px;z-index:4}.report-toggle{background:#0000;border:none;border-radius:4px;color:#72767d;cursor:pointer;font-size:1.15em;line-height:1;padding:2px 7px}.professor-card-wrapper:hover .report-toggle,.report-toggle:hover{background:#00000040;color:#fff}.report-dropdown{background:#18191c;border:1px solid #2f3136;border-radius:6px;box-shadow:0 4px 12px #0006;margin-top:2px;padding:4px;position:absolute;right:0;top:100%;z-index:5}.report-option{background:#0000;border:none;border-radius:4px;color:#dcddde;cursor:pointer;display:block;font-size:.78em;padding:7px 8px;text-align:left;white-space:nowrap;width:100%}.report-option:hover{background:#ed4245;color:#fff}.report-done{background:#00000059;border-radius:4px;color:#3ba55d;font-size:.68em;padding:3px 6px;position:absolute;right:6px;top:6px;z-index:4}.stats-button{align-items:center;background:#2f3136;border:1px solid #404348;border-radius:4px;color:#dcddde;cursor:pointer;display:flex;font-size:.9em;gap:6px;padding:8px 16px;position:absolute;right:20px;top:20px;transition:all .2s}.stats-button:hover{background:#36393f;border-color:#7289da;color:#fff}.stats-icon{font-size:1.1em}.stats-popup{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:1000}.stats-popup-content{background:#36393f;border:1px solid #202225;border-radius:8px;box-shadow:0 4px 24px #0000004d;max-width:500px;padding:24px;position:relative;width:100%}.stats-header{align-items:center;border-bottom:1px solid #40444b;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.stats-header h3{color:#fff;font-size:1.2em;font-weight:600;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:50%;color:#72767d;cursor:pointer;display:flex;font-size:1.2em;height:40px;justify-content:center;padding:8px;position:absolute;right:20px;top:20px;transition:all .2s ease;width:40px;z-index:1002}.close-button:hover{background:#ffffff26;color:#fff}.stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.stat-card{background:#2f3136;border:1px solid #40444b;border-radius:6px;display:flex;flex-direction:column;gap:8px;padding:16px;transition:border-color .2s}.stat-card:hover{border-color:#7289da}.stat-title{color:#72767d;font-size:.9em;letter-spacing:.5px;text-transform:uppercase}.stat-count{color:#fff;font-size:1.4em;font-weight:600}.stat-server{color:#7289da;font-size:.95em}.stat-card.wide{grid-column:span 2}.level-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(5,1fr);margin-top:10px}.level-stat{text-align:center}.level-name{color:#7289da;font-size:.9em;font-weight:500}.level-count{color:#fff;font-size:1.1em;margin-top:4px}.level-members{color:#99aab5;font-size:.8em;margin-top:2px;opacity:.8}@media (max-width:768px){.stats-popup{-webkit-overflow-scrolling:touch;align-items:flex-start;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))}.stats-popup-content{margin:0;max-height:none;max-width:none;min-height:auto;padding:16px;width:100%}.stats-grid{gap:12px;grid-template-columns:1fr}.stat-card.wide{grid-column:auto}.level-grid{gap:8px;grid-template-columns:repeat(2,1fr)}.close-button{background:#2f3136f2;box-shadow:0 2px 10px #0000004d;float:right;margin:-8px -8px 8px 0;position:-webkit-sticky;position:sticky;top:0}.course-id{font-size:.9em;line-height:1.1;min-width:60px;white-space:pre-line}.course-name{font-size:.85em}.header-content{padding:28px 16px 24px}.header-content h1{font-size:1.55em;line-height:1.25;margin-bottom:14px;padding-right:52px}.stats-button{min-height:40px;padding:8px 10px;right:12px;top:12px}.stats-button .stats-text{display:none}.stats-header{flex-direction:column;gap:15px;text-align:center}.stats-header h3{font-size:1.1em;padding-right:36px}.stat-card{padding:12px}.stat-title{font-size:.8em}.stat-count{font-size:1.2em}.level-stat{padding:8px 4px}.credits{font-size:.85em;gap:8px;margin-top:14px}.github-star-pill{min-height:32px;padding:5px 12px}.search-container{max-width:none}.search-input{font-size:16px;padding:12px 16px}.add-server-form{gap:12px}.add-server-note{font-size:.8em;line-height:1.4}.admin-panel{padding:16px 12px 48px}.admin-token-form{flex-direction:column}.admin-token-form .cta-button{width:100%}.admin-item{align-items:stretch;flex-direction:column}.admin-actions{width:100%}.admin-actions .admin-btn{flex:1 1;min-height:44px}.discord-links{gap:10px;padding:0 12px 32px}.hide-empty-toggle{margin-bottom:2px}.hide-empty-toggle span{font-size:.85em}.level-name{font-size:.8em}.level-count{font-size:1em}}.course-divider{align-items:center;color:#7289da;display:flex;font-size:1.1em;font-weight:600;letter-spacing:1px;margin:30px 0 20px;text-transform:uppercase}.course-divider:after,.course-divider:before{background:#7289da;content:"";flex:1 1;height:1px;margin:0 15px}.course-divider span{background:#1a1c20;padding:0 15px}
/*# sourceMappingURL=main.b8898d0f.css.map*/