.badge{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;font-family:JetBrains Mono,monospace;font-weight:600;line-height:1;gap:6px;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.badge--sm{height:22px;padding:0 8px;font-size:11px;border-radius:4px}.badge--sm.badge--status{border-radius:20px;padding-left:8px}.badge--md{height:32px;padding:0 12px;font-size:13px;border-radius:6px}.badge--md.badge--status{border-radius:24px;padding-left:10px}.badge--status .badge-dot{width:6px;height:6px;border-radius:50%;background-color:currentColor;flex-shrink:0}.badge--status.badge--sm .badge-dot{width:4px;height:4px}.badge--instructor,.badge--primary{background-color:rgba(249,72,72,.1);color:#f94848}.badge--student,.badge--success{background-color:rgba(16,185,129,.1);color:#10b981}.badge--hybrid,.badge--warning{background-color:rgba(245,158,11,.1);color:#f59e0b}.badge--admin,.badge--danger{background-color:rgba(239,68,68,.1);color:#ef4444}.badge--info,.badge--online{background-color:rgba(59,130,246,.1);color:#3b82f6}.badge--offline{background-color:rgba(16,185,129,.1);color:#10b981}.badge--default{background-color:hsla(206,6%,49%,.08);color:#777f85}.badge--student .badge-dot,.badge--success .badge-dot{animation:badge-pulse 1.5s infinite}@keyframes badge-pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.primitive-tag{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0;border-radius:24px;border:2px dashed #dde0e3;background-color:transparent;font-family:JetBrains Mono,monospace;font-size:15px;font-weight:500;line-height:1;color:#596373;cursor:default;transition:all .25s cubic-bezier(.4,0,.2,1);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;outline:none;position:relative}.primitive-tag .tag-content-wrapper{display:flex;align-items:center;gap:8px;padding:0 16px;transition:transform .2s cubic-bezier(.4,0,.2,1)}.primitive-tag .tag-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.primitive-tag .tag-icon--remove{width:16px;height:16px;margin-left:4px;cursor:pointer;opacity:.6;transition:opacity .2s ease,transform .2s ease}.primitive-tag .tag-icon--remove:hover{opacity:1;transform:scale(1.1)}.primitive-tag .tag-icon--remove:active{transform:scale(.95)}.primitive-tag .tag-icon--remove svg{display:block}.primitive-tag.is-clickable:not(.is-active){cursor:pointer}.primitive-tag.is-clickable:not(.is-active):hover{border-style:solid;border-color:#596373;color:#29313d;background-color:hsla(206,6%,49%,.05)}.primitive-tag.is-clickable:not(.is-active):active{transform:scale(.98)}.primitive-tag.is-active{background-color:rgba(249,72,72,.05);border-style:solid;border-color:#f94848;color:#f94848;font-weight:600;cursor:pointer}.primitive-tag.is-active:after{content:"";position:absolute;top:-6px;right:-6px;width:16px;height:16px;border-radius:50%;background-color:#f94848;border:2px solid #fff;background-image:url("data:image/svg+xml,%3Csvg width='10' height='10' viewBox='0 0 10 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.5 2.5L3.75 7.25L1.5 5' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:10px 10px;background-repeat:no-repeat;background-position:50%;z-index:1}.primitive-tag.is-active:hover{background-color:rgba(249,72,72,.08);border-color:#e03e3e;color:#e03e3e}.primitive-tag.is-active:hover:after{background-color:#e03e3e}.primitive-tag.is-active:active{transform:scale(.98)}.typo-highlight{background:linear-gradient(0deg,rgba(249,72,72,.15) 50%,transparent 0);background-repeat:no-repeat;display:inline}.typo-text-highlight{font-weight:300;font-style:italic}.typo-h1,.typo-text-highlight{font-family:var(--font-averta),"Averta CY",sans-serif}.typo-h1{font-weight:600;font-size:48px;line-height:110%;letter-spacing:-1.92px}@media(max-width:1199px){.typo-h1{font-size:40px;letter-spacing:-1.6px}}@media(max-width:860px){.typo-h1{font-size:32px;letter-spacing:-1.28px}}.typo-h2{font-family:var(--font-averta),"Averta CY",sans-serif;font-weight:600;font-size:33px;line-height:120%;letter-spacing:-.56px}@media(max-width:1199px){.typo-h2{font-size:24px;letter-spacing:-.48px}}@media(max-width:860px){.typo-h2{font-size:22px;letter-spacing:-.35px}}.typo-h3{font-family:var(--font-averta),"Averta CY",sans-serif;font-weight:600;font-size:28px;line-height:130%;letter-spacing:-.44px}@media(max-width:1199px){.typo-h3{font-size:20px;letter-spacing:-.4px}}@media(max-width:860px){.typo-h3{font-size:18px;letter-spacing:-.36px}}.typo-h4{font-family:var(--font-averta),"Averta CY",sans-serif;font-weight:600;font-size:20px;line-height:140%;letter-spacing:-.18px}@media(max-width:1199px){.typo-h4{font-size:17px;letter-spacing:-.17px}}@media(max-width:860px){.typo-h4{font-size:16px;letter-spacing:0}}.typo-h5{font-family:var(--font-averta),"Averta CY",sans-serif;font-weight:600;font-size:16px;line-height:140%;letter-spacing:0}@media(max-width:860px){.typo-h5{font-size:15px}}.typo-h6{font-family:var(--font-averta),"Averta CY",sans-serif;font-weight:600;font-size:15px;line-height:140%;letter-spacing:0}@media(max-width:860px){.typo-h6{font-size:14px}}.typo-large{font-family:var(--font-averta),"Averta CY",sans-serif;font-weight:400;font-size:18px;line-height:150%;letter-spacing:-.1px}.typo-large--medium{font-weight:500}.typo-large--bold,.typo-large--semibold{font-weight:600}.typo-body{font-family:var(--font-averta),"Averta CY",sans-serif;font-weight:400;font-size:16px;line-height:150%;letter-spacing:0}.typo-body--medium{font-weight:500}.typo-body--bold,.typo-body--semibold{font-weight:600}.typo-small{font-family:var(--font-averta),"Averta CY",sans-serif;font-weight:400;font-size:15px;line-height:150%;letter-spacing:.1px}.typo-small--medium{font-weight:500}.typo-small--bold,.typo-small--semibold{font-weight:600}.typo-meta{font-family:var(--font-averta),"Averta CY",sans-serif;font-weight:400;font-size:13px;line-height:150%;letter-spacing:.1px}.typo-meta--medium{font-weight:500}.typo-action,.typo-meta--bold,.typo-meta--semibold{font-weight:600}.typo-action{font-family:JetBrains Mono,monospace;font-size:13px;line-height:130%;text-transform:uppercase}@media(max-width:860px){.typo-action{font-size:12px}}.typo-label{font-family:JetBrains Mono,monospace;font-weight:500;font-size:13px;line-height:130%}@media(max-width:860px){.typo-label{font-size:12px}}.typo-input{font-family:JetBrains Mono,monospace;font-weight:500;font-size:15px;line-height:150%}@media(max-width:860px){.typo-input{font-size:14px}}.typo-number{font-family:JetBrains Mono,monospace;font-weight:600;font-size:40px;line-height:1;letter-spacing:-1px}.nav-item{padding:0 8px;height:28px;display:flex;align-items:center;justify-content:center;gap:8px;background-color:#fff;cursor:pointer;position:relative;text-decoration:none;transition:opacity .2s ease;opacity:0}.nav-item .nav-indicator{width:4px;height:4px;background-color:#777f85;flex-shrink:0;transition:background-color .2s ease}.nav-item span{font-family:JetBrains Mono,monospace;font-weight:600;font-size:13px;line-height:130%;text-transform:uppercase}@media(max-width:860px){.nav-item span{font-size:12px}}.nav-item span{font-weight:700;color:#777f85}.nav-item:after{content:"";position:absolute;bottom:0;left:8px;width:0;height:2px;transition:width .3s ease}.nav-item:after,.nav-item:hover:not(.nav-item--disabled) .nav-indicator{background-color:#f94848}.nav-item:hover:not(.nav-item--disabled) span{color:#f94848}.nav-item:hover:not(.nav-item--disabled):after{width:calc(100% - 16px)}.nav-item--active .nav-indicator,.nav-item--current .nav-indicator{background-color:#f94848!important;animation:blink 1s steps(2,start) infinite}.nav-item--active span,.nav-item--current span{color:#f94848!important}.nav-item--active:after,.nav-item--current:after{width:calc(100% - 16px)!important;background-color:#f94848}.nav-item--disabled{cursor:not-allowed;opacity:.4}.nav-item--disabled span{color:#777f85}.nav-item--disabled:after{display:none}@media(max-width:860px){.nav-item{height:40px;justify-content:flex-start;padding:0 16px}.nav-item:after{left:16px}.nav-item--active:after,.nav-item--current:after,.nav-item:hover:not(.nav-item--disabled):after{width:calc(100% - 32px)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}