: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}@media(max-width:640px){.problem-report-contact{grid-template-columns:1fr;gap:.6rem}.problem-report-contact input{min-height:40px}}.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-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}
