.form-overlay{position:relative;height:100vh;width:100vw}.form-container{position:absolute;top:25%;left:50%;translate:-50% 0;width:420px;display:flex;flex-direction:column;align-items:center;gap:48px}.form-container .hero{width:100%;border:var(--border);background-color:var(--black);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:36px;display:flex;flex-direction:column;font:var(--font-h1);color:#fff;text-align:center}.form-container .hero .over-title{font:var(--font-detail)}#auth-form{width:100%;background-color:var(--black);display:flex;flex-direction:column;border:1px solid white;color:#fff}#auth-form .title{height:30px;width:100%;border-bottom:1px solid white;display:flex;align-items:center;justify-content:center;font:var(--font-detail);background-image:var(--gradient-glass-white)}#auth-form .form-input{padding:0 12px;height:40px;border-bottom:1px solid white;font:var(--font-h3)}#auth-form .message{padding:6px 12px;display:flex;justify-content:center;border-bottom:1px solid white;font:var(--font-detail);color:var(--grey)}#auth-form .buttons{height:40px;display:flex;font-weight:800}#auth-form .buttons button:first-child{border-right:1px solid white}#auth-form .buttons button{width:100%;cursor:pointer}#auth-form .buttons .submit-button{background-color:var(--lilac);color:#1c1c1c}#auth-form .buttons .redirect-button{background-image:var(--gradient-glass-white);color:var(--lilac)}@media only screen and (max-width: 768px){.form-container{top:20%;width:calc(100vw - 48px)}.form-container .hero{gap:6px}#auth-form{width:calc(100vw - 48px)}#auth-form .title{height:36px}#auth-form .form-input,#auth-form .buttons{height:48px}}.loading-container{width:100%;min-height:70vh;display:flex;padding:48px;align-items:center;justify-content:center;gap:48px}.loading-container .square{height:36px;width:36px;border:var(--border);background-color:var(--black)}.loading-container.inline{min-height:0;padding:0;gap:24px}.loading-container.inline .square{height:12px;width:12px;background-color:transparent}@keyframes fade-grow-fade{0%{opacity:0;transform:scale(1)}20%{opacity:1;transform:scale(1.5)}50%{opacity:1;transform:scale(1.5)}70%{opacity:0;transform:scale(1)}to{opacity:0;transform:scale(1)}}#loading-square-1{animation:fade-grow-fade 1.5s linear 0s infinite}#loading-square-2{animation:fade-grow-fade 1.5s linear .25s infinite}#loading-square-3{animation:fade-grow-fade 1.5s linear .5s infinite}:root{--card-width: 260px;--gap: 36px}.course-grid{margin-top:90px;display:flex;flex-wrap:wrap;gap:36px;width:calc(3 * var(--card-width) + 2 * var(--gap))}.course-card{width:var(--card-width);height:240px;border:1px solid white;background-color:var(--black);display:flex;flex-direction:column;color:#fff}.course-card .delete-button,.course-card .enroll-button{width:auto}.course-card .card-head{width:100%;border-bottom:var(--border);padding:24px 24px 12px;display:flex;flex-direction:column;gap:6px}.course-card .card-head .title{font:var(--font-h2)}.course-card .card-head .subtitle{font:var(--font-body)}.course-card .description{width:100%;height:100%;padding:12px 24px;overflow-y:scroll;-webkit-mask-image:linear-gradient(black 75%,transparent 100%);mask-image:linear-gradient(black 75%,transparent 100%)}.course-card .buttons{width:100%;min-height:30px;border-top:var(--border);display:flex;justify-content:flex-end;font:var(--font-button)}.course-card .buttons button{border-left:var(--border);padding:0 12px;font:var(--font-button-small)}.course-card .buttons button.highlight{background-color:var(--lilac);color:var(--black);cursor:pointer}@media only screen and (max-width: 768px){.course-grid{width:100%;align-items:center;justify-content:center;gap:24px;margin-top:calc(var(--mobile-header-height) + 24px)}.course-card{width:90%}.course-card .buttons button{font-size:16px}}.popup{position:absolute;margin-top:50vh;translate:0 -50%;width:400px;max-height:50vh;overflow-y:scroll;border:var(--border);background-color:var(--black);color:#fff}.popup .top-bar{width:100%;height:36px;background-image:var(--gradient-glass-white);border-bottom:var(--border);position:relative;display:flex;justify-content:center;padding:6px;font:var(--font-h3)}.popup .close-button{position:absolute;right:1px;height:100%;width:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-left:var(--border)}.popup .content{padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;text-align:center}.popup .content .buttons{display:flex;gap:24px}.popup .content button{cursor:pointer;border:var(--border);font:var(--font-button-small);padding:12px}.popup .content button:hover{color:var(--lilac);border-color:var(--lilac)}@media only screen and (max-width: 768px){.popup{width:calc(100vw - 48px)}}header{width:100vw;display:flex;align-items:center;justify-content:center;flex-direction:column;padding-top:24px}header .site-title{font-size:xxx-large;font-weight:800;color:var(--black);text-shadow:1px 1px 0px white}nav{width:600px;height:80px;border:1px solid white;display:flex;align-items:center;justify-content:center;gap:30px;background-color:var(--black);color:#fff;font-size:20px}@media only screen and (max-width: 768px){header{z-index:20;position:fixed;top:0;height:var(--mobile-header-height);background-color:var(--black);padding-top:12px}header .site-title{color:#fff;text-shadow:none}nav{width:100%;justify-content:space-around;gap:0;border-width:1px 0 1px 0}}.nav-button{height:100%;display:flex;flex-direction:column;align-items:center}.nav-button button{border:1px solid transparent;background-color:transparent;cursor:pointer;padding:6px 12px}.nav-button button:hover{border:1px solid white}.vertical-line{width:1px;height:100%}.nav-button.selected button{border:1px solid white}.nav-button.selected .vertical-line{background-color:#fff}body{position:relative;width:100%;background-color:var(--black)}main{width:100vw;min-height:70vh;padding-bottom:72px;display:flex;flex-direction:column;align-items:center}:root{--row-height: 80px}.users-table{max-height:calc(10 * var(--row-height) + 9 * var(--floating-rows-gap))}.users-table .row{height:70px}.users-table .row .name{min-width:270px;font:var(--font-h2)}.users-table .row .id{min-width:60px}.users-table .row .username{min-width:140px}.users-table .row .role{min-width:100px}.users-table .row .courses{width:100%;font:var(--font-detail)}@media only screen and (max-width: 768px){.users-table{max-height:none}}.floating-rows{margin-top:90px;display:flex;flex-direction:column;gap:var(--floating-rows-gap)}.floating-rows .row{width:900px;border:var(--border);background-color:var(--black);display:flex;color:#fff;cursor:default}.floating-rows .row .cell{display:flex;align-items:center;padding:12px;position:relative}.floating-rows .row .cell:not(:last-child){border-right:var(--border)}.floating-rows .row .cell.scrollable{padding-top:20px;padding-bottom:0;align-items:flex-start;-webkit-mask-image:linear-gradient(black 75%,transparent 100%);mask-image:linear-gradient(black 75%,transparent 100%)}.floating-rows .row .cell.scrollable .content{overflow-y:scroll;height:100%;padding-bottom:12px}.floating-rows .row .cell.scrollable .content::-webkit-scrollbar{display:none}.floating-rows .row .cell.scrollable .content{-ms-overflow-style:none;scrollbar-width:none}.floating-rows .row label{position:absolute;top:6px;font:var(--font-detail);color:var(--grey);visibility:hidden}.floating-rows .row .buttons{z-index:20;min-width:60px;padding:0;display:flex;flex-direction:column}.floating-rows .row .buttons button{height:100%;width:100%;cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;font:var(--font-button-small);color:var(--lilac)}.floating-rows .row .buttons button:not(:last-child){border-bottom:var(--border)}.floating-rows .row button.disabled{color:var(--grey);cursor:auto}.floating-rows .row:hover label{visibility:visible}.floating-rows .row form{display:flex;width:100%}.floating-rows .row form input{width:100%}.floating-rows .editable{background-color:var(--lilac-dark);cursor:auto}.floating-rows .editable label{visibility:visible}.floating-rows .editable div:hover label{color:var(--lilac)}@media only screen and (max-width: 768px){.floating-rows{margin-top:calc(var(--mobile-header-height) + 24px);width:100%;margin-bottom:24px;align-items:center;gap:24px}.floating-rows .row{width:calc(100vw - 48px);flex-direction:column;height:auto}.floating-rows .row .cell{border-bottom:var(--border);border-right:none;min-height:50px;padding:16px 12px 8px}.floating-rows .row .cell.scrollable{-webkit-mask-image:none;mask-image:none;height:60px}.floating-rows .row .title,.floating-rows .row .name{background-image:var(--gradient-glass-white)}.floating-rows .row .buttons{height:36px;flex-direction:row}.floating-rows .row .buttons button:first-child{border-bottom:none;border-right:var(--border)}.floating-rows .row form{flex-direction:column}.floating-rows .row label{visibility:visible;top:4px}.floating-rows .row textarea,.floating-rows .row select{width:100%}}@media (pointer: coarse){.floating-rows .row label{visibility:visible}}.floating-button{z-index:20;margin-top:60px;border:var(--border);background-image:var(--gradient-lilac-black);padding:18px;font:var(--font-h2);color:#fff;cursor:pointer;transform:scale(1);transition-duration:.4s}.floating-button:hover{transform:scale(1.05)}@media only screen and (max-width: 768px){.floating-button{position:fixed;bottom:0;width:100%;margin-top:0}}#editable-user-row{height:100px}#editable-user-row form .teacher{cursor:pointer}#editable-user-row form .description{width:100%}#editable-user-row form .description textarea{height:100%!important;border:none}#editable-user-row form .username-password{min-width:140px;display:flex;flex-direction:column;padding:0}#editable-user-row form .username-password div{position:relative;height:100%;padding:16px 12px 0}#editable-user-row form .username-password .username{border-bottom:var(--border)}#editable-user-row form .username-password .password{border-right:var(--border)}#editable-user-row form .courses{cursor:pointer}#editable-user-row form .no-edit{cursor:default}#editable-user-row form .no-edit label{color:var(--grey)}@media only screen and (max-width: 768px){#editable-user-row{height:auto}#editable-user-row .username-password>div{width:100%;height:50px!important}}.selection-modal{position:absolute;margin-top:25vh;width:400px;max-height:50vh;overflow-y:scroll;border:var(--border);background-color:var(--black);color:#fff}.selection-modal .top-bar{width:100%;height:36px;background-image:var(--gradient-glass-white);border-bottom:var(--border);position:relative;display:flex;justify-content:center}.selection-modal .title{padding:6px;font:var(--font-h3)}.selection-modal .close-button{position:absolute;right:1px;height:100%;width:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-left:var(--border)}.selection-modal li{height:36px;display:flex;border-bottom:var(--border);font:var(--font-h3)}.selection-modal li .name{width:100%;border-right:var(--border);display:flex;align-items:center;padding:0 6px}.selection-modal li .checkbox{min-width:36px;cursor:pointer;display:flex;align-items:center;justify-content:center}.selection-modal li .checkbox.checked{background-color:var(--lilac)}.selection-modal button.submit{height:36px;width:100%;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0 6px;font:var(--font-button);color:var(--lilac)}@media only screen and (max-width: 768px){.selection-modal{width:calc(100% - 48px)}}#courses-table .row{height:80px}#courses-table .row .title{min-width:270px;font:var(--font-h2)}#courses-table .row .teacher{min-width:140px}#courses-table .row .students{min-width:200px;font:var(--font-detail)}#courses-table .row .description{width:100%;font:var(--font-detail);position:relative}@media only screen and (max-width: 768px){#courses-table .row{height:auto}}:root{--black: #1C1C1C;--black-glass: rgb(28, 28, 28, .6);--grey: rgb(139, 139, 139);--lilac: #B48ED5;--lilac-faded: rgb(180, 142, 213, .3);--lilac-dark: #2a2232;--gradient-glass-white: linear-gradient(90deg, rgba(255,255,255,.2) 0%, rgba(255,255,255,.1) 100%);--gradient-lilac-black: linear-gradient(90deg, var(--black) 0%, var(--lilac) 100%);--border: 1px solid white;--font-h1: 800 36px "Playfair", serif;--font-h2: 600 20px "Playfair", serif;--font-h3: 600 16px "Playfair", serif;--font-body: 400 12px "Playfair", serif;--font-button: large "Anonymous-bold", monotype;--font-button-small: 12px "Anonymous-bold", monotype;--font-detail: 12px "Anonymous-bold", monotype;--floating-rows-gap: 12px;--floating-button-height: 64px;--mobile-header-height: 164px;--scroll-fade: linear-gradient(0deg, rgba(0,0,0,0) 0%, var(--grey) 100%)}#editable-course-row form .description textarea{height:100%;width:100%;border:none}#editable-course-row form .students,#editable-course-row form .teacher{cursor:pointer}#editable-course-row form .students.no-edit label,#editable-course-row form .teacher.no-edit label{color:var(--grey)}#editable-course-row form .no-edit{cursor:default}@media only screen and (max-width: 768px){#editable-course-row form textarea{min-height:60px}}/*! tailwindcss v4.1.3 | MIT License | https://tailwindcss.com */@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.hidden{display:none}.inline{display:inline}}@font-face{font-family:Anonymous-bold;src:local(AnonymousPro-Regular),url(/assets/AnonymousPro-Bold-Cc4At0rI.ttf)format("truetype")}@font-face{font-family:Playfair;src:url(/assets/PlayfairDisplay-VariableFont_wght-7tRKCQvy.ttf)}body{overscroll-behavior:none;background-image:url(/assets/bg-fabric-262626-BtXSk5Po.svg);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;font-family:Playfair;font-size:12pt}textarea{resize:none}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;border:none;margin:0;padding:0}.modal-overlay{z-index:20;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background-color:#1c1c1c99;justify-content:center;align-items:flex-start;width:100vw;height:100%;display:flex;position:fixed;top:0;bottom:0;left:0}.no-edit{cursor:default}.delete-button:hover:not(.disabled){color:#ff7575!important}.hide-scrollbar::-webkit-scrollbar{display:none}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.fade-in{opacity:0;animation:.25s forwards fadeIn}@keyframes fadeIn{to{opacity:1}}.fade-in-out{visibility:hidden;opacity:0;transition:opacity .2s linear,visibility 0s ease-in .2s}.fade-in-out.show{visibility:visible;opacity:1;transition-delay:0s;transform:scale(1)}.scale-up-down{transition:transform .2s linear;transform:scale(.9)}.scale-up-down.show{transition-delay:0s;transform:scale(1)}
