@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial}}}@layer theme{:root,:host{--font-sans:"Inter",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;--color-blue-500:oklch(62.3% .214 259.815);--color-blue-700:oklch(48.8% .243 264.376);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-950:oklch(13% .028 261.692);--color-white:#fff;--spacing:.25rem;--leading-normal:1.5;--radius-3xl:1.5rem;--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%;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}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-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{.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.block{display:block}.flex{display:flex}.hidden{display:none}.min-h-0{min-height:calc(var(--spacing)*0)}.w-\[500px\]{width:500px}.w-full{width:100%}.max-w-\[100vw\]{max-width:100vw}.max-w-\[300px\]{max-width:300px}.flex-1{flex:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-3{gap:calc(var(--spacing)*3)}.gap-9{gap:calc(var(--spacing)*9)}.gap-16{gap:calc(var(--spacing)*16)}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.self-stretch{align-self:stretch}.overflow-x-auto{overflow-x:auto}.rounded-3xl{border-radius:var(--radius-3xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-gray-200{border-color:var(--color-gray-200)}.stroke-gray-600{stroke:var(--color-gray-600)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.px-4{padding-inline:calc(var(--spacing)*4)}.pt-16{padding-top:calc(var(--spacing)*16)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.text-center{text-align:center}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.text-blue-700{color:var(--color-blue-700)}.text-gray-700{color:var(--color-gray-700)}@media(hover:hover){.group-hover\:stroke-current:is(:where(.group):hover *){stroke:currentColor}.hover\:underline:hover{text-decoration-line:underline}}@media(prefers-color-scheme:dark){.dark\:block{display:block}.dark\:hidden{display:none}.dark\:border-gray-700{border-color:var(--color-gray-700)}.dark\:stroke-gray-300{stroke:var(--color-gray-300)}.dark\:text-blue-500{color:var(--color-blue-500)}.dark\:text-gray-200{color:var(--color-gray-200)}}}html,body{background-color:var(--color-white)}@media(prefers-color-scheme:dark){html,body{background-color:var(--color-gray-950);color-scheme:dark}}html,body{padding-top:var(--tg-content-safe-area-inset-top,0px);padding-bottom:var(--tg-content-safe-area-inset-bottom,0px);padding-left:var(--tg-content-safe-area-inset-left,0px);padding-right:var(--tg-content-safe-area-inset-right,0px);background-color:var(--cu-site-color-base-black)}:root{--cu-site-color-base-black:#080808;--cu-site-color-second-black:#141414;--cu-site-color-grey-bg:#2b2d31;--cu-site-color-grey-stroke:#3a3d42;--cu-site-border-normal:#454545;--cu-site-color-white:#fafafa;--cu-site-color-grey-300:#b0b0b0;--cu-site-color-grey-400:#888;--cu-site-blue-marguerite-500:#775aff;--cu-site-blue-accent-500:#b8b1ff;--tui-radius-l:1.5rem;--tui-radius-xl:2rem;--font-head:"Unbounded",sans-serif;--font-body:"Inter",sans-serif}.courses-container{background-color:var(--cu-site-color-base-black);color:var(--cu-site-color-white);font-family:var(--font-body);max-width:1600px;min-height:100vh;margin:0 auto}.courses-title{font-family:var(--font-head);letter-spacing:-.02em;margin-top:0;margin-bottom:40px;font-size:3rem;font-weight:700;line-height:1.1}.loading-state{flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:60vh;display:flex}.spinner{border:4px solid var(--cu-site-color-grey-stroke);border-top-color:var(--cu-site-blue-marguerite-500);border-radius:50%;width:50px;height:50px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-state,.not-found-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:60vh;display:flex}.error-state h1,.not-found-state h1{font-family:var(--font-head);color:var(--cu-site-color-white);font-size:2rem}.error-state p,.not-found-state p{color:var(--cu-site-color-grey-300);font-size:1rem}.not-found-icon{opacity:.6;margin-bottom:20px}.not-found-icon svg{margin:0 auto;display:block}.empty-state{text-align:center;color:var(--cu-site-color-grey-300);padding:60px 20px}.blocks-container{flex-direction:column;gap:24px;display:flex}.block-section{background-color:var(--cu-site-color-second-black);border-radius:var(--tui-radius-xl);padding:32px}.block-header{margin-bottom:32px}.block-title{font-family:var(--font-head);color:var(--cu-site-blue-marguerite-500);margin-bottom:8px;font-size:1.5rem}.block-description{color:var(--cu-site-color-grey-300);margin-top:8px;font-size:.875rem}.choice-group{margin-bottom:24px}.choice-group:last-child{margin-bottom:0}.choice-label{color:var(--cu-site-color-grey-300);text-transform:uppercase;letter-spacing:.05em;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;font-size:.875rem;display:flex}.choice-required-badge{background-color:var(--cu-site-blue-marguerite-500);color:var(--cu-site-color-white);text-transform:none;letter-spacing:0;border-radius:4px;padding:2px 8px;font-size:.75rem;font-weight:600}.choice-header{margin-bottom:12px}.choice-many-courses{flex-direction:column;align-items:center;gap:16px;padding:20px 0 12px;display:flex}.choice-selected-course{background-color:var(--cu-site-color-grey-bg);border-radius:var(--tui-radius-l);border:1px solid var(--cu-site-color-grey-stroke);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px;transition:all .2s;display:flex}.choice-selected-course:hover{border-color:var(--cu-site-color-grey-400);transform:translateY(-1px)}.choice-selected-course.selected{border-color:var(--cu-site-blue-marguerite-500);background-color:#775aff1a}.choice-selected-course.selected:hover{border-color:var(--cu-site-blue-marguerite-500)}.choice-selected-course-name{color:var(--cu-site-color-white);flex:1;font-size:.875rem;font-weight:500}.choice-selected-course-badges{align-items:center;gap:8px;display:flex}.course-item-delete-btn{color:var(--cu-site-color-grey-400);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.course-item-delete-btn:hover{color:var(--cu-site-color-white);background-color:#ffffff1a}.choice-many-courses-info{color:var(--cu-site-color-grey-300);font-size:.875rem}.choice-select-button{width:100%}.empty-choice{text-align:center;color:var(--cu-site-color-grey-400);padding:20px}.single-choice-courses{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px;display:grid}.multi-choice-groups{flex-wrap:wrap;gap:16px;width:100%;display:flex}.choice-group-card{background-color:var(--cu-site-color-second-black);border:1px solid var(--cu-site-color-grey-stroke);border-radius:var(--tui-radius-l);box-sizing:border-box;flex:calc(50% - 8px);min-width:0;padding:16px;transition:all .3s}.choice-group-card.missing-required-highlight,.course-item.missing-required-highlight{background-color:#dc26261a;border-color:#dc2626;animation:1s ease-in-out 3 pulse}@keyframes pulse{50%{opacity:.5}}.courses-list{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.course-item{background-color:var(--cu-site-color-grey-bg);border:1px solid var(--cu-site-color-grey-stroke);border-radius:var(--tui-radius-l);cursor:pointer;padding:20px;transition:all .2s cubic-bezier(.2,0,.3,1);position:relative}.course-item:hover{border-color:var(--cu-site-color-grey-400);transform:translateY(-1px)}.course-item.selected{border-color:var(--cu-site-blue-marguerite-500);background-color:#775aff1a}.course-item.full{opacity:.7;border-color:var(--cu-site-color-grey-400)}.course-item.full:hover{border-color:var(--cu-site-color-grey-400);cursor:not-allowed;transform:none}.course-item-content{justify-content:space-between;align-items:center;gap:16px;width:100%;display:flex}.course-item-badges{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.course-item-title{color:var(--cu-site-color-white);flex:1;font-size:1rem;font-weight:500;line-height:1.4}.course-item.selected .course-item-title{color:var(--cu-site-blue-accent-500)}.course-item-badge{background-color:var(--cu-site-blue-marguerite-500);color:var(--cu-site-color-white);white-space:nowrap;border-radius:12px;padding:4px 12px;font-size:.75rem;font-weight:600}.course-item-badge-full{background-color:var(--cu-site-color-grey-400);color:var(--cu-site-color-white)}.popup-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000000b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.popup-content{background-color:var(--cu-site-color-second-black);border-radius:var(--tui-radius-xl);border:1px solid var(--cu-site-color-grey-stroke);width:100%;max-width:500px;max-height:90vh;padding:32px;position:relative;overflow:hidden auto}.popup-close{color:var(--cu-site-color-grey-300);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.popup-close:hover{background-color:var(--cu-site-color-grey-bg);color:var(--cu-site-color-white)}.popup-title{font-family:var(--font-head);color:var(--cu-site-color-white);margin-bottom:16px;padding-right:40px;font-size:1.5rem;font-weight:700}.popup-capacity{color:var(--cu-site-color-grey-300);background-color:var(--cu-site-color-grey-bg);border:1px solid var(--cu-site-color-grey-stroke);border-radius:8px;margin-bottom:16px;padding:8px 12px;font-size:.875rem}.popup-description{color:var(--cu-site-color-grey-300);white-space:pre-wrap;margin-bottom:24px;font-size:1rem;line-height:1.6}.course-full-message{color:var(--cu-site-color-grey-400);text-align:center;background-color:var(--cu-site-color-grey-bg);border:1px solid var(--cu-site-color-grey-stroke);border-radius:8px;padding:12px;font-size:.875rem}.deselect-popup{text-align:center;max-width:400px}.deselect-popup-content{flex-direction:column;align-items:center;gap:24px;padding:20px;display:flex}.deselect-popup-text{color:var(--cu-site-color-white);margin:0;font-size:1.25rem;font-weight:600}.deselect-success-icon{color:#22c55e;background-color:#22c55e1a;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.deselect-success-icon svg{width:32px;height:32px}.choice-screen-container{flex-direction:column;max-width:1600px;min-height:100vh;margin:0 auto;display:flex}.choice-screen-header{background-color:var(--cu-site-color-base-black);color:var(--cu-site-color-white);font-family:var(--font-body);flex-shrink:0;align-items:center;gap:16px;padding:16px 24px;display:flex}.choice-screen-header-content{flex:1}.choice-screen-title{font-family:var(--font-head);color:var(--cu-site-color-white);text-transform:uppercase;letter-spacing:.02em;margin:0;font-size:1.5rem;font-weight:700}.choice-screen-header .choice-required-notice{margin:0}.choice-search-container{flex-shrink:0;padding:16px 24px;position:relative}.choice-search-input{background-color:var(--cu-site-color-grey-bg);border:1px solid var(--cu-site-color-grey-stroke);border-radius:var(--tui-radius-l);width:100%;color:var(--cu-site-color-white);font-size:1rem;font-family:var(--font-body);outline:none;padding:12px 16px 12px 44px;transition:all .2s}.choice-search-input:focus{border-color:var(--cu-site-blue-marguerite-500);background-color:var(--cu-site-color-second-black)}.choice-search-input::placeholder{color:var(--cu-site-color-grey-400)}.choice-search-icon{color:var(--cu-site-color-grey-400);pointer-events:none;position:absolute;top:50%;left:36px;transform:translateY(-50%)}.choice-required-notice{color:var(--cu-site-blue-marguerite-500);margin-bottom:8px;font-size:.875rem;font-weight:600}.choice-courses-wrapper{flex-direction:column;display:flex}.choice-courses-list{flex-direction:column;gap:12px;padding:24px 24px 40px;display:flex}.choice-no-results{color:var(--cu-site-color-grey-400);text-align:center;justify-content:center;align-items:center;padding:60px 24px;display:flex}.choice-course-item{background-color:var(--cu-site-color-grey-bg);border:1px solid var(--cu-site-color-grey-stroke);border-radius:var(--tui-radius-l);cursor:pointer;padding:16px;transition:all .2s}.choice-course-item:hover:not(.full):not(.selected){border-color:var(--cu-site-color-grey-400);transform:translateY(-1px)}.choice-course-item.selected{border-color:var(--cu-site-blue-marguerite-500);background-color:#775aff1a}.choice-course-item.full{opacity:.7;cursor:not-allowed}.choice-course-content{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.choice-course-info{flex:1}.choice-course-title{color:var(--cu-site-color-white);margin-bottom:8px;font-size:1rem;font-weight:600}.choice-course-description{color:var(--cu-site-color-grey-300);margin-bottom:8px;font-size:.875rem;line-height:1.5}.choice-course-capacity{color:var(--cu-site-color-grey-400);font-size:.75rem}.choice-course-actions{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.popup-actions{flex-direction:column;gap:12px;display:flex}.cu-button{font-size:inherit;line-height:inherit;box-sizing:border-box;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;user-select:none;cursor:pointer;max-inline-size:100%;font-family:var(--font-body);letter-spacing:.01em;background:0 0;border:0;border-radius:.75rem;outline:none;flex-shrink:0;justify-content:center;align-items:center;min-height:2.5rem;padding:.5rem 1.5rem;font-weight:500;text-decoration:none;transition:all .2s cubic-bezier(.2,0,.3,1);display:inline-flex;position:relative}.cu-button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.cu-button-primary{background-color:var(--cu-site-blue-marguerite-500);color:var(--cu-site-color-white);border:1px solid var(--cu-site-blue-marguerite-500)}.cu-button-primary:hover:not(:disabled){background-color:var(--cu-site-blue-accent-500);border-color:var(--cu-site-blue-accent-500);transform:translateY(-1px)}.cu-button-primary:active:not(:disabled){transform:translateY(0)}.cu-button-outline{color:var(--cu-site-color-white);border:1px solid var(--cu-site-border-normal);background-color:#0000}.cu-button-outline:hover{border-color:var(--cu-site-color-grey-300);background-color:#ffffff0d;transform:translateY(-1px)}.cu-button-outline:active{transform:translateY(0)}.save-button-container{justify-content:center;margin-top:40px;margin-bottom:20px;display:flex}.save-button{justify-content:center;align-items:center;gap:12px;width:100%;max-width:400px;padding:16px 32px;font-size:1.125rem;font-weight:600;display:flex}.save-button-spinner{border:2px solid #ffffff4d;border-top-color:var(--cu-site-color-white);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}.confirm-content{flex-direction:column;align-items:center;gap:24px;width:100%;padding:32px 24px 0;display:flex}.confirm-success-icon{flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto;display:flex}.confirm-title{font-family:var(--font-head);color:var(--cu-site-color-white);text-align:left;width:100%;margin:0;font-size:1.5rem;font-weight:700}.confirm-courses-list{text-align:left;background-color:var(--cu-site-color-second-black);border:1px solid var(--cu-site-color-grey-stroke);border-radius:var(--tui-radius-l);flex-direction:column;gap:12px;width:100%;max-height:60vh;padding:24px;display:flex;overflow:hidden auto}.confirm-course-item{color:var(--cu-site-color-white);align-items:flex-start;gap:12px;font-size:1rem;line-height:1.5;display:flex}.confirm-course-bullet{color:var(--cu-site-blue-marguerite-500);flex-shrink:0;font-weight:600}.confirm-course-name{flex:1}.courses-footer{border-top:1px solid var(--cu-site-color-grey-stroke);margin-top:60px;padding:32px 0}.choice-screen-container .courses-footer{margin-top:0;padding-top:24px}.footer-content{text-align:center;max-width:1600px;margin:0 auto}.footer-text{color:var(--cu-site-color-grey-400);margin:0;font-size:.875rem}@media(max-width:768px){.courses-container{padding-inline:calc(var(--tg-content-safe-area-inset-left,0px) + 16px)calc(var(--tg-content-safe-area-inset-right,0px) + 16px)}.courses-title{font-size:2rem}.block-section{padding:20px}.popup-content{max-width:100%;padding:24px}.popup-title{font-size:1.25rem}.courses-list,.single-choice-courses{grid-template-columns:1fr}.choice-group-card{flex:100%}.choice-courses-list{padding:16px}.choice-screen-header{padding:12px 16px}.choice-screen-title{font-size:1.25rem}.choice-search-container{padding:12px 16px}.courses-footer{margin-top:40px;padding:24px 0}.save-button{max-width:100%}.confirm-content{gap:20px;padding:24px 16px}.confirm-title{font-size:1.25rem}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}
