.bbd-week-card{background-color:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--shadow-card)}.bbd-agenda-head,.bbd-week-head{background-color:var(--surface-1);background-image:linear-gradient(180deg,var(--surface-1) 0,var(--surface-2) 100%);border-bottom:1px solid var(--hairline)}.bbd-agenda-head{border-radius:var(--r-lg) var(--r-lg) 0 0}.bbd-week-col{--col-fill:linear-gradient(180deg,color-mix(in srgb,var(--surface-2) 55%,var(--surface-1)) 0%,var(--surface-1) 38%,var(--surface-1) 100%);background-image:var(--col-fill)}.bbd-week-col.bbd-week-today{background-image:linear-gradient(180deg,color-mix(in srgb,var(--now) 7%,transparent) 0,color-mix(in srgb,var(--now) 3%,transparent) 40%,transparent 78%),var(--col-fill)}.bbd-day:hover>.bbd-week-col{background-image:linear-gradient(180deg,color-mix(in srgb,var(--accent) 4%,transparent) 0,color-mix(in srgb,var(--accent) 2%,transparent) 100%),var(--col-fill)}.bbd-day:hover>.bbd-week-col.bbd-week-today{background-image:linear-gradient(180deg,color-mix(in srgb,var(--accent) 4%,transparent) 0,color-mix(in srgb,var(--accent) 2%,transparent) 100%),linear-gradient(180deg,color-mix(in srgb,var(--now) 7%,transparent) 0,color-mix(in srgb,var(--now) 3%,transparent) 40%,transparent 78%),var(--col-fill)}.bbd-today-pill{color:var(--now);background-color:var(--now-tint);border:1px solid color-mix(in srgb,var(--now) 30%,transparent);border-radius:var(--r-pill);padding:2px 8px}.bbd-hour-rule{position:relative}.bbd-hour-rule:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;pointer-events:none;background-image:linear-gradient(90deg,transparent 0,var(--hairline) 12%,var(--hairline) 88%,transparent 100%)}.bbd-hour-tick{position:relative}.bbd-hour-tick:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;pointer-events:none;background-image:linear-gradient(90deg,transparent 0,color-mix(in srgb,var(--hairline) 55%,transparent) 44%,var(--hairline) 100%)}.bbd-agenda-card{background-color:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--shadow-card)}.bbd-agenda-card.bbd-agenda-today{border-color:color-mix(in srgb,var(--now) 30%,var(--hairline));background-image:linear-gradient(180deg,color-mix(in srgb,var(--now) 7%,transparent) 0,transparent 80px)}.bbd-rule-l{position:relative}.bbd-rule-l:before{left:0;background-image:linear-gradient(180deg,transparent 0,var(--hairline) calc(var(--week-head, 44px) + 12px),var(--hairline) calc(100% - 48px),transparent 100%)}.bbd-rule-l:before,.bbd-rule-r:after{content:"";position:absolute;top:0;bottom:0;width:1px;pointer-events:none}.bbd-rule-r:after{right:0;background-image:linear-gradient(180deg,transparent 0,var(--hairline-strong) calc(var(--week-head, 44px) + 12px),var(--hairline) calc(100% - 48px),transparent 100%)}.bbd-rule-b{position:relative}.bbd-rule-b:after{content:"";left:0;right:0;bottom:0;height:1px;background-image:linear-gradient(90deg,var(--hairline) 0,var(--hairline) 42%,color-mix(in srgb,var(--hairline) 30%,transparent) 78%,transparent 100%)}.bbd-now-line,.bbd-rule-b:after{position:absolute;pointer-events:none}.bbd-now-line{height:2px;z-index:15;transform-origin:0 50%;background-image:linear-gradient(90deg,var(--now) 0,color-mix(in srgb,var(--now) 85%,transparent) 46%,color-mix(in srgb,var(--now) 30%,transparent) 100%);box-shadow:0 0 10px -2px color-mix(in srgb,var(--now) 55%,transparent);animation:bbdNowIn .46s cubic-bezier(.16,1,.3,1) backwards}.bbd-now-dot{position:absolute;left:0;top:50%;width:9px;height:9px;margin-top:-4.5px;border-radius:var(--r-pill);background-color:var(--now);box-shadow:0 0 0 2px var(--surface-1);animation:bbdNowBreathe 3.6s ease-in-out infinite}.bbd-now-pill{position:absolute;right:5px;z-index:5;transform:translateY(-50%);color:var(--now);background-color:var(--surface-1);border:1px solid color-mix(in srgb,var(--now) 45%,transparent);border-radius:var(--r-xs);padding:0 4px;line-height:1.5;white-space:nowrap;animation:bbdFadeIn .46s ease-out backwards}.bbd-block{position:relative;transition:transform .15s cubic-bezier(.16,1,.3,1),box-shadow .15s ease-out,filter .15s ease-out}.bbd-block:hover{transform:translateY(-1px);box-shadow:0 0 0 1px color-mix(in srgb,var(--block-hue,var(--ink-subtle)) 35%,transparent),0 10px 22px -12px color-mix(in srgb,var(--block-hue,var(--ink-subtle)) 60%,transparent)}.bbd-block:active{transform:translateY(0)}.bbd-agenda-item{transition:background-color .15s ease-out,box-shadow .15s ease-out}.bbd-agenda-item:hover{box-shadow:0 0 0 1px color-mix(in srgb,var(--block-hue,var(--ink-subtle)) 30%,transparent)}.bbd-block-remove{position:absolute;top:2px;right:2px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;padding:0;color:var(--ink-subtle);background-color:color-mix(in srgb,var(--surface-1) 82%,transparent);border:1px solid var(--hairline);border-radius:50%;opacity:0;pointer-events:none;transition:opacity .12s ease-out,background-color .1s ease-out,color .1s ease-out}.bbd-block:focus-within .bbd-block-remove,.bbd-block:hover .bbd-block-remove{opacity:1;pointer-events:auto}.bbd-block-remove:hover:not(:disabled){color:var(--ink);background-color:var(--surface-1);border-color:var(--hairline-strong)}.bbd-block-remove:disabled{cursor:not-allowed}.bbd-block:focus-within .bbd-block-remove:disabled,.bbd-block:hover .bbd-block-remove:disabled{opacity:.45}.bbd-block-lock{position:absolute;bottom:3px;right:3px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;color:var(--ink-subtle);background-color:color-mix(in srgb,var(--surface-1) 88%,transparent);border:1px solid var(--hairline-strong);border-radius:50%;box-shadow:0 1px 2px rgba(23,20,16,.08);opacity:0;transform:scale(.6);pointer-events:none;transition:opacity .14s ease-out,transform .18s cubic-bezier(.2,.9,.3,1.15)}.bbd-block:focus-within .bbd-block-lock,.bbd-block:hover .bbd-block-lock{opacity:1;transform:scale(1);pointer-events:auto}.bbd-block-narrow .bbd-block-lock{width:16px;height:16px;bottom:2px;right:2px}.bbd-block-lock-locked{opacity:1;transform:scale(1);pointer-events:auto;color:var(--accent);background-color:var(--accent-tint);border-color:var(--accent)}@keyframes bbdNowIn{0%{opacity:0;transform:scaleX(.55)}to{opacity:1;transform:none}}@keyframes bbdNowBreathe{0%,to{box-shadow:0 0 0 2px var(--surface-1),0 0 0 2px color-mix(in srgb,var(--now) 45%,transparent)}50%{box-shadow:0 0 0 2px var(--surface-1),0 0 0 7px color-mix(in srgb,var(--now) 0%,transparent)}}.bbd-clash-hatch{display:none}@media (prefers-reduced-motion:reduce){.bbd-block:hover{transform:none}.bbd-block-remove{transition:none}.bbd-block-lock{transition:opacity .14s ease-out}}@media print{.bbd-block-lock,.bbd-block-remove,.bbd-hour-rule:before,.bbd-hour-tick:before,.bbd-now-line,.bbd-now-pill,.bbd-rule-b:after,.bbd-rule-l:before,.bbd-rule-r:after{display:none!important}.bbd-rule-l{border-left:1px solid var(--hairline)}.bbd-rule-r{border-right:1px solid var(--hairline)}.bbd-rule-b{border-bottom:1px solid var(--hairline)}.bbd-hour-rule,.bbd-hour-tick{border-top:1px solid var(--hairline)}.bbd-clash-hatch{display:block;background-image:repeating-linear-gradient(45deg,rgba(0,0,0,.42),rgba(0,0,0,.42) 3px,transparent 0,transparent 7px)}}.bbd-floating-tip-anchor{display:inline}.bbd-floating-tip{z-index:60;width:-moz-max-content;width:max-content;max-width:260px;padding:5px 9px;border-radius:var(--r-sm);background-color:var(--ink);color:var(--canvas);text-align:left;white-space:normal;box-shadow:var(--shadow-pop);pointer-events:none}.bbd-blockpop-pill{display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:0 8px;font-size:12px;color:var(--ink-subtle);background-color:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-md);transition:border-color .1s ease-out,color .1s ease-out,background-color .1s ease-out}.bbd-blockpop-pill:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background-color:var(--accent-tint)}.bbd-blockpop-pill:disabled{opacity:.5;cursor:not-allowed}.bbd-blockpop-pill-current{display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:0 8px;font-size:12px;color:var(--accent);background-color:var(--accent-tint);border:1px solid var(--accent);border-radius:var(--r-md)}.bbd-cat-card{transition:transform .15s cubic-bezier(.16,1,.3,1),box-shadow .15s ease-out,border-color .15s ease-out}.bbd-cat-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-lift)}@media (prefers-reduced-motion:reduce){.bbd-cat-card:hover{transform:none}}.bbd-cat-filter-toggle{background-color:transparent}.bbd-cat-filter-toggle:hover{background-color:var(--accent-tint)}.bbd-cat-filter-toggle-on{background-color:var(--surface-1)}.bbd-cat-filter-toggle-on:hover{background-color:var(--surface-2)}.bbd-cat-quiet-toggle{background-color:var(--surface-1)}.bbd-cat-quiet-toggle:hover{background-color:var(--surface-2)}.bbd-cat-text-toggle{background-color:transparent}.bbd-cat-text-toggle:hover{background-color:var(--surface-2)}@keyframes bbdCatFocusFlash{0%,65%{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint-strong),var(--shadow-lift)}to{border-color:var(--hairline);box-shadow:var(--shadow-card)}}.bbd-cat-flash{animation:bbdCatFocusFlash 1.4s cubic-bezier(.16,1,.3,1)}.bbd-cat-search{transition:border-color .12s ease-out,box-shadow .12s ease-out}.bbd-cat-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.bbd-cat-panel{position:relative;padding-left:22px}.bbd-cat-spine{position:absolute;left:9px;top:2px;bottom:2px;width:2px;border-radius:var(--r-pill);background-color:var(--accent);opacity:.28}.bbd-cat-row{position:relative}.bbd-cat-row:before{content:"";position:absolute;left:-13px;top:20px;width:11px;height:2px;background-color:var(--accent);opacity:.28}.bbd-cat-lab-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px}.bbd-cat-row-letter{display:inline-flex;align-items:center;height:20px;padding:0 6px;font-size:11px;font-weight:600;color:var(--ink-subtle);background-color:var(--surface-2);border-radius:var(--r-pill)}.bbd-cat-group+.bbd-cat-group{margin-top:24px;padding-top:24px;border-top:1px solid var(--hairline)}.bbd-cat-resolve-chip{display:inline-flex;min-height:30px;min-width:34px;align-items:center;justify-content:center;padding:0 8px;font-weight:600;color:var(--ink-subtle);background-color:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-md);transition:border-color .1s ease-out,color .1s ease-out,background-color .1s ease-out}.bbd-cat-resolve-chip:hover{border-color:var(--accent);color:var(--accent);background-color:var(--accent-tint)}.bbd-plan-row{position:relative}.bbd-list-item.bbd-plan-row{padding:10px 12px}.bbd-plan-row-bar{position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:var(--r-pill)}.bbd-plan-row-main{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-width:0;padding:0;text-align:left;color:inherit;background-color:transparent;border:none;cursor:pointer}.bbd-plan-row-main:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}.bbd-plan-row-chevron{display:inline-flex;align-items:center;color:var(--ink-subtle);transition:transform .2s ease-out}.bbd-list-item.bbd-plan-row-clash{border-color:color-mix(in srgb,var(--danger) 45%,transparent);background-color:color-mix(in srgb,var(--danger-tint) 55%,var(--surface-1))}.bbd-grid{display:grid;grid-template-columns:1fr;gap:24px}.bbd-left,.bbd-main{display:contents}.bbd-setup{order:1;min-width:0}.bbd-main-top{order:2;min-width:0}.bbd-catalogue{order:3;min-width:0}.bbd-panels{order:4;min-width:0}@media (min-width:1024px){.bbd-grid{grid-template-columns:380px minmax(0,1fr);align-items:start;gap:28px}.bbd-left,.bbd-main{display:block;min-width:0}.bbd-left{grid-column:1;position:sticky;top:var(--planner-offset,0);max-height:calc(100vh - var(--planner-offset, 0px) - 20px);overflow-y:auto;overflow-x:clip;padding-bottom:4px}.bbd-main{grid-column:2}.bbd-setup{margin-bottom:16px}}@media (min-width:1280px){.bbd-grid{gap:32px}}@media (min-width:1536px){.bbd-grid{grid-template-columns:400px minmax(0,1fr)}}#catalogue,#clashes{scroll-margin-top:calc(var(--planner-offset, 0px) + 12px)}@media (max-width:1023px){.bbd-verdict-sticky{position:sticky;top:var(--planner-offset,0);z-index:20}}.bbd-topbar{display:contents}@media (min-width:1024px){.bbd-topbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.bbd-topbar>.bbd-verdict-sticky{flex:999 1 480px;min-width:0}.bbd-topbar>.bbd-toolbar-row{flex:1 0 auto}}.bbd-toolbar-row{border-bottom:1px solid var(--hairline);padding-bottom:12px}@media (min-width:1024px){.bbd-toolbar-row{border-bottom:none;padding-bottom:0}}.bbd-add-courses-btn{background-color:var(--accent-tint)}.bbd-add-courses-btn:hover{background-color:var(--accent-tint-strong)}.bbd-viewtoggle-btn{background-color:transparent}.bbd-viewtoggle-btn:hover{background-color:var(--surface-2)}.bbd-viewtoggle-btn-active,.bbd-viewtoggle-btn-active:hover{background-color:var(--surface-3)}@keyframes bbdRise{0%{transform:translateY(6px)}to{transform:none}}.bbd-rise{animation:bbdRise .24s ease-out}.bbd-chips-row{display:flex;flex-wrap:wrap;gap:8px}@media (max-width:1023px){.bbd-chips-row{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}}@media (min-width:1024px){.bbd-chips-row{display:none}}.bbd-chip{gap:2px;flex-shrink:0;border-radius:var(--r-pill);background-color:var(--chip-hue-soft,var(--surface-2));border:1px solid color-mix(in srgb,var(--chip-hue,var(--hairline-tertiary)) 32%,transparent)}.bbd-chip,.bbd-chip-body{display:inline-flex;align-items:center}.bbd-chip-body{gap:6px;min-height:32px;padding:4px 4px 4px 10px;border-radius:var(--r-pill) 0 0 var(--r-pill)}.bbd-chip-body:hover{background-color:color-mix(in srgb,var(--chip-hue,var(--ink)) 10%,transparent)}.bbd-chip-dot{width:7px;height:7px;background-color:var(--chip-hue,var(--ink-tertiary))}.bbd-chip-dot,.bbd-chip-x{border-radius:50%;flex-shrink:0}.bbd-chip-x{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;margin-right:3px;color:var(--ink-subtle);transition:background-color .1s ease-out,color .1s ease-out}.bbd-chip-x:hover:not(:disabled){background-color:color-mix(in srgb,var(--ink) 10%,transparent);color:var(--ink)}.bbd-chip-x:disabled{opacity:.4}.bbd-popover{background-color:var(--surface-1);border:1px solid var(--hairline-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-pop)}.bbd-setup-semesters{display:grid;grid-template-columns:repeat(4,minmax(44px,1fr));gap:6px;overflow:visible}.bbd-setup-sem{background-color:var(--surface-1)}.bbd-setup-sem:hover{background-color:var(--surface-2)}.bbd-setup-sem-active,.bbd-setup-sem-active:hover{background-color:var(--accent)}@media print{.bbd-chip-x,.bbd-popover{display:none!important}.bbd-grid{display:block!important}}