/*
! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.search{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);align-items:center;animation-duration:.3s;animation-timing-function:cubic-bezier(.4,0,.2,1);background-color:rgb(156 163 175/var(--tw-bg-opacity));border-radius:.375rem;box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);display:flex;height:2.25rem;justify-content:flex-start;margin-left:0;margin-right:0;padding-left:.5rem;padding-right:.5rem;transition-duration:.3s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);width:20%}.search,.search-input{color:rgb(107 114 128/var(--tw-text-opacity))}.search-input{--tw-text-opacity:1;border-radius:.25rem;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-weight:600;padding-left:.25rem;width:100%}.search-input::placeholder{--tw-placeholder-opacity:1;color:rgb(107 114 128/var(--tw-placeholder-opacity))}.search-input{outline:2px solid #0000;outline-offset:2px}.post{align-items:center;cursor:pointer;display:flex;flex-direction:row;justify-content:space-evenly;margin:0;padding:1rem 2rem;width:100%}.timestamp{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity));font-size:.75rem;font-weight:600;line-height:1rem;margin-left:.5rem;text-align:left}@layer utilities{.bottom-bar{left:22rem}}.bottom-bar{--tw-bg-opacity:1;--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);align-items:center;background-color:rgb(156 163 175/var(--tw-bg-opacity));border-radius:.5rem;bottom:.5rem;box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);display:flex;flex-direction:row;height:3rem;justify-content:space-between;left:22rem;position:fixed;right:2rem}.bottom-bar,.dropdown{padding-left:.5rem;padding-right:.5rem}.dropdown{animation-duration:.3s;animation-timing-function:cubic-bezier(.4,0,.2,1);margin:0;padding-bottom:.5rem;transition-duration:.3s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--csu-blue:#0f44cd;--csu-blue-tint:#dbe5ff;--csu-orange:#fa4618;--csu-ink:#000;--csu-muted:#6b7280;--csu-surface:#fff;--csu-subtle:#f5f5f5;--csu-line:#e5e5e5;--csu-shadow:0 0 6px #aaa;--header-h:64px;--header-stack-h:var(--header-h);--bottom-bar-h:0px;--pane-h:calc(100vh - var(--header-h));--courses-w:40%}@media (max-width:1000px){:root{--header-h:56px;--header-stack-h:calc(var(--header-h) + 41px);--pane-h:calc(100vh - var(--header-stack-h))}}body{background-color:#fff;background-color:var(--csu-surface);color:#000;color:var(--csu-ink);font-family:Sora,sans-serif;height:100vh;margin:0;padding:0;width:100vw}.site-footer{background-color:#ffffffe6;border-radius:9999px;bottom:4px;bottom:calc(4px + var(--bottom-bar-h));color:#4b5563;font-size:.75rem;font-weight:300;left:50%;padding:3px 12px;position:fixed;text-align:center;transform:translateX(-50%);white-space:nowrap;z-index:1000}.card-shadow{box-shadow:0 0 6px #aaa;box-shadow:var(--csu-shadow)}body,html{overflow-x:hidden}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.m-0{margin:0}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.my-1{margin-bottom:.25rem;margin-top:.25rem}.my-1\.5{margin-bottom:.375rem;margin-top:.375rem}.my-2{margin-bottom:.5rem;margin-top:.5rem}.mb-0{margin-bottom:0}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-\[0\.3rem\]{margin-bottom:.3rem}.ml-0{margin-left:0}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-auto{margin-right:auto}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.line-clamp-2{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;overflow:hidden}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-full{height:100%}.w-96{width:24rem}.w-\[100\%\]{width:100%}.w-\[20rem\]{width:20rem}.w-\[80\%\]{width:80%}.w-full{width:100%}.max-w-full{max-width:100%}.flex-1{flex:1 1}.flex-grow{flex-grow:1}.basis-full{flex-basis:100%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.overflow-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-neutral-200{--tw-border-opacity:1;border-color:rgb(229 229 229/var(--tw-border-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-neutral-100{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.pb-2{padding-bottom:.5rem}.pl-0{padding-left:0}.pt-2{padding-top:.5rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[1\.0rem\]{font-size:1rem}.text-\[1\.5rem\]{font-size:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-normal{line-height:1.5}.text-accent-1{--tw-text-opacity:1;color:rgb(15 68 205/var(--tw-text-opacity))}.text-accent-2{--tw-text-opacity:1;color:rgb(250 70 24/var(--tw-text-opacity))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.placeholder-gray-500::placeholder{--tw-placeholder-opacity:1;color:rgb(107 114 128/var(--tw-placeholder-opacity))}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-\[0_4px_9px_-4px_\#ff7f1f\]{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_4px_9px_-4px_\#ff7f1f\]{--tw-shadow:0 4px 9px -4px #ff7f1f;--tw-shadow-colored:0 4px 9px -4px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-shadow{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:1;opacity:var(--tw-enter-opacity,1);transform:translateZ(0) scaleX(1) rotate(0);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:1;opacity:var(--tw-exit-opacity,1);transform:translateZ(0) scaleX(1) rotate(0);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.fade-in{--tw-enter-opacity:0}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}::-webkit-scrollbar{background-color:initial;width:.625rem}::-webkit-scrollbar:horizontal{background-color:initial;height:.625rem}::-webkit-scrollbar-corner{background-color:initial}::-webkit-scrollbar-thumb{--tw-bg-opacity:1;background-color:rgb(212 212 212/var(--tw-bg-opacity));border-radius:9999px}body::-webkit-scrollbar-thumb,body::-webkit-scrollbar-track{background-color:initial}body{-ms-overflow-style:none;scrollbar-width:none}body::-webkit-scrollbar{display:none}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}.hover\:text-accent-1:hover{--tw-text-opacity:1;color:rgb(15 68 205/var(--tw-text-opacity))}.hover\:underline:hover{-webkit-text-decoration-line:underline;text-decoration-line:underline}.hover\:opacity-60:hover{opacity:.6}.focus\:shadow-\[0_8px_9px_-4px_rgba\(255\2c 127\2c 31\2c 0\.3\)\2c 0_4px_18px_0_rgba\(255\2c 127\2c 31\2c 0\.2\)\]:focus,.hover\:shadow-\[0_8px_9px_-4px_rgba\(255\2c 127\2c 31\2c 0\.3\)\2c 0_4px_18px_0_rgba\(255\2c 127\2c 31\2c 0\.2\)\]:hover{--tw-shadow:0 8px 9px -4px #ff7f1f4d,0 4px 18px 0 #ff7f1f33;--tw-shadow-colored:0 8px 9px -4px var(--tw-shadow-color),0 4px 18px 0 var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:shadow-\[0_8px_9px_-4px_rgba\(255\2c 127\2c 31\2c 0\.3\)\2c 0_4px_18px_0_rgba\(255\2c 127\2c 31\2c 0\.2\)\]:active{--tw-shadow:0 8px 9px -4px #ff7f1f4d,0 4px 18px 0 #ff7f1f33;--tw-shadow-colored:0 8px 9px -4px var(--tw-shadow-color),0 4px 18px 0 var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media (min-width:640px){.sm\:m-4{margin:1rem}.sm\:ml-4{margin-left:1rem}.sm\:w-\[20rem\]{width:20rem}.sm\:min-w-\[95\%\]{min-width:95%}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.sm\:p-6{padding:1.5rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:768px){.md\:w-\[22rem\]{width:22rem}}@media (min-width:1024px){.lg\:w-\[28rem\]{width:28rem}}@media (min-width:1280px){.xl\:w-\[32rem\]{width:32rem}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}#search-input:focus{outline:none}.search-container{align-items:center;background-color:var(--csu-surface);border:1px solid var(--csu-line);border-radius:12px;display:flex;margin:0 6px;padding:2px 6px 2px 14px;transition:border-color .15s ease,box-shadow .15s ease}.search-container:focus-within{border-color:var(--csu-blue);box-shadow:0 0 0 3px var(--csu-blue-tint)}.search-icon{color:var(--csu-muted);flex-shrink:0;margin-right:8px}.search-input{background-color:initial;border:none;color:var(--csu-ink);flex:1 1;min-width:0;outline:none;padding:8px 5px}.search-input::placeholder{color:var(--csu-muted);font-weight:300}.term-year-dropdown{background-color:initial;border-left:1px solid var(--csu-line);color:var(--csu-blue);cursor:pointer;font-size:.875rem;font-weight:600;padding:4px 4px 4px 10px}.term-year-dropdown:focus{outline:none}.search-clear{align-items:center;border-radius:9999px;color:var(--csu-muted);display:flex;flex-shrink:0;justify-content:center;margin-right:6px;padding:2px}.search-clear:hover{background-color:var(--csu-subtle);color:var(--csu-ink)}.filtered-courses-container{flex:1 1;min-height:0;padding:4px 6px}.fade-text-in{animation:fadeIn .1s forwards}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.search-status{color:var(--csu-muted);display:flex;flex-direction:column;font-size:.875rem;font-weight:300;gap:4px;padding:28px 12px;text-align:center}.search-status strong{color:var(--csu-ink);font-weight:600}.course-actions{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin:10px 4px 0}.course-action{align-items:center;background-color:var(--csu-surface);border:1px solid var(--csu-line);border-radius:9999px;color:var(--csu-ink);display:inline-flex;font-size:.78rem;font-weight:500;gap:5px;padding:4px 11px;white-space:nowrap}.course-action:hover{border-color:var(--csu-blue);color:var(--csu-blue)}.course-action.primary{background-color:var(--csu-blue);border-color:var(--csu-blue);color:#fff}.course-action.primary:hover{background-color:#0c38aa;color:#fff}.course-action.remove:hover{border-color:var(--csu-orange);color:var(--csu-orange)}.course-action.sections{border-color:#0000;color:var(--csu-muted);margin-left:auto}.course-action.active{background-color:var(--csu-blue-tint);border-color:var(--csu-blue);color:var(--csu-blue)}.fade-in{animation:fadeIn .2s forwards}.selected-chips{display:flex;flex-shrink:0;flex-wrap:wrap;gap:6px;max-height:30%;overflow-y:auto;padding:10px 6px 2px}.course-chip{align-items:center;border-radius:9999px;display:flex;font-size:.78rem;line-height:1.2;max-width:100%}.course-chip-label{align-items:baseline;display:flex;gap:6px;min-width:0;padding:5px 2px 5px 12px;white-space:nowrap}.course-chip-label strong{font-weight:600}.course-chip-label span{opacity:.85;overflow:hidden;text-overflow:ellipsis}.course-chip-remove{align-items:center;border-radius:9999px;display:flex;flex-shrink:0;height:22px;justify-content:center;margin:0 4px 0 2px;width:22px}.course-chip-remove:hover{background-color:#0003}.course-handler{background-color:var(--csu-surface);display:flex;flex-direction:column;height:var(--pane-h);padding:1rem;width:100%}@media (max-width:1000px){.course-handler{padding:.75rem}}.sora-unique{font-family:Sora,sans-serif;font-optical-sizing:auto;font-style:normal;font-weight:400}.content-wrapper{margin-top:var(--header-stack-h)}.course-display{background-color:var(--csu-surface);display:flex;height:var(--pane-h)}.courses-pane{flex-shrink:0;width:var(--courses-w)}.courses-pane,.view-pane{height:var(--pane-h);overflow:hidden}.view-pane{background-color:var(--csu-surface);border-left:1px solid var(--csu-line);flex:1 1;min-width:0;position:relative}.map-container{height:100%;position:relative}.fullscreen-map{bottom:0;height:auto;left:0;position:fixed;right:0;top:var(--header-h);z-index:20000}#cytoscape-container{background-color:var(--csu-surface);height:calc(var(--pane-h) - 65px);width:100%}.loader-container{display:none;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:10}.loader-container.show{display:block}.bottom-bar{display:none}@media (max-width:1000px){.scheduler-app{--bottom-bar-h:56px;--pane-h:calc(100vh - var(--header-stack-h) - var(--bottom-bar-h))}.courses-pane,.view-pane{border-left:none;width:100%}.show-courses .view-pane,.show-view .courses-pane{display:none}.bottom-bar{background-color:var(--csu-surface);border-top:1px solid var(--csu-line);bottom:0;display:flex;height:var(--bottom-bar-h);left:0;position:fixed;right:0;z-index:1000}.bottom-bar button{align-items:center;border-top:2px solid #0000;color:var(--csu-ink);display:flex;flex:1 1;font-size:.875rem;font-weight:300;gap:8px;justify-content:center}.bottom-bar button.active{border-top-color:var(--csu-blue);color:var(--csu-blue);font-weight:500}.bottom-bar-count{background-color:var(--csu-blue);border-radius:9999px;color:#fff;font-size:.7rem;font-weight:600;min-width:20px;padding:1px 6px}.floating-text{display:none!important}}.chat-dock{background-color:var(--csu-surface);border-radius:16px;bottom:calc(16px + var(--bottom-bar-h));box-shadow:0 10px 30px #0003,var(--csu-shadow);color:var(--csu-ink);display:none;flex-direction:column;height:600px;max-height:calc(100vh - var(--header-stack-h) - var(--bottom-bar-h) - 32px);max-width:calc(100vw - 24px);overflow:hidden;position:fixed;right:12px;width:400px;z-index:10000}.chat-dock.open{display:flex}.chat-dock-tabs{align-items:stretch;border-bottom:1px solid var(--csu-line);display:flex;flex-shrink:0;padding:0 8px 0 4px}.chat-dock-tabs button[role=tab]{border-bottom:2px solid #0000;font-size:.875rem;font-weight:300;padding:12px 14px 10px;position:relative}.chat-dock-tabs button[role=tab].active{border-bottom-color:var(--csu-blue);color:var(--csu-blue);font-weight:500}.chat-dock-close{align-self:center;border-radius:9999px;color:var(--csu-muted);margin-left:auto;padding:4px}.chat-dock-close:hover{background-color:var(--csu-subtle);color:var(--csu-ink)}.chat-dock-pane{flex:1 1;min-height:0}.chat-dock-pane .chat-panel>.close-icon,.chat-dock-pane .chat-panel>h1{display:none}.chat-toggle-button{background-color:var(--csu-orange);border:none;border-radius:50%;bottom:calc(20px + var(--bottom-bar-h));box-shadow:var(--csu-shadow);color:#fff;cursor:pointer;padding:10px;position:fixed;right:20px;transition:transform .3s ease-in-out;z-index:10001}.chat-toggle-button:hover{transform:scale(1.1)}.chat-toggle-button.hide{visibility:hidden}.chat-toggle-button.wiggle{animation:wiggle 2s ease-in-out infinite}@keyframes wiggle{0%,to{transform:rotate(0deg)}10%,20%{transform:rotate(-10deg)}15%,25%{transform:rotate(10deg)}35%,50%,60%,70%,80%,90%{transform:rotate(0deg)}}.badge{background-color:red;border:2px solid #fff;border-radius:50%;height:14px;position:absolute;right:-2px;top:-2px;width:14px}.chat-dock-tabs .badge{height:10px;right:2px;top:8px;width:10px}.floating-text{align-items:center;background-color:var(--csu-surface);border-radius:9999px;bottom:15px;box-shadow:var(--csu-shadow);color:var(--csu-ink);display:flex;font-size:.8rem;font-weight:600;left:10px;padding:4px 12px;position:fixed;z-index:999}.green-circle{background-color:green;border-radius:50%;display:inline-block;height:10px;margin-right:8px;width:10px}.centered-text{align-items:center;display:flex;justify-content:center;margin-top:10px;text-align:center}.course-name{border-bottom:1px solid var(--csu-line)}.calendar-container-2,.calendar-display{height:100%}.calendar-display{display:flex;flex-direction:column}.schedule-toolbar{align-items:center;display:flex;flex-wrap:wrap;font-size:.8rem;gap:8px 14px;padding:14px 20px 10px}.schedule-toolbar-end{align-items:center;display:flex;gap:14px;margin-left:auto}.schedule-filter{align-items:center;color:var(--csu-muted);display:flex;gap:6px;white-space:nowrap}.schedule-filter select{background-color:var(--csu-surface);border:1px solid var(--csu-line);border-radius:8px;color:var(--csu-ink);cursor:pointer;font-weight:500;padding:4px 6px}.day-toggle:focus-visible,.schedule-filter select:focus-visible,.schedule-pager button:focus-visible{outline:2px solid var(--csu-blue);outline-offset:1px}.day-toggle{border:1px solid var(--csu-line);border-radius:8px;color:var(--csu-ink);font-weight:500;height:26px;width:26px}.day-toggle.on{border-color:var(--csu-blue)}.day-toggle.on,.schedule-add-event{background-color:var(--csu-blue);color:#fff}.schedule-add-event{border-radius:8px;font-weight:500;padding:6px 14px;white-space:nowrap}.header-and-calendar{background-color:var(--csu-surface);border-radius:12px;box-shadow:var(--csu-shadow);display:flex;flex:1 1;flex-direction:column;margin:4px 20px 34px;min-height:0}.schedule-card-header{align-items:center;border-bottom:1px solid var(--csu-line);border-radius:12px 12px 0 0;display:flex;flex-wrap:wrap;gap:8px 12px;padding:10px 14px}.schedule-pager{align-items:center;display:flex;gap:8px}.schedule-pager button{align-items:center;background-color:var(--csu-surface);border:1px solid var(--csu-line);border-radius:9999px;display:flex;height:28px;justify-content:center;width:28px}.schedule-pager button:hover:not(:disabled){border-color:var(--csu-blue);color:var(--csu-blue)}.schedule-pager button:disabled{cursor:default;opacity:.35}.schedule-card-title{font-feature-settings:"tnum";font-size:.95rem;font-variant-numeric:tabular-nums;font-weight:600;min-width:9.5em;text-align:center}.online-section-message{background-color:#ffe4d6;border-radius:9999px;color:#aa3908;font-size:.75rem;padding:2px 10px}.schedule-card-actions{align-items:center;display:flex;gap:14px;margin-left:auto}.schedule-card-link{color:var(--csu-blue);font-size:.8rem}.schedule-card-link:hover{text-decoration:underline}.schedule-card-select{background-color:var(--csu-blue);border-radius:8px;color:#fff;font-size:.8rem;font-weight:500;padding:5px 16px;transition:transform .15s ease}.schedule-card-select:hover{transform:scale(1.05)}.schedule-card-select.selected{background-color:var(--csu-surface);box-shadow:inset 0 0 0 1px var(--csu-blue);color:var(--csu-blue)}.header-and-calendar.selected-schedule{box-shadow:0 0 0 2px var(--csu-blue),var(--csu-shadow)}.selected-schedule .schedule-card-header{background-color:var(--csu-blue-tint)}.schedule-empty{align-items:center;color:var(--csu-muted);display:flex;flex:1 1;flex-direction:column;font-size:.875rem;font-weight:300;gap:8px;justify-content:center;padding:24px;text-align:center}.schedule-empty strong{color:var(--csu-ink);font-size:1rem;font-weight:600}.week-grid{--time-col:56px;display:flex;flex:1 1;font-size:.75rem;min-height:0}.week-grid-scroll{border-radius:0 0 12px 12px;flex:1 1;overflow-y:auto;padding:0 10px 12px 0}.week-grid-scroll:focus-visible{outline:2px solid var(--csu-blue);outline-offset:-2px}.week-grid-head{background-color:var(--csu-surface);border-bottom:1px solid var(--csu-line);position:-webkit-sticky;position:sticky;top:0;z-index:3}.week-grid-body,.week-grid-head{display:grid;grid-template-columns:var(--time-col) repeat(5,minmax(0,1fr))}.week-grid-dayname{color:var(--csu-muted);font-weight:600;padding:8px 0 6px;text-align:center}.week-grid-body{border-bottom:1px solid var(--csu-line)}.week-grid-body,.week-grid-times{position:relative}.week-grid-times span{color:var(--csu-muted);font-size:.68rem;position:absolute;right:8px;transform:translateY(-50%);white-space:nowrap}.week-grid-times span:first-child{transform:none}.week-grid-day{background-image:linear-gradient(to bottom,var(--csu-line) 1px,#0000 1px);border-left:1px solid var(--csu-line);position:relative}.week-grid-day:last-child{border-right:1px solid var(--csu-line)}.week-grid-event{border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:1px;left:3px;line-height:1.25;overflow:hidden;padding:4px 7px;position:absolute;right:3px;text-align:left;transition:transform .12s ease,box-shadow .12s ease}.week-grid-event:hover,.week-grid-event[aria-expanded=true]{box-shadow:0 2px 8px #0000004d;transform:scale(1.02);z-index:2}.week-grid-event strong{font-weight:600}.week-grid-event span,.week-grid-event strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-grid-event span{font-size:.68rem;opacity:.9}.week-grid-event.short{padding-bottom:2px;padding-top:2px}.week-grid-event.short span+span{display:none}.week-grid-popover{background-color:var(--csu-surface);border-radius:12px;box-shadow:var(--csu-shadow);font-size:.8rem;left:calc(100% + 6px);padding:12px 14px;position:absolute;width:220px;z-index:5}.week-grid-popover.left{left:auto;right:calc(100% + 6px)}.week-grid-popover-close{color:var(--csu-muted);position:absolute;right:8px;top:8px}.week-grid-popover-title{align-items:center;display:flex;font-size:.9rem;font-weight:600;gap:8px;margin-bottom:8px;padding-right:20px}.week-grid-popover-title i{border-radius:50%;flex-shrink:0;height:10px;width:10px}.week-grid-popover dl{grid-gap:3px 10px;display:grid;gap:3px 10px;grid-template-columns:auto 1fr}.week-grid-popover dt{color:var(--csu-muted)}@media (max-width:500px){.week-grid{--time-col:44px}.week-grid-event{left:2px;padding:3px;right:2px}.week-grid-event strong{font-size:.6rem;letter-spacing:-.02em;overflow-wrap:anywhere;white-space:normal}.week-grid-event span{display:none}.week-grid-popover{width:180px}}.spinner{animation:spin 1s linear infinite;border-radius:50%;border-top:8px solid var(--csu-blue);border:8px solid var(--csu-blue);border-top-color:var(--csu-orange);height:80px;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%);width:80px;z-index:1000}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}@keyframes fadeInWave{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-wave{animation:fadeInWave .5s forwards;opacity:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-text-in{animation:fadeIn .5s .5s forwards;opacity:0}@media (max-width:1000px){.schedule-toolbar{padding:10px 12px 8px}.header-and-calendar{margin:4px 12px 34px}.schedule-card-title{min-width:0}}.custom-appointment-form{background-color:var(--csu-surface);border-radius:16px;box-shadow:0 25px 50px -12px #00000040,var(--csu-shadow);color:var(--csu-ink);margin:20px;padding:20px;width:95%}.custom-appointment-form .form-row{display:flex;gap:20px;justify-content:space-between;margin-bottom:5px}.custom-appointment-form .form-row div{width:100%}.custom-appointment-form label{display:block;font-size:.875rem;font-weight:600;margin-bottom:2px}.custom-appointment-form input[type=number],.custom-appointment-form input[type=text],.custom-appointment-form input[type=time]{background-color:#fff;border:1px solid var(--csu-line);border-radius:8px;color:#000;height:40px;padding:8px;width:100%}.custom-appointment-form input[type=color]{background-color:#fff;color:#000;height:40px;width:100%}.custom-appointment-form input[type=checkbox]{display:none}.custom-appointment-form .checkbox-group{display:inline-block}.custom-appointment-form .checkbox-label{cursor:pointer;display:inline-block;font-size:100%;line-height:20px;margin-right:15px;padding-left:25px;position:relative;-webkit-user-select:none;user-select:none}.custom-appointment-form .checkbox-label:before{border:2px solid var(--csu-blue);border-radius:4px;content:"";height:20px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:20px}.custom-appointment-form input[type=checkbox]:checked+.checkbox-label:after{background-color:var(--csu-blue);content:"";height:10px;left:5px;position:absolute;top:50%;transform:translateY(-50%);width:10px}.custom-appointment-form .button-row{align-items:center;display:flex;justify-content:center;margin-bottom:10px}.custom-appointment-form .add-appointment-button{background-color:var(--csu-blue);border:none;border-radius:8px;color:#fff;cursor:pointer;height:40px;margin-top:10px;padding:8px;width:auto}.custom-appointment-form .add-appointment-button:hover{background-color:#0c38aa}.custom-appointment-form .disabled-button{background-color:#ccc;cursor:not-allowed}.custom-appointment-form .disabled-button:hover{background-color:#ccc}.header-container{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#ffffffe6;border-bottom:1px solid var(--csu-line);display:flex;flex-direction:column;left:0;position:fixed;top:0;width:100%;z-index:1000}.header{align-items:center;color:var(--csu-ink);display:flex;gap:16px;height:var(--header-h);justify-content:space-between;padding:0 20px;width:100%}.page-header{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#ffffffe6;border-bottom:1px solid var(--csu-line);position:-webkit-sticky;position:sticky;top:0;z-index:1000}.header-left,.header-right{align-items:center;display:flex;flex-shrink:0;gap:12px}.brand{align-items:center;display:flex;gap:10px;white-space:nowrap}.brand-logo{height:36px;width:auto}.brand .title{font-size:1.05rem;font-weight:600;line-height:1.1}.credits-container{font-feature-settings:"tnum";align-items:center;background-color:var(--csu-subtle);border-radius:9999px;display:flex;font-size:.75rem;font-variant-numeric:tabular-nums;font-weight:600;gap:6px;padding:4px 12px;white-space:nowrap}.credits-label{color:var(--csu-muted)}.credits-value{color:var(--csu-blue)}.button-container{display:flex;white-space:nowrap}.Button{align-items:center;border-bottom:2px solid #0000;color:var(--csu-ink);cursor:pointer;display:flex;font-size:.875rem;font-weight:300;gap:6px;justify-content:center;transition:color .15s ease,border-color .15s ease,transform .15s ease}.Button.grayed:hover,.Button.show{color:var(--csu-blue)}.Button.show{border-bottom-color:var(--csu-blue);font-weight:500}@media (min-width:1001px){.button-container{align-self:stretch;gap:28px;justify-content:center;min-width:0}.Button{padding:0 2px}}@media (max-width:1000px){.header{padding:0 12px}.brand-logo{height:30px}.button-container{-ms-overflow-style:none;border-top:1px solid var(--csu-line);height:40px;overflow-x:auto;scrollbar-width:none;width:100%}.button-container::-webkit-scrollbar{display:none}.Button{flex:1 0 auto;padding:0 12px}}.menu-button{flex-shrink:0;transition:opacity .3s ease}.faded{opacity:.5}.buyButton{color:var(--csu-ink);font-size:.875rem;font-weight:300;white-space:nowrap}.buyButton:focus-visible,.buyButton:hover{color:var(--csu-blue)}.rounded-dropdown{border-radius:5px;text-align:center}.auth-section{gap:8px;white-space:nowrap}.auth-avatar,.auth-section{align-items:center;display:flex;flex-shrink:0}.auth-avatar{background:var(--csu-blue);border-radius:50%;color:#fff;font-size:.75rem;font-weight:600;height:28px;justify-content:center;overflow:hidden;-webkit-user-select:none;user-select:none;width:28px}.auth-avatar-img{border-radius:50%;height:100%;object-fit:cover;width:100%}.auth-email{color:var(--csu-muted);font-size:.75rem;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-signin-btn,.auth-signout-btn{align-items:center;border-radius:1rem;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:300;justify-content:center;padding:4px 16px;transition:transform .15s ease,color .15s ease,border-color .15s ease}.auth-signin-btn{background:var(--csu-ink);color:#fff}.auth-signout-btn{background:none;border:1px solid var(--csu-line);color:var(--csu-ink)}.auth-signin-btn:hover{transform:scale(1.05)}.auth-signout-btn:hover{border-color:var(--csu-orange);color:var(--csu-orange)}.term-select{background-color:var(--csu-surface);border:1px solid var(--csu-line);border-radius:9999px;color:var(--csu-blue);cursor:pointer;font-size:.8rem;font-weight:600;padding:4px 6px 4px 10px}.term-select:focus-visible{outline:2px solid var(--csu-blue);outline-offset:1px}@media (max-width:500px){.brand .title{display:none}}.custom-popup .mapboxgl-popup-content{background-color:var(--csu-ink);border-radius:8px;color:#fff;font-size:14px;font-weight:500;margin-left:0;max-width:none;opacity:.7;padding:6px;pointer-events:none!important;position:absolute;top:50%;transform:translateY(-50%) translateX(20px) translateY(10px);white-space:normal;width:-webkit-max-content;width:max-content}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{display:none!important}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{font-size:0!important}.mapboxgl-popup{max-width:none!important}.custom-popup .mapboxgl-popup-tip{display:none}@media (max-width:1000px){.mappp{height:var(--pane-h)!important}.day-selector{right:50px}.day-selector,.mode-selector{background:#fff;border-radius:5px;padding:5px 3px;position:absolute;top:40px}.mode-selector{left:10px}.question-mark-button{bottom:calc(1rem + 30px);position:absolute;right:1rem}}@media (min-width:1001px){.mappp{height:var(--pane-h)!important}.day-selector{right:50px}.day-selector,.mode-selector{background:#fff;border-radius:5px;padding:5px 3px;position:absolute;top:10px}.mode-selector{left:10px}.fullscreen-button{background:#fff;border-radius:5px;padding:3px 0;position:absolute;right:10px;top:105px}.question-mark-button{bottom:20px;left:1rem;position:absolute;z-index:998}}.help-overlay{background:#00000080;height:100%;left:0;position:absolute;top:0;width:100%;z-index:999}.help-content{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 8px #0000001a;color:#333;font-weight:300;left:50%;padding:20px;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:1008}.google-auth{margin-bottom:2px;margin-left:5px}.livechat-signin-state{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:10px;justify-content:center;left:50%;padding:24px 16px;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}.livechat-signin-icon{color:var(--csu-orange);font-size:2.6rem}.livechat-signin-title{color:var(--csu-ink);font-size:1.1rem;font-weight:600;margin:0}.livechat-signin-subtitle{color:var(--csu-muted);font-size:.8rem;font-weight:300;margin:0;text-align:center}.livechat-signin-btn{background:var(--csu-blue);border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:Sora,sans-serif;font-size:.82rem;font-weight:500;letter-spacing:.01em;margin-top:4px;padding:9px 26px;transition:all .2s ease}.livechat-signin-btn:hover{transform:scale(1.05)}.chat-panel{display:flex;flex-direction:column;height:100%;padding:10px;position:relative}.close-icon{color:var(--csu-muted);cursor:pointer;font-size:22px;position:absolute;right:-10px;top:0}.chat-content{overflow:hidden}.chat-content,.chat-messages-container{display:flex;flex-direction:column;flex-grow:1}.chat-messages-container{margin-bottom:10px;overflow-y:hidden}.chat-messages{flex-grow:1;overflow-y:auto}.chat-input-container{align-items:center;display:flex;margin-bottom:2px;margin-left:2px;padding-top:10px;z-index:10002}.choose-username-text{text-wrap:nowrap;left:50%;position:absolute;top:calc(50% - 12px);transform:translate(-50%,-50%)}.text-input{border:1px solid var(--csu-line);border-radius:8px;flex-grow:1;font-size:.9rem;margin-right:10px;padding:6px 10px}.text-input::placeholder{color:var(--csu-muted)}.message-container{margin-bottom:5px}.message-header{display:flex;justify-content:space-between}.timestamp{align-self:center;color:var(--csu-muted);display:inline-block;font-size:.8em;vertical-align:bottom}.message-content{margin-top:0;overflow-wrap:break-word}.ai-view-panel{color:var(--csu-ink);flex-direction:column;font-family:Sora,sans-serif;height:100%;overflow:hidden;width:100%}.ai-view-header,.ai-view-panel{background:var(--csu-surface);display:flex}.ai-view-header{align-items:center;border-bottom:1px solid var(--csu-line);flex-shrink:0;justify-content:space-between;padding:14px 20px}.ai-view-header-left{align-items:center;display:flex;gap:10px}.ai-view-header-icon{color:var(--csu-blue);font-size:1.25rem}.ai-view-title{color:var(--csu-ink);font-size:1rem;font-weight:600;letter-spacing:.02em;margin:0}.ai-view-header-actions{align-items:center;display:flex;gap:6px}.ai-view-header-btn{align-items:center;background:var(--csu-line);border:1px solid var(--csu-line);border-radius:6px;color:var(--csu-muted);cursor:pointer;display:flex;font-family:Sora,sans-serif;font-size:.78rem;gap:5px;padding:5px 12px;transition:all .2s ease}.ai-view-header-btn:hover:not(:disabled){background:var(--csu-line);border-color:var(--csu-line);color:var(--csu-ink)}.ai-view-header-btn:disabled{cursor:not-allowed;opacity:.35}.ai-view-header-btn-active{background:var(--csu-blue-tint);border-color:var(--csu-blue-tint);color:var(--csu-blue)}.ai-history-panel{background:var(--csu-subtle);border-bottom:1px solid var(--csu-line);max-height:220px;overflow-y:auto;scrollbar-color:var(--csu-line) #0000;scrollbar-width:thin}.ai-history-panel::-webkit-scrollbar{width:4px}.ai-history-panel::-webkit-scrollbar-thumb{background:var(--csu-line);border-radius:4px}.ai-history-empty,.ai-history-loading{color:var(--csu-muted);font-size:.8rem;padding:16px 20px;text-align:center}.ai-history-item{align-items:center;background:none;border:none;border-bottom:1px solid var(--csu-subtle);color:inherit;cursor:pointer;display:flex;font-family:Sora,sans-serif;padding:9px 20px;text-align:left;transition:background .15s ease;width:100%}.ai-history-item:hover{background:var(--csu-subtle)}.ai-history-item:last-child{border-bottom:none}.ai-history-item-active{background:var(--csu-blue-tint);border-left:2px solid var(--csu-blue)}.ai-history-item-content{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.ai-history-item-title{color:var(--csu-ink);font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-history-item-active .ai-history-item-title{color:var(--csu-ink)}.ai-history-item-time{color:var(--csu-muted);font-size:.7rem}.ai-history-delete-btn{align-items:center;background:#0000;border:none;border-radius:5px;color:var(--csu-muted);cursor:pointer;display:flex;flex-shrink:0;height:26px;justify-content:center;transition:all .15s ease;width:26px}.ai-history-delete-btn:hover{background:#fee2e2;color:#dc2626}.ai-view-messages{display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto;padding:16px 20px;scrollbar-color:var(--csu-line) #0000;scrollbar-width:thin}.ai-view-messages::-webkit-scrollbar{width:5px}.ai-view-messages::-webkit-scrollbar-track{background:#0000}.ai-view-messages::-webkit-scrollbar-thumb{background:var(--csu-line);border-radius:4px}.ai-view-welcome{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:12px;justify-content:center}.ai-view-welcome-icon{color:var(--csu-blue);font-size:2.5rem}.ai-view-welcome-text{color:var(--csu-muted);font-size:.9rem;margin:0;text-align:center}.ai-view-empty-state{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:16px;justify-content:center;padding:40px 20px}.ai-view-empty-icon{color:var(--csu-blue);font-size:3rem}.ai-view-empty-title{color:var(--csu-ink);font-size:1.2rem;font-weight:600;margin:0}.ai-view-empty-subtitle{color:var(--csu-muted);font-size:.85rem;margin:0}.ai-view-signin-btn{background:var(--csu-blue);border:1px solid var(--csu-blue);border-radius:8px;color:#fff;cursor:pointer;font-family:Sora,sans-serif;font-size:.85rem;padding:10px 28px;transition:all .2s ease}.ai-view-signin-btn:hover{background:#0c38aa;border-color:#0c38aa}.ai-msg{animation:msgFadeIn .25s ease-out;border-radius:16px;max-width:85%;overflow-wrap:break-word;padding:10px 14px}@keyframes msgFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.ai-msg-user{background:var(--csu-blue);border-bottom-right-radius:3px;color:#fff;margin-left:auto;text-align:right;white-space:pre-wrap}.ai-msg-assistant{background:var(--csu-subtle);border:1px solid var(--csu-line);border-bottom-left-radius:3px;color:var(--csu-ink);margin-right:auto}.ai-msg-content{font-size:.88rem;line-height:1.55}.ai-msg-assistant .ai-msg-content p{margin:0 0 .5em}.ai-msg-assistant .ai-msg-content p:last-child{margin-bottom:0}.ai-msg-assistant .ai-msg-content strong{color:var(--csu-ink);font-weight:600}.ai-msg-assistant .ai-msg-content h1,.ai-msg-assistant .ai-msg-content h2,.ai-msg-assistant .ai-msg-content h3,.ai-msg-assistant .ai-msg-content h4{color:var(--csu-ink);line-height:1.3;margin:.6em 0 .3em}.ai-msg-assistant .ai-msg-content h1{font-size:1.1rem}.ai-msg-assistant .ai-msg-content h2{font-size:1.05rem}.ai-msg-assistant .ai-msg-content h3{font-size:1rem}.ai-msg-assistant .ai-msg-content h4{font-size:.95rem}.ai-msg-assistant .ai-msg-content ol,.ai-msg-assistant .ai-msg-content ul{margin:.4em 0;padding-left:1.4em}.ai-msg-assistant .ai-msg-content li{margin-bottom:.35em}.ai-msg-assistant .ai-msg-content li>ol,.ai-msg-assistant .ai-msg-content li>ul{margin-bottom:.2em;margin-top:.2em}.ai-msg-assistant .ai-msg-content code{background:var(--csu-blue-tint);border-radius:4px;color:var(--csu-blue);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.83em;padding:.15em .35em}.ai-msg-assistant .ai-msg-content pre{background:var(--csu-subtle);border:1px solid var(--csu-line);border-radius:6px;margin:.5em 0;overflow-x:auto;padding:.7em .9em}.ai-msg-assistant .ai-msg-content pre code{background:none;color:var(--csu-ink);font-size:.82em;padding:0}.ai-msg-assistant .ai-msg-content blockquote{border-left:3px solid var(--csu-blue-tint);color:var(--csu-muted);margin:.5em 0;padding:.2em .6em}.ai-msg-assistant .ai-msg-content hr{border:none;border-top:1px solid var(--csu-line);margin:.6em 0}.ai-msg-assistant .ai-msg-content a{color:var(--csu-blue);text-decoration:none}.ai-msg-assistant .ai-msg-content a:hover{text-decoration:underline}.ai-view-input-bar{align-items:center;background:var(--csu-surface);border-top:1px solid var(--csu-line);display:flex;flex-shrink:0;gap:8px;padding:24px}.ai-view-input{background:var(--csu-subtle);border:1px solid var(--csu-line);border-radius:8px;color:var(--csu-ink);flex:1 1;font-family:Sora,sans-serif;font-size:.88rem;outline:none;padding:10px 14px;transition:border-color .2s ease}.ai-view-input::placeholder{color:var(--csu-muted)}.ai-view-input:focus{border-color:var(--csu-blue)}.ai-view-input:disabled{opacity:.5}.ai-view-send-btn{align-items:center;background:var(--csu-blue);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:38px;justify-content:center;transition:all .2s ease;width:38px}.ai-view-send-btn:hover:not(.disabled){background:#0c38aa;transform:scale(1.05)}.ai-view-send-btn.disabled{cursor:not-allowed;opacity:.35}.ai-cursor{animation:blink .8s infinite;color:var(--csu-blue)}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.tool-call-card{align-items:center;animation:msgFadeIn .25s ease-out;background:var(--csu-blue-tint);border:1px solid var(--csu-blue);border-radius:10px;display:flex;gap:10px;margin-right:auto;max-width:85%;padding:10px 14px;transition:border-color .3s ease,background .3s ease}.tool-call-card.tool-call-confirmed{background:#dcfce7;border-color:#86efac}.tool-call-card.tool-call-rejected{background:var(--csu-subtle);border-color:var(--csu-line);opacity:.6}.tool-call-icon{align-items:center;background:var(--csu-blue-tint);border-radius:8px;color:var(--csu-blue);display:flex;flex-shrink:0;font-size:1rem;height:32px;justify-content:center;width:32px}.tool-call-confirmed .tool-call-icon{background:#dcfce7;color:#16a34a}.tool-call-rejected .tool-call-icon{background:var(--csu-subtle);color:var(--csu-muted)}.tool-call-body{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.tool-call-label{color:var(--csu-ink);font-size:.84rem;line-height:1.4;overflow:hidden;text-overflow:ellipsis}.tool-call-status{font-size:.72rem;font-weight:500;letter-spacing:.03em;text-transform:uppercase}.tool-call-status.status-confirmed{color:#16a34a}.tool-call-status.status-rejected{color:var(--csu-muted)}.tool-call-actions{display:flex;flex-shrink:0;gap:6px}.tool-call-btn{align-items:center;border:1px solid #0000;border-radius:7px;cursor:pointer;display:flex;font-family:Sora,sans-serif;height:30px;justify-content:center;transition:all .2s ease;width:30px}.tool-call-btn-confirm{background:#dcfce7;border-color:#86efac;color:#16a34a}.tool-call-btn-confirm:hover{background:#86efac;border-color:#86efac;transform:scale(1.08)}.tool-call-btn-reject{background:var(--csu-line);border-color:var(--csu-line);color:var(--csu-muted)}.tool-call-btn-reject:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626;transform:scale(1.08)}.model-plan{border-collapse:collapse;color:var(--csu-ink);font-size:.875rem;position:relative}.model-plan td,.model-plan th{border:1px solid var(--csu-line);padding:8px 10px}.model-plan tr:nth-child(2n){background-color:#fff}.model-plan tr:nth-child(odd){background-color:var(--csu-subtle)}.model-plan .thicker-border td{background-color:var(--csu-blue-tint);border-bottom:2px solid var(--csu-line);border-top:2px solid var(--csu-line);color:var(--csu-blue)}.table-container{height:auto;margin:auto;overflow-x:auto;overflow-y:auto;position:relative;width:auto}.model-plan-container{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:flex-start;padding:0 12px 40px;position:relative;width:100%}.department-select{margin-left:auto;margin-right:auto;margin-top:16px;width:90%}.static-page{background:var(--csu-surface);color:var(--csu-ink);font-family:Sora,sans-serif;font-weight:300}.static-page h1,.static-page h2,.static-page h3{font-weight:700}.static-page a,.static-page h1{color:var(--csu-blue)}h1{font-size:2.5em;text-align:center}h1,h2{margin-bottom:10px}h2{font-size:1.5em}h3{font-size:1.25em}h3,ul{margin-bottom:10px}ul{list-style-type:disc;padding-left:20px}li{margin-bottom:5px}:root{--rt-color-white:#fff;--rt-color-dark:#222;--rt-color-success:#8dc572;--rt-color-error:#be6464;--rt-color-warning:#f0ad4e;--rt-color-info:#337ab7;--rt-opacity:0.9;--rt-transition-show-delay:0.15s;--rt-transition-closing-delay:0.15s}.core-styles-module_tooltip__3vRRp{left:0;opacity:0;pointer-events:none;position:absolute;top:0;will-change:opacity}.core-styles-module_fixed__pcSol{position:fixed}.core-styles-module_arrow__cvMwQ{background:inherit;position:absolute}.core-styles-module_noArrow__xock6{display:none}.core-styles-module_clickable__ZuTTB{pointer-events:auto}.core-styles-module_show__Nt9eE{opacity:.9;opacity:var(--rt-opacity);transition:opacity .15s ease-out;transition:opacity var(--rt-transition-show-delay) ease-out}.core-styles-module_closing__sGnxF{opacity:0;transition:opacity .15s ease-in;transition:opacity var(--rt-transition-closing-delay) ease-in}.styles-module_tooltip__mnnfp{border-radius:3px;font-size:90%;padding:8px 16px;width:-webkit-max-content;width:max-content}.styles-module_arrow__K0L3T{height:8px;width:8px}[class*=react-tooltip__place-top]>.styles-module_arrow__K0L3T{transform:rotate(45deg)}[class*=react-tooltip__place-right]>.styles-module_arrow__K0L3T{transform:rotate(135deg)}[class*=react-tooltip__place-bottom]>.styles-module_arrow__K0L3T{transform:rotate(225deg)}[class*=react-tooltip__place-left]>.styles-module_arrow__K0L3T{transform:rotate(315deg)}.styles-module_dark__xNqje{background:#222;background:var(--rt-color-dark);color:#fff;color:var(--rt-color-white)}.styles-module_light__Z6W-X{background-color:#fff;background-color:var(--rt-color-white);color:#222;color:var(--rt-color-dark)}.styles-module_success__A2AKt{background-color:#8dc572;background-color:var(--rt-color-success);color:#fff;color:var(--rt-color-white)}.styles-module_warning__SCK0X{background-color:#f0ad4e;background-color:var(--rt-color-warning);color:#fff;color:var(--rt-color-white)}.styles-module_error__JvumD{background-color:#be6464;background-color:var(--rt-color-error);color:#fff;color:var(--rt-color-white)}.styles-module_info__BWdHW{background-color:#337ab7;background-color:var(--rt-color-info);color:#fff;color:var(--rt-color-white)}