:root{--bdk-close-mark-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E");--bdk-close-motion: .15s cubic-bezier(.2, .75, .25, 1)}.bdk-ui-close-button,.harmonia-view-drawer__close,.harmonia-help-tour .driver-popover-close-btn{box-sizing:border-box;display:inline-grid;width:var(--bdk-touch-target, 44px);min-width:var(--bdk-touch-target, 44px);height:var(--bdk-touch-target, 44px);min-height:var(--bdk-touch-target, 44px);flex:0 0 auto;place-items:center;padding:0;border:0;border-radius:var(--bdk-radius-full, 999px);background:transparent;box-shadow:none;color:var(--bdk-color-text-muted, #626262);cursor:pointer;font:inherit;line-height:1;transition:transform var(--bdk-close-motion)}.bdk-ui-close-button:hover:not(:disabled),.bdk-ui-close-button:focus-visible,.harmonia-view-drawer__close:hover,.harmonia-view-drawer__close:focus-visible,.harmonia-help-tour .driver-popover-close-btn:hover:not(:disabled),.harmonia-help-tour .driver-popover-close-btn:focus-visible{border-color:transparent;background:transparent;color:var(--color-status-danger, #c83235);transform:scale(1.045)}.bdk-ui-close-button:focus-visible,.harmonia-view-drawer__close:focus-visible,.harmonia-help-tour .driver-popover-close-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--bdk-color-accent, #ffb200) 70%,transparent);outline-offset:2px;box-shadow:none}.bdk-ui-close-button:active:not(:disabled),.harmonia-view-drawer__close:active,.harmonia-help-tour .driver-popover-close-btn:active:not(:disabled){transform:scale(.94)}.bdk-ui-close-button:disabled,.harmonia-view-drawer__close:disabled,.harmonia-help-tour .driver-popover-close-btn:disabled{cursor:not-allowed;opacity:.5}.bdk-ui-close-button__icon,.harmonia-view-drawer__close>svg{display:block;flex:0 0 auto;color:inherit;transition:color var(--bdk-close-motion),filter var(--bdk-close-motion),opacity var(--bdk-close-motion)}.harmonia-view-drawer__close>svg{width:20px;height:20px}.bdk-ui-close-button:hover:not(:disabled) .bdk-ui-close-button__icon,.bdk-ui-close-button:focus-visible .bdk-ui-close-button__icon,.harmonia-view-drawer__close:hover>svg,.harmonia-view-drawer__close:focus-visible>svg,.harmonia-help-tour .driver-popover-close-btn:hover:not(:disabled):before,.harmonia-help-tour .driver-popover-close-btn:focus-visible:before{filter:drop-shadow(0 0 2px currentColor)}.bdk-ui-close-button:active:not(:disabled) .bdk-ui-close-button__icon,.harmonia-view-drawer__close:active>svg,.harmonia-help-tour .driver-popover-close-btn:active:not(:disabled):before{opacity:.84}.harmonia-help-tour .driver-popover-close-btn{overflow:visible;font-size:0;text-indent:-9999px}.harmonia-help-tour .driver-popover-close-btn:before{content:"";display:block;width:20px;height:20px;background-color:currentColor;-webkit-mask:var(--bdk-close-mark-mask) center / contain no-repeat;mask:var(--bdk-close-mark-mask) center / contain no-repeat;transition:background-color var(--bdk-close-motion),filter var(--bdk-close-motion),opacity var(--bdk-close-motion)}@media(prefers-reduced-motion:reduce){.bdk-ui-close-button,.bdk-ui-close-button__icon,.harmonia-view-drawer__close,.harmonia-view-drawer__close>svg,.harmonia-help-tour .driver-popover-close-btn,.harmonia-help-tour .driver-popover-close-btn:before{transition-duration:.01ms}}.problem-report-launcher,.problem-report-icon{min-width:44px;min-height:44px;flex-shrink:0}.problem-report-icon{border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--bdk-radius-md,.5rem);cursor:pointer}.bdk-ui-help-action.bdk-ui-report-action{--bdk-help-rest-color: var(--bdk-color-text-muted);--bdk-help-hover-color: #c2410c;--bdk-help-hover-icon-color: #ea580c;--bdk-help-hover-glow-color: color-mix(in srgb, #f97316 55%, white)}.dark-theme .bdk-ui-help-action.bdk-ui-report-action{--bdk-help-hover-color: #fb923c;--bdk-help-hover-icon-color: #fb923c;--bdk-help-hover-glow-color: #fb923c}.problem-report-dialog{position:fixed;inset:auto var(--report-right,16px) auto auto;top:var(--report-top,72px);margin:0;width:min(32rem,calc(100vw - 2rem));max-height:calc(100dvh - var(--report-top,72px) - 16px);overflow:auto;padding:1.15rem;border:1px solid var(--border-glass);border-radius:1rem;background:var(--bdk-color-surface);color:var(--bdk-color-text);box-shadow:0 18px 48px #140f0840;font:inherit}.problem-report-dialog::backdrop{background:#00000047}.problem-report-dialog header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.problem-report-dialog h2{margin:0;font-size:1.15rem}.problem-report-dialog p{font-size:.9rem;line-height:1.5}.problem-report-dialog textarea{display:block;box-sizing:border-box;width:100%;margin-top:.5rem;padding:.75rem;background:var(--bdk-color-surface-subtle);color:var(--bdk-color-text);border:1px solid var(--border-glass);border-radius:.5rem;font:inherit;resize:vertical;min-height:8rem}.problem-report-dialog textarea:focus-visible{outline:var(--bdk-focus-outline);outline-offset:2px}.problem-report-dialog label{font-weight:700}.problem-report-context{display:grid;grid-template-columns:minmax(6rem,1fr) minmax(0,2fr);gap:.35rem .7rem;padding:.8rem;background:var(--bdk-color-surface-subtle);border-radius:.6rem;font-size:.83rem;max-height:12rem;overflow:auto}.problem-report-context dt{color:var(--bdk-color-text-muted);font-weight:600}.problem-report-context dd{margin:0;overflow-wrap:anywhere}.problem-report-hint{display:flex;gap:1rem;justify-content:space-between;font-size:.75rem;line-height:1.4;margin-top:.5rem;color:var(--bdk-color-text-muted)}.problem-report-hint span:last-child{white-space:nowrap}.problem-report-error{color:var(--bdk-color-danger,#b91c1c)}.problem-report-dialog footer{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.6rem;margin-top:1rem}@media(max-width:640px){.problem-report-launcher .problem-report-label{display:none}.problem-report-dialog{inset:auto 8px max(8px,env(safe-area-inset-bottom)) 8px;top:auto;width:auto;max-height:calc(100dvh - 24px);padding:1rem}.problem-report-context{grid-template-columns:1fr}.problem-report-context dd{margin-bottom:.4rem}.problem-report-dialog footer .bdk-ui-button{flex:1}}.problem-report-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0 0;padding:.65rem .8rem .8rem;border:1px solid var(--border-glass);border-radius:.6rem;min-width:0}.problem-report-contact legend{font-weight:600;font-size:.83rem}.problem-report-contact legend span{font-weight:400;color:var(--bdk-color-text-muted);margin-left:.25rem}.problem-report-contact label{font-size:.83rem;font-weight:500}.problem-report-contact input{display:block;box-sizing:border-box;width:100%;min-height:36px;margin:.35rem 0 0;padding:.4rem .6rem;background:var(--bdk-color-surface-subtle);color:var(--bdk-color-text);border:1px solid var(--border-glass);border-radius:.5rem;font:inherit;font-size:.9rem}.problem-report-contact input:focus-visible{outline:var(--bdk-focus-outline);outline-offset:2px}.problem-report-dialog #problem-report-subject{display:block;box-sizing:border-box;width:100%;min-height:40px;margin:.35rem 0 .85rem;padding:.4rem .6rem;background:var(--bdk-color-surface-subtle);color:var(--bdk-color-text);border:1px solid var(--bdk-color-border-strong);border-radius:.5rem;font:inherit}.problem-report-dialog #problem-report-subject:focus-visible{outline:var(--bdk-focus-outline);outline-offset:2px}.problem-report-files{display:grid;gap:.35rem;margin:.5rem 0}.problem-report-files input{max-width:100%}.problem-report-file{display:flex;align-items:center;justify-content:space-between;gap:.5rem;overflow-wrap:anywhere}@media(max-width:640px){.problem-report-contact{grid-template-columns:1fr;gap:.6rem}.problem-report-contact input{min-height:40px}}.sidebar-account-notifications{position:relative;min-inline-size:0;inline-size:100%;z-index:20}.sidebar-account-notifications .sidebar-profile-button{inline-size:100%}.sidebar-account-notifications.has-notifications .sidebar-profile-button{padding-inline-end:64px}.sidebar-notification-trigger{position:absolute;z-index:3;inset-block-start:0;inset-inline-end:0;display:inline-flex;align-items:center;justify-content:center;gap:2px;min-inline-size:44px;min-block-size:44px;padding:0 4px;border:0;background:transparent;color:var(--bdk-module-accent-strong);font:700 .66rem/1 var(--bdk-font-ui);cursor:pointer}.sidebar-notification-trigger svg{inline-size:14px;block-size:14px}.sidebar-notification-trigger:hover,.sidebar-notification-trigger[aria-expanded=true]{color:var(--bdk-module-accent)}.sidebar-notification-trigger:focus-visible,.sidebar-notification-preview button:focus-visible{outline:3px solid var(--bdk-module-focus-ring);outline-offset:2px}.sidebar-notification-count{font-variant-numeric:tabular-nums}.sidebar-notification-preview{position:absolute;z-index:50;inset-inline-start:0;inset-block-end:100%;inline-size:100%;max-block-size:min(22rem,55dvh);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--bdk-color-border-strong);border-radius:var(--bdk-radius-lg);background:var(--bdk-color-surface-overlay);color:var(--bdk-color-text);box-shadow:0 12px 36px #0003}.sidebar-notification-preview__heading{display:flex;align-items:center;gap:var(--bdk-space-2);padding:6px 12px;border-block-end:1px solid var(--bdk-color-divider);color:var(--bdk-module-accent-strong)}.sidebar-notification-preview__heading span{margin-inline-start:auto;font-variant-numeric:tabular-nums}.sidebar-notification-preview__items{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;min-block-size:0}.sidebar-notification-preview__group+.sidebar-notification-preview__group{border-block-start:1px solid var(--bdk-color-divider)}.sidebar-notification-preview__title{margin:0;padding:6px 12px 0;color:var(--bdk-color-text-muted);font:600 var(--bdk-text-xs)/1.35 var(--bdk-font-ui);overflow-wrap:anywhere}.sidebar-notification-preview__item{display:flex;flex-direction:column;gap:1px;inline-size:100%;padding:6px 12px;border:0;border-block-end:1px solid var(--bdk-color-divider);background:transparent;color:inherit;text-align:start;cursor:pointer}.sidebar-notification-preview__item:hover{background:var(--bdk-color-surface-hover)}.sidebar-notification-preview__body{overflow-wrap:anywhere}.sidebar-notification-preview__body{color:var(--bdk-color-text);font-size:var(--bdk-text-sm);font-weight:500;line-height:1.3}.sidebar-notification-preview__item small,.sidebar-notification-preview__more{color:var(--bdk-color-text-muted);font-size:var(--bdk-text-xs);line-height:1.35}.sidebar-notification-preview__item small{color:var(--bdk-color-text-muted)}.sidebar-notification-preview__time{align-self:flex-end;color:var(--bdk-color-text-muted);font-size:var(--bdk-text-xs);text-align:right}.sidebar-notification-preview__author{display:block;text-align:right;padding:3px 12px 5px;color:var(--bdk-color-text-muted);font-size:var(--bdk-text-xs)}.sidebar-notification-preview__more{margin:0;padding:var(--bdk-space-2) var(--bdk-space-4)}.sidebar-notification-preview__all{min-block-size:40px;border:0;border-block-start:1px solid var(--bdk-color-divider);background:var(--bdk-module-accent-subtle);color:var(--bdk-module-accent-strong);font:700 var(--bdk-text-sm)/1.3 var(--bdk-font-ui);cursor:pointer}.sidebar-notification-preview__all:hover{background:var(--bdk-color-surface-hover)}.sidebar-notification-preview__heading,.sidebar-notification-preview__all{flex:0 0 auto}.sidebar-notification-preview__time{line-height:1.2}.sidebar-notification-preview__item{min-block-size:44px}.top-header .header-title{container:bdk-header-title / inline-size;width:100%}@container bdk-header-title (max-width: 13rem){.header-title__full:has(+.header-title__compact){display:none}.header-title__compact{display:inline}}@container bdk-programme-curriculum-tabs (min-width: 40.01rem) and (max-width: 56rem){.bdk-programme-curriculum-subtab-shell .bdk-programme-curriculum-subtab-row{flex-wrap:nowrap;gap:.75rem;border-bottom:1px solid var(--bdk-color-border-subtle)}.bdk-programme-curriculum-subtab-shell .bdk-programme-curriculum-subtabs.bdk-underline-tab-strip{width:auto;flex:0 1 auto;border-bottom:0}.bdk-programme-curriculum-subtab-shell .bdk-programme-curriculum-subtab-actions[data-active=true]{width:auto;flex:1 1 12rem;padding-block:0 .3rem;border-bottom:0}.bdk-programme-curriculum-subtab-shell .bdk-study-plan-header-actions .bdk-study-plan-search-compact{width:100%;min-width:0;flex-basis:12rem}}.bdk-curriculum-semester-switch .bdk-segmented-control-scroll-button{position:absolute;inset-block-start:50%;z-index:4;display:grid;width:2rem;height:2rem;place-items:center;padding:0;border:1px solid var(--bdk-color-border-strong);border-radius:var(--bdk-radius-full);background:var(--bdk-color-surface);color:var(--bdk-color-text);box-shadow:var(--bdk-shadow-md);opacity:0;pointer-events:none;transform:translateY(-50%)}.bdk-curriculum-semester-switch .bdk-segmented-control-scroll-button--left{left:.25rem}.bdk-curriculum-semester-switch .bdk-segmented-control-scroll-button--right{right:.25rem}.bdk-curriculum-semester-switch .bdk-segmented-control-scroll-shell[data-can-scroll-left=true] .bdk-segmented-control-scroll-button--left,.bdk-curriculum-semester-switch .bdk-segmented-control-scroll-shell[data-can-scroll-right=true] .bdk-segmented-control-scroll-button--right{opacity:1;pointer-events:auto}.bdk-curriculum-semester-switch .bdk-segmented-control-scroll-button:focus-visible{outline:var(--bdk-focus-outline);outline-offset:-2px}.bdk-curriculum-semester-switch .bdk-segmented-control-scroll-shell[data-can-scroll-right=true] .bdk-segmented-control-scroll-viewport{mask-image:linear-gradient(to right,#000 calc(100% - 2.25rem),transparent)}.bdk-curriculum-semester-switch .bdk-segmented-control-scroll-shell[data-can-scroll-left=true] .bdk-segmented-control-scroll-viewport{mask-image:linear-gradient(to right,transparent,#000 2.25rem)}.bdk-curriculum-semester-switch .bdk-segmented-control-scroll-shell[data-can-scroll-left=true][data-can-scroll-right=true] .bdk-segmented-control-scroll-viewport{mask-image:linear-gradient(to right,transparent,#000 2.25rem,#000 calc(100% - 2.25rem),transparent)}.bdk-color-picker{position:relative;min-width:0}.bdk-color-picker__trigger{display:inline-flex;min-height:44px;align-items:center;gap:.5rem;padding:.35rem .65rem;border:1px solid var(--bdk-color-border);border-radius:999px;background:var(--bdk-color-surface);color:var(--bdk-color-text);font:inherit;font-size:.82rem;cursor:pointer}.bdk-color-picker__trigger:hover{border-color:var(--bdk-color-accent-strong)}.bdk-color-picker__trigger:focus-visible,.bdk-color-picker__close:focus-visible,.bdk-color-picker__group button:focus-visible,.bdk-color-picker__recent button:focus-visible{outline:2px solid var(--bdk-color-accent);outline-offset:2px}.bdk-color-picker__trigger-swatch{width:1.5rem;height:1.5rem;flex:0 0 1.5rem;border:1px solid color-mix(in srgb,var(--bdk-color-text) 35%,transparent);border-radius:50%}.bdk-color-picker__layer{position:fixed;z-index:10001;inset:0;background:transparent}.bdk-color-picker__dialog{position:fixed;box-sizing:border-box;display:grid;width:min(620px,calc(100vw - 24px));max-height:min(78vh,720px);gap:.8rem;overflow:auto;overscroll-behavior:contain;padding:1rem;border:1px solid var(--bdk-color-border);border-radius:var(--bdk-radius-lg, 16px);background:var(--bdk-color-surface);color:var(--bdk-color-text);box-shadow:0 18px 55px #0000003d}.bdk-color-picker__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.bdk-color-picker__header>div{display:grid;gap:.15rem}.bdk-color-picker__header strong{font-size:1rem}.bdk-color-picker__header span{color:var(--bdk-color-text-muted);font-size:.8rem}.bdk-color-picker__close{display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;border:1px solid var(--bdk-color-border);border-radius:50%;background:var(--bdk-color-surface);color:var(--bdk-color-text);font-size:1.5rem;line-height:1;cursor:pointer}.bdk-color-picker__preview-row{display:flex;min-width:0;align-items:center;gap:.75rem}.bdk-color-picker__preview{width:2.5rem;height:2.5rem;flex:0 0 2.5rem;border:1px solid var(--bdk-color-border-strong);border-radius:var(--bdk-radius-sm)}.bdk-color-picker__hex-label{display:grid;min-width:0;flex:1;gap:.2rem;color:var(--bdk-color-text-muted);font-size:.78rem}.bdk-color-picker__hex-input{box-sizing:border-box;width:100%;min-height:44px;padding:.4rem .6rem;border:1px solid var(--bdk-color-border);border-radius:var(--bdk-radius-sm);background:var(--bdk-color-surface-raised, var(--bdk-color-surface));color:var(--bdk-color-text);font:inherit;font-variant-numeric:tabular-nums}.bdk-color-picker__hex-input:focus-visible{outline:2px solid var(--bdk-color-accent);outline-offset:1px}.bdk-color-picker__spectrum{width:100%!important;height:180px!important;border-radius:var(--bdk-radius-sm)}.bdk-color-picker__spectrum .react-colorful__saturation{border-bottom:0;border-radius:var(--bdk-radius-sm)}.bdk-color-picker__spectrum .react-colorful__interactive{min-height:44px}.bdk-color-picker__spectrum .react-colorful__hue{height:44px;border-radius:999px;background-size:100% 16px;background-repeat:no-repeat;background-position:center}.bdk-color-picker__spectrum .react-colorful__pointer{width:20px;height:20px;border-width:2px}.bdk-color-picker__recent>div{display:flex;flex-wrap:wrap;gap:.35rem}.bdk-color-picker__recent h4,.bdk-color-picker__section h3,.bdk-color-picker__group h4{margin:0;color:var(--bdk-color-text-muted);font-size:.75rem;font-weight:650}.bdk-color-picker__recent button{width:44px;height:44px;flex:0 0 44px;border:2px solid var(--bdk-color-surface);border-radius:50%;box-shadow:0 0 0 1px var(--bdk-color-border);cursor:pointer}.bdk-color-picker__sections{display:grid;gap:.85rem}.bdk-color-picker__section{display:grid;gap:.4rem}.bdk-color-picker__section h3{color:var(--bdk-color-text);font-size:.82rem}.bdk-color-picker__groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(5rem,1fr));gap:.4rem;padding:.15rem .1rem .3rem}.bdk-color-picker__group{display:grid;min-width:54px;align-content:start;gap:.35rem}.bdk-color-picker__group h4{min-height:2.2em;overflow:hidden;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.1;text-align:center}.bdk-color-picker__group>div{display:grid;gap:.25rem;justify-items:center}.bdk-color-picker__group button{display:grid;width:44px;height:44px;place-items:center;padding:3px;border:2px solid transparent;border-radius:50%;background:transparent;cursor:pointer}.bdk-color-picker__group button[aria-pressed=true]{border-color:var(--bdk-color-text)}.bdk-color-picker__group button span{width:100%;height:100%;border:1px solid color-mix(in srgb,var(--bdk-color-text) 28%,transparent);border-radius:50%}.bdk-color-picker__hint{margin:0;color:var(--bdk-color-text-muted);font-size:.75rem;line-height:1.4}.bdk-color-picker__layer--mobile{display:grid;place-items:center;padding:12px;background:color-mix(in srgb,#000 55%,transparent)}.bdk-color-picker__layer--mobile .bdk-color-picker__dialog{position:relative;inset:auto;width:min(100%,520px);max-height:min(84dvh,760px)}@media(forced-colors:active){.bdk-color-picker__trigger,.bdk-color-picker__dialog,.bdk-color-picker__hex-input,.bdk-color-picker__close{border:1px solid ButtonText}.bdk-color-picker__trigger:focus-visible,.bdk-color-picker__hex-input:focus-visible{outline:2px solid Highlight}}.bdk-workspace-context.bdk-workspace-context:not(.is-auto-hidden){max-block-size:none}.bdk-workspace-context .bdk-workspace-context__controls[data-layout=inline]:has(>.bdk-workspace-context__error){overflow:visible}.bdk-workspace-context .bdk-workspace-context__error{min-width:0;flex-wrap:wrap;overflow-wrap:anywhere}
