:root{--ink:#17181a;--unigrey:#333;--muted:#6b6f76;--paper:#f5f6f8;--surface:#fff;--line:#e0e2e7;--gold:#be830e;--gold-tint:#f5edde;--gold-ink:#4d3505;--moss:#3f7d5c;--moss-tint:#e7f1ec;--amber:#a15d10;--amber-tint:#faf0e0;--rust:#ab3a2e;--rust-tint:#fbeae8;--family-foundations:#1f2f86;--family-specialisation:#8c5fc9;--family-advanced:#3a8fc2;--family-ict:#b0407d;--family-capstone:#3d4650;--family-neutral:#8d9299;--assess-1:#1f6f78;--assess-2:#5fa8a0;--assess-3:#c08a3e;--assess-4:#7a6a58;--assess-5:#b8b0a2;--font:"Public Sans", system-ui, sans-serif;--radius:.6rem;--ground:#e8eaee;--r-region:16px;--r-card:9px;--r-control:8px;--glass:#ffffffbd;--glass-edge:#ffffffe6;--glass-blur:blur(18px) saturate(1.6);--reqs-w-rail:3rem;--reqs-w-1:17.5rem;--reqs-w-2:31.1rem;--reqs-w-3:44.7rem;--timeline-min:31rem;--tabbar-h:calc(3.25rem + 2px + env(safe-area-inset-bottom))}[data-family=foundations]{--family:var(--family-foundations)}[data-family=specialisation]{--family:var(--family-specialisation)}[data-family=advanced]{--family:var(--family-advanced)}[data-family=ict]{--family:var(--family-ict)}[data-family=capstone]{--family:var(--family-capstone)}[data-family=neutral]{--family:var(--family-neutral)}*,:before,:after{box-sizing:border-box}html{color-scheme:light}body{font-family:var(--font);color:var(--unigrey);background:var(--paper);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;margin:0;line-height:1.5}h1,h2,h3,h4,h5,h6{color:var(--ink);letter-spacing:-.01em;margin:0 0 .5rem;font-weight:700;line-height:1.2}h1{font-variant-numeric:normal;font-size:clamp(1.6rem,1.3rem + 1vw,2.1rem)}.plan-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-block-end:.5rem;display:flex}.plan-title-main{flex-wrap:wrap;align-items:center;gap:.25rem .75rem;min-width:0;display:flex}.plan-title h1{margin:0;font-size:1.4rem}.plan-badge{color:var(--gold-ink);background:var(--gold-tint);border-radius:999px;margin:0;padding:.15rem .6rem;font-size:.8rem;font-weight:500}.plan-actions{align-items:center;gap:.5rem;margin-inline-start:auto;display:flex}.plan-actions :is(.search-trigger,.completed-toggle,.history-button,.more-options-toggle){min-height:2.75rem;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-control)}.plan-actions .completed-toggle{padding-inline:.7rem}@media (width<44rem){.plan-title:has(.history-controls){position:relative}.plan-title:has(.history-controls) .plan-title-main{min-height:2.75rem;padding-inline-end:6.25rem}.history-controls{position:absolute;inset-block-start:0;inset-inline-end:0}}h2{font-size:1.15rem}h3,h4{font-size:.95rem;font-weight:600}p{max-width:65ch;margin:0 0 .75rem}.readme-content :is(ul,ol){max-width:65ch;padding-inline-start:1.25rem}.readme-content li{margin-block-end:.35rem}a{color:var(--ink);text-underline-offset:.15em;text-decoration-thickness:1px}a:hover{color:var(--gold-ink)}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}input[type=checkbox],input[type=radio]{accent-color:var(--gold)}form{flex-wrap:wrap;align-items:center;gap:.5rem;margin-block:1.25rem;display:flex}input[type=text]{min-width:12rem;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-control);flex:1;padding:.5rem .7rem}input[type=text]:focus-visible{border-color:var(--gold)}button{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-control);cursor:pointer;padding:.5rem .9rem;font-size:.9rem;font-weight:600;transition:border-color .12s,background .12s}button:hover:not(:disabled){border-color:var(--ink)}button:disabled{cursor:not-allowed;opacity:.5}form button[type=submit],form button:not([type]),.details-choose{background:var(--gold);border-color:var(--gold);color:#17130a}form button[type=submit]:hover:not(:disabled),form button:not([type]):hover:not(:disabled),.details-choose:hover:not(:disabled){background:#a8790d;border-color:#a8790d}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{flex-direction:column;min-height:100vh;display:flex}nav[aria-label=site]{background:var(--ink);color:#fff;flex-wrap:wrap;align-items:center;gap:1.5rem;padding:.85rem 1.25rem;display:flex}nav[aria-label=site] .brand{color:#fff;letter-spacing:-.01em;font-size:1rem;font-weight:700;text-decoration:none}nav[aria-label=site] .nav-links{flex-wrap:wrap;flex:100%;gap:.25rem;display:flex}nav[aria-label=site] .nav-links a{color:#ffffffbf;border-radius:.4rem;padding:.35rem .6rem;font-size:.9rem;font-weight:500;text-decoration:none}nav[aria-label=site] .nav-links a:hover{color:#fff;background:#ffffff14}main{flex:1;width:100%;min-width:0;max-width:40rem;margin:0 auto;padding:2rem 1.25rem 3rem}body:has(.planner) main{width:100%;max-width:none;padding:1.25rem}.nav-show{display:none}nav[aria-label=site] .nav-hide{color:#ffffffbf;background:0 0;border:none;border-radius:.4rem;align-items:center;gap:.35rem;min-height:2.75rem;padding:.35rem .6rem;font-size:.9rem;font-weight:500;display:inline-flex}nav[aria-label=site] .nav-hide:hover{color:#fff;background:#ffffff14}:root[data-nav=hidden] nav[aria-label=site]{display:none}:root[data-nav=hidden] .nav-show{z-index:5;background:var(--ink);color:#fff;border-color:var(--ink);justify-content:center;align-items:center;width:2.75rem;height:2.75rem;padding:0;display:inline-flex;position:absolute}.nav-toggle-icon{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;width:1rem;height:1rem}@media (width<1100px){nav[aria-label=site] .nav-links{order:1}nav[aria-label=site] .nav-hide{margin-inline-start:auto}.nav-toggle-icon{transform:rotate(90deg)}:root[data-nav=hidden] h1{align-items:center;min-height:2.75rem;padding-inline-start:3.5rem;display:flex}}@media (width>=1100px){.app-shell{flex-direction:row}nav[aria-label=site]{flex-direction:column;flex:0 0 13rem;align-items:flex-start;gap:1.5rem;width:13rem;height:100vh;padding:1.5rem 1.1rem;position:sticky;top:0}nav[aria-label=site] .nav-links{flex-direction:column;flex:0 auto;width:100%}main{padding:2.5rem 3rem}body:has(.planner) main{padding:1.25rem 1.5rem}nav[aria-label=site] .nav-hide{margin-block-start:auto}:root[data-nav=hidden] .nav-show{position:fixed;top:.5rem;left:.5rem}:root[data-nav=hidden] main{padding-inline-start:3.75rem}}body:has(.planner){background:var(--ground)}.region{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-region)}.planner ::-webkit-scrollbar{width:10px;height:10px}.planner ::-webkit-scrollbar-track{margin:var(--r-card);background:0 0}.planner ::-webkit-scrollbar-corner{background:0 0}.planner ::-webkit-scrollbar-thumb{background:#17181a38 padding-box padding-box;border:2px solid #0000;border-radius:999px}.planner ::-webkit-scrollbar-thumb:hover{background-color:#17181a66}@supports not selector(::-webkit-scrollbar){.planner *{scrollbar-width:thin;scrollbar-color:#17181a38 transparent}}.planner-layout{overflow-clip-margin:.5rem;overflow-x:clip;container:planner/inline-size}.planner-panes{flex-direction:column;gap:1rem;display:flex}.planner-timeline-area{z-index:2;flex-direction:column;max-height:50vh;display:flex;position:sticky;top:0;overflow:hidden}.planner-panes>#requirements{min-width:0}#requirements .available-courses{max-width:calc(var(--cols,1) * 13rem + (var(--cols,1) - 1) * .6rem);grid-template-columns:repeat(auto-fill,13rem)}.reqs-hide,.reqs-rail{display:none}.reqs-hide{z-index:3;background:0 0;border:none;flex:none;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;padding:0;position:relative}.reqs-hide:before{content:"";z-index:-1;background:var(--surface);border:1px solid var(--line);border-radius:50%;transition:border-color .12s;position:absolute;inset:.5rem}.reqs-hide:hover:before{border-color:var(--ink)}.reqs-hide:focus-visible{outline:none}.reqs-hide:focus-visible:before{outline:2px solid var(--gold);outline-offset:2px}.reqs-rail{border-radius:var(--r-region);background:0 0;border:0;flex-direction:column;align-items:center;gap:.75rem;width:100%;min-height:min(24rem,100vh - 2rem);padding:.9rem 0}.reqs-rail-label{writing-mode:vertical-rl;color:var(--ink);font-weight:600;transform:rotate(180deg)}.reqs-rail-bar{background:var(--line);border-radius:999px;flex:auto;width:.5rem;min-height:6rem;position:relative;overflow:hidden}.reqs-rail-completed,.reqs-rail-planned{position:absolute;inset-block-end:0;inset-inline:0}.reqs-rail-completed{background:var(--gold);height:var(--completed)}.reqs-rail-planned{background:var(--gold-tint);height:var(--planned);inset-block-end:var(--completed)}.completed-control{align-items:center;gap:.5rem;display:inline-flex}.completed-readout,.completed-toggle{color:var(--ink);font-size:.9rem;font-weight:600}.completed-menu,.pin-menu{display:inline-flex;position:relative}.completed-toggle,.pin-toggle{align-items:center;gap:.35rem;min-height:2.75rem;display:inline-flex}.completed-toggle-labels{text-align:start;display:grid}.completed-toggle-labels>span{grid-area:1/1}.completed-toggle-labels>span:not([data-current]){visibility:hidden}.completed-panel button,.pin-panel button{text-align:start;border:none;align-items:center;padding-inline-start:1.75rem;font-weight:500;display:flex}.completed-panel button:hover:not(:disabled),.pin-panel button:hover:not(:disabled){background:var(--paper)}.choice-check{width:1.25rem;margin-inline-start:-1.25rem}.show-links-toggle{color:var(--unigrey);align-items:center;gap:.4rem;font-size:.9rem;display:flex}.show-links-toggle input{flex:none;min-width:0}.more-options{display:inline-flex;position:relative}.more-options-toggle{justify-content:center;align-items:center;width:2.75rem;height:2.75rem;padding:0;display:inline-flex}.more-options-icon{fill:currentColor;width:1.25rem;height:1.25rem}.more-options-panel,.completed-panel,.pin-panel{top:100%;z-index:3;background:var(--surface);border:1px solid var(--line);border-radius:.6rem;flex-direction:column;align-items:stretch;gap:.25rem;min-width:14rem;margin-block-start:.3rem;padding:.5rem;display:flex;position:absolute;inset-inline-end:0;box-shadow:0 10px 30px -12px #17181a4d}.more-options-panel[hidden],.completed-panel[hidden],.pin-panel[hidden]{display:none}.more-options-panel>*,.completed-panel>*,.pin-panel>*{min-height:2.75rem}.requirements-scroll{flex-direction:column;margin:0;padding:0 0 .5rem;list-style:none;display:flex}.requirement-group{border-block-end:1px solid var(--line);flex:none;min-width:0;padding:.9rem .75rem}.section-toggle{width:100%;font:inherit;color:inherit;text-align:start;background:0 0;border:0;border-radius:.3rem;align-items:center;gap:.35rem;padding:0;display:flex}.section-toggle-icon{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1rem;height:1rem;transition:transform .12s}.section-toggle[aria-expanded=false] .section-toggle-icon{transform:rotate(-90deg)}.section-toggle:hover .section-toggle-icon{stroke:var(--gold)}.outstanding-count{margin:.6rem 0 0;font-weight:600}.outstanding-panel{box-shadow:inset 3px 0 0 var(--gold)}.outstanding-list{flex-direction:column;gap:.5rem;margin:.6rem 0 0;padding:0;list-style:none;display:flex}.outstanding-list li{padding-inline-start:.9rem;font-size:.9rem;position:relative}.outstanding-link,.outstanding-link:hover{border:0}.outstanding-link{font:inherit;font-size:inherit;color:inherit;text-align:start;cursor:pointer;background:0 0;padding:0}.outstanding-link:hover,.outstanding-link:focus-visible{text-underline-offset:.15em;text-decoration:underline}.outstanding-list li:before{content:"";background:var(--gold);border-radius:50%;width:.35rem;height:.35rem;position:absolute;top:.5em;left:0}.outstanding-done{color:var(--moss);margin:.6rem 0 0;font-weight:600}section[aria-label=program\ checks]>h3{margin-block-start:.9rem}.group-children,.checks-list{flex-direction:column;gap:.6rem;margin:.6rem 0 0;padding:0;list-style:none;display:flex}.check-note{color:var(--ink);margin:.25rem 0 0;font-size:.82rem;font-weight:600}.group-children>li{border-inline-start:2px solid var(--line);padding-inline-start:.75rem}.requirement-group fieldset{border:1px solid var(--line);border-radius:.5rem;margin:.5rem 0 0;padding:.5rem .7rem}.requirement-group legend{color:var(--unigrey);padding:0 .3rem;font-size:.8rem}.requirement-group label{align-items:center;gap:.4rem;margin-block:.25rem;font-size:.9rem;display:flex}.requirement-group label input{flex:none;min-width:0}.choice-option{align-items:center;gap:.4rem;display:flex}.choice-option label{min-width:0}.choice-details,.choice-details:hover{border:0}.choice-details{min-height:2.75rem;font:inherit;color:var(--muted);cursor:pointer;background:0 0;flex:none;padding:0 .5rem;font-size:.85rem}.choice-details:hover,.choice-details:focus-visible{text-underline-offset:.15em;text-decoration:underline}.choice-details[aria-current=true]{color:var(--gold-ink);font-weight:600}.timeline-hint{color:var(--unigrey);margin:0;padding:.75rem 1rem 0;font-style:italic}.timeline,.timeline-scroll-wrap{flex-direction:column;flex:auto;min-height:0;display:flex}.timeline-scroll-wrap{position:relative;container-type:inline-size}.timeline-toolbar{--glass:#ffffffe0;z-index:2;height:2rem;box-shadow:0 0 0 1px var(--line);border-radius:999px;align-items:center;display:flex;position:absolute;inset-block-start:.375rem;inset-inline-end:calc(var(--bar-w,0px) + .5rem)}.timeline-scroll-button{background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;padding:0;display:inline-flex;position:relative}.timeline-scroll-button:before{content:"";z-index:-1;transition:background .12s;position:absolute;inset:.375rem 0}.timeline-scroll-button:first-child:before{border-start-start-radius:999px;border-end-start-radius:999px}.timeline-scroll-button:last-child:before{border-start-end-radius:999px;border-end-end-radius:999px}.timeline-scroll-button:hover:not(:disabled):before{background:#17181a12}.timeline-scroll{--year-band:2.75rem;--term-top:2.35rem;--term-pad:.5rem;--edge:.5rem;--year-gap:.5rem;column-gap:var(--year-gap);min-height:0;padding:0 var(--edge) .5rem;flex:auto;grid-template-rows:minmax(max-content,1fr);grid-auto-columns:max-content;grid-auto-flow:column;scroll-padding-block-start:calc(var(--year-band) + 3rem);display:grid;position:relative;overflow:auto}.timeline-scroll:focus-visible{outline-offset:-2px}.timeline-glass{top:0;z-index:1;width:100cqi;height:calc(var(--year-band) + var(--term-top));margin-inline:calc(-1 * var(--edge)) calc(var(--edge) - 100cqi);pointer-events:none;grid-row:1;place-self:start;position:sticky;inset-inline-start:calc(-1 * var(--edge))}.timeline-year{grid-row:1;grid-template-columns:repeat(2, calc(13rem + 2 * var(--term-pad)));border-inline-end:1px solid #0000;grid-template-rows:auto 1fr;padding-inline-end:var(--year-gap);display:grid;position:relative}.timeline-year:after{content:"";z-index:1;background:var(--line);pointer-events:none;width:1px;position:absolute;inset-block:0;inset-inline-end:-1px}.timeline-year:last-child{border-inline-end:0;padding-inline-end:0}.timeline-year:last-child:after{content:none}.timeline-year-head{z-index:1;height:calc(var(--year-band) + var(--term-top));padding-block-start:calc((var(--year-band) - 1.2rem) / 2);padding-inline:var(--term-pad);color:var(--unigrey);grid-column:1/-1;align-items:flex-start;margin-block-end:calc(-1 * var(--term-top));font-size:.8rem;font-weight:600;display:flex;position:sticky;top:0}.timeline-year-label{position:sticky;inset-inline-start:calc(var(--edge) + var(--term-pad))}@container planner (width<49.5rem){.timeline-toolbar{display:none}.timeline-scroll{--year-band:1.9rem}}.timeline-scroll-wrap:before,.timeline-scroll-wrap:after{content:"";inset-block:0 var(--bar-h,0px);z-index:1;pointer-events:none;visibility:hidden;width:2rem;position:absolute}.timeline-scroll-wrap:before{background:linear-gradient(to right, var(--surface), transparent);inset-inline-start:0}.timeline-scroll-wrap:after{background:linear-gradient(to left, var(--surface), transparent);inset-inline-end:var(--bar-w,0px)}.timeline-scroll-wrap.more-left:before,.timeline-scroll-wrap.more-right:after{visibility:visible}.prereq-overlay line,.prereq-legend line{stroke:var(--gold);stroke-width:2px;opacity:.75}.prereq-overlay line.prereq-option,.prereq-legend line.prereq-option{stroke-dasharray:6 4}.prereq-legend{color:var(--unigrey);flex-wrap:wrap;align-items:center;gap:.25rem 1rem;margin-block-end:.35rem;padding-block:.35rem;padding-inline:1rem;font-size:.8rem;display:flex}.prereq-legend-item{align-items:center;gap:.4rem;display:inline-flex}.prereq-legend-sample{flex-shrink:0;overflow:visible}.prereq-legend-hint{font-style:italic}@media (hover:none){.prereq-legend-hint{display:none}}.prereq-overlay-focused line{opacity:.2}.prereq-overlay-focused line.prereq-hovered{stroke-width:3px;opacity:1}.prereq-overlay{pointer-events:none;z-index:1;position:absolute;top:0;left:0}.details-panel{scrollbar-gutter:stable;z-index:40;width:min(440px,100vw - 1rem);color:var(--unigrey);background-attachment:local;padding:0 1.25rem 1.5rem;position:fixed;inset-block:.5rem;inset-inline-end:.5rem;overflow:auto;box-shadow:-12px 0 40px -24px #17181a59;container:details/inline-size}.details-panel::-webkit-scrollbar{background:var(--surface);border-radius:0 calc(var(--r-region) - 1px) calc(var(--r-region) - 1px) 0}.details-head{z-index:1;border-block-end:1px solid var(--line);margin-inline:-1.25rem;padding:.75rem 1.25rem .6rem;position:sticky;top:0}.details-backing{display:none}.planner-panes>.details-panel[data-mode=docked]{top:1rem;z-index:auto;width:auto;min-width:0;max-height:calc(100vh - 2rem);box-shadow:none;grid-area:1/5;position:sticky;inset:auto}.planner-panes>.details-panel[data-mode=drawer]{z-index:5;scrollbar-gutter:auto;overscroll-behavior-y:none;border-inline-start-color:var(--glass-edge);width:min(440px,100%);animation:.2s ease-out drawer-in;position:absolute;inset-block:0;inset-inline-end:0;box-shadow:-18px 0 40px -20px #17181a73}@keyframes drawer-in{0%{transform:translate(100%)}}.details-panel[data-mode=sheet]{--sheet-h:56dvh;--sheet-inset:1.25rem;inset:auto var(--sheet-inset) var(--sheet-inset);width:auto;height:var(--sheet-h);scrollbar-gutter:auto;overscroll-behavior-y:none;padding-block-end:calc(var(--tabbar-h) + 1rem);scroll-padding-block-end:calc(var(--tabbar-h) + 1rem);transition:height .25s,left .25s,right .25s,bottom .25s;box-shadow:0 -12px 40px -20px #17181a73}.details-panel[data-mode=sheet][data-detent=peek]{--sheet-h:204px;padding-block-end:0;overflow:hidden}.details-panel[data-detent=peek]:not([data-dragging]) :is(.details-pills,.details-footer){display:none}.details-panel[data-mode=sheet][data-detent=full]{--sheet-h:calc(100dvh - 16px);--sheet-inset:8px;padding-block-end:1.5rem}.tabbar{transition:opacity .25s,visibility .25s}.planner:has(.details-panel[data-detent=full]:not([data-dragging])) .tabbar{opacity:0;visibility:hidden}.details-panel[data-mode=sheet][data-dragging]{transition:none}.details-body[hidden]{display:none}.sheet-head .details-nav{position:relative}.sheet-handle{cursor:grab;touch-action:none;background:0 0;border-color:#0000;width:5rem;height:2.75rem;padding:0;position:absolute;top:0;left:50%;transform:translate(-50%)}.sheet-handle:before{content:"";background:var(--muted);border-radius:999px;width:2.5rem;height:.3rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sheet-handle:hover:not(:disabled){border-color:#0000}.sheet-handle:hover:before,.sheet-handle:focus-visible:before{background:var(--ink)}.planner:has(.details-panel:not([data-mode=docked],[data-mode=sheet])) .timeline-scroll{padding-inline-end:min(440px,100vw);scroll-padding-inline-end:min(440px,100vw)}.details-panel small{max-width:45ch;color:var(--unigrey);margin-block-start:.35rem;display:block}.details-nav{align-items:center;gap:.35rem;margin-block-end:.5rem;display:flex}.details-nav .course-card-grip{margin-inline:.4rem}.details-close{margin-inline-start:auto}.details-icon-button{justify-content:center;align-items:center;min-width:2.75rem;min-height:2.75rem;padding:0;display:inline-flex}.history-controls{gap:.25rem;display:flex}.history-button{justify-content:center;align-items:center;min-width:2.75rem;min-height:2.75rem;padding:0;display:inline-flex}.history-button:disabled{color:var(--muted)}.details-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.1rem;height:1.1rem}.details-head h2{flex-wrap:wrap;align-items:baseline;gap:.15rem .6rem;display:flex}.details-meta{color:var(--muted);font-size:.85rem;font-weight:500}.details-title{flex-basis:100%;font-weight:600}.details-pills{flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.details-pills li{border:1px solid var(--line);border-radius:999px;padding:.2rem .6rem;font-size:.8rem}.details-section{border-block-start:1px solid var(--line);padding-block:.85rem}.details-body>.details-section:first-child,.details-body>.details-lists+.details-section{border-block-start:0}.details-lists{grid-column:1/-1;margin-block:.85rem .75rem;font-size:.9rem}.details-lists-item{white-space:nowrap}.details-lists-link{white-space:normal;text-align:start}.details-body{grid-template-columns:minmax(0,1fr);column-gap:1.5rem;display:grid}.details-column{align-content:start;min-width:0;display:grid}.details-column>.details-section:first-child{border-block-start:0}.details-column+.details-column>.details-section:first-child{border-block-start:1px solid var(--line)}@container details (width>=628px){.details-body{grid-template-columns:repeat(2,minmax(0,1fr))}.details-body:not(:has(>.details-lists))>.details-section:nth-child(2),.details-body>.details-lists~.details-section:nth-child(3),.details-column+.details-column>.details-section:first-child{border-block-start:0}}.details-section h3{margin-block-start:.5rem}.details-section h3:first-child{margin-block-start:0}.details-remove,.card-menu-remove{color:var(--rust)}.details-remove:hover:not(:disabled),.card-menu-remove:hover:not(:disabled){border-color:var(--rust)}.details-pin .pin-menu{display:flex}.pin-toggle{flex:1;justify-content:space-between;font-weight:500}.pin-panel{inset-inline:0}.external-icon{vertical-align:-.05em;fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:.85em;height:.85em;margin-inline-start:.2em}.details-remove{min-height:2.75rem;margin-block-start:.75rem}.details-clamped{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.details-more{min-height:2.75rem;margin-block-end:.5rem}.details-note{color:var(--muted);font-size:.8rem}.assess-bar{border-radius:999px;gap:2px;height:.5rem;margin-block-end:.5rem;display:flex;overflow:hidden}[data-segment="0"]{--assess:var(--assess-1)}[data-segment="1"]{--assess:var(--assess-2)}[data-segment="2"]{--assess:var(--assess-3)}[data-segment="3"]{--assess:var(--assess-4)}[data-segment="4"]{--assess:var(--assess-5)}.assess-bar span,.assess-dot{background:var(--assess)}.assess-task{align-items:baseline;gap:.5rem;display:inline-flex}.assess-dot{border-radius:.2rem;flex:none;width:.65rem;height:.65rem}.details-assessment-list{margin:0;padding:0;list-style:none}.details-assessment-list li{justify-content:space-between;gap:1rem;padding-block:.2rem;display:flex}.details-strip{grid-template-columns:repeat(auto-fit,minmax(5.9rem,1fr));gap:.4rem;margin-block-end:.75rem;display:grid}.strip-year{flex-direction:column;gap:.3rem;min-width:0;display:flex}.strip-year-label{color:var(--muted);margin:0;font-size:.8rem;font-weight:600}.strip-cell{white-space:nowrap;text-align:start;flex-direction:column;align-items:flex-start;gap:.1rem;min-height:2.75rem;padding:.35rem .45rem;font-size:.78rem;font-weight:500;display:flex}.strip-session{font-weight:700}.strip-units{color:var(--muted)}.strip-cell[data-state=here],.strip-cell[data-state=part2]{color:var(--gold-ink);background:var(--gold-tint);border-color:var(--gold)}.strip-cell[data-state=here]:disabled,.strip-cell[data-state=part2]:disabled{opacity:1;cursor:default}.strip-cell[data-state=projected],.strip-cell[data-state=unknown]{border-style:dashed}.strip-cell[data-state=not-offered],.strip-swatch[data-state=not-offered]{background:var(--paper);border-color:var(--paper)}.strip-cell[data-state=needs-prereqs],.strip-cell[data-state=cant-start],.strip-swatch[data-state=needs-prereqs],.strip-swatch[data-state=cant-start]{background:repeating-linear-gradient(135deg, var(--surface) 0 7px, var(--line) 7px 10px)}.strip-cell[data-state=cant-start],.strip-swatch[data-state=cant-start]{border-style:dotted}.strip-cell:disabled{opacity:1}.strip-cell[data-state=not-offered],.strip-cell[data-state=needs-prereqs],.strip-cell[data-state=cant-start]{color:var(--muted)}.strip-legend{color:var(--muted);flex-wrap:wrap;gap:.3rem .9rem;margin:0 0 .75rem;padding:0;font-size:.8rem;list-style:none;display:flex}.strip-legend li{align-items:center;gap:.4rem;display:inline-flex}.strip-swatch{border:1px solid var(--line);background:var(--surface);border-radius:.2rem;flex:none;width:1rem;height:.8rem}.strip-swatch[data-state=here],.strip-swatch[data-state=part2]{background:var(--gold-tint);border-color:var(--gold)}.strip-swatch[data-state=projected],.strip-swatch[data-state=unknown]{border-style:dashed}.details-offerings{border-collapse:collapse;width:100%;font-size:.85rem}.details-offerings th,.details-offerings td{text-align:start;border-block-end:1px solid var(--line);padding:.3rem .4rem}.details-offerings th{color:var(--ink);font-weight:600}.details-footer{border-block-start:1px solid var(--line);padding-block-start:.85rem}.details-footer a{align-items:center;min-height:2.75rem;display:inline-flex}.requisite-tree,.requisite-tree ul{margin:0;padding:0;list-style:none}.requisite-tree ul{border-inline-start:1px solid var(--line);margin-inline-start:.7rem;padding-inline-start:.9rem}.requisite-tree li{margin-block:.35rem}.requisite-line{overflow-wrap:anywhere;align-items:baseline;gap:.5rem;display:flex}.mark,.mark-dot{border-radius:50%;flex:none;justify-content:center;align-self:flex-start;align-items:center;width:1.4rem;height:1.4rem;font-size:.75rem;font-weight:700;display:inline-flex}.mark-met{color:var(--moss);background:var(--moss-tint)}.mark-unmet{color:var(--rust);background:var(--rust-tint)}.mark-unknown{color:var(--amber);background:var(--amber-tint)}.mark-dot:after{content:"";background:var(--muted);border-radius:50%;width:.4rem;height:.4rem}button.requisite-code,button.requisite-code:hover{border:none}button.requisite-code{min-height:2.75rem;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:.2em;background:0 0;margin-block:-.75rem;padding:0;font-weight:700;text-decoration-thickness:2px}button.requisite-code:hover{text-decoration-color:var(--ink)}.requisite-where{color:var(--muted);font-size:.8rem;display:block}.details-other-programs{background:var(--paper);border-radius:var(--radius);margin:.6rem 0 0;padding:.5rem .75rem;font-size:.85rem;list-style:none}.requisite-answer{flex-wrap:wrap;gap:.35rem;margin-block:.35rem .15rem;display:flex}.requisite-answer button{min-height:2.75rem;font-weight:500}.requisite-answer button[aria-pressed=true]{color:var(--gold-ink);background:var(--gold-tint);border-color:var(--gold)}.details-raw,.details-related{margin-block-start:.85rem}.details-raw p{font-size:.85rem}.details-related ul{margin:0;padding-inline-start:1.1rem}.details-warning{color:var(--rust);margin-block:.4rem 0;font-weight:600}.details-dependents{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.details-dependents button{text-align:start;width:100%;min-height:2.75rem;font-weight:500}.spec-list-heading{max-width:60ch;color:var(--ink);margin-block:.85rem .25rem;font-size:.92rem;font-weight:600}.spec-group-tag{color:var(--muted);align-items:center;gap:.4rem;margin-block:0 .35rem;font-size:.85rem;display:flex}.spec-and{color:var(--muted);margin-block:.5rem;margin-inline-start:1.6rem;font-size:.8rem;font-weight:700}.spec-courses .requisite-line>span:last-child{flex:1;grid-template-columns:1fr auto;column-gap:.75rem;display:grid}.spec-courses .requisite-where{grid-column:1/-1}.spec-units{color:var(--muted);font-size:.85rem}.spec-topics{padding-inline-start:1.1rem}.details-progress-jump,.details-choose{min-height:2.75rem}.spec-fit-status{min-height:7rem}.spec-move{color:var(--muted);grid-column:1/-1;font-size:.8rem}.spec-move-parts{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.undo-toast{z-index:45;width:max-content;max-width:calc(100vw - 2rem);color:var(--ink);border:1px solid var(--glass-edge);border-radius:var(--radius);align-items:center;gap:.9rem;padding:.7rem .8rem .7rem 1rem;display:flex;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);box-shadow:0 12px 32px -12px #17181a73}.undo-toast span{font-size:.9rem}.undo-toast button{background:var(--gold);border-color:var(--gold);color:#17130a;flex:none}.undo-toast button:hover:not(:disabled){background:#a8790d;border-color:#a8790d}.planner:has(.tabbar) .undo-toast{bottom:calc(.5rem + var(--tabbar-h) + .75rem)}.term{border-radius:var(--r-card);min-width:0;padding:0 var(--term-pad) var(--term-pad)}.term-top{top:var(--year-band);z-index:1;height:var(--term-top);margin-inline:calc(-1 * var(--term-pad));padding:.35rem var(--term-pad) 0;border-start-start-radius:var(--r-card);border-start-end-radius:var(--r-card);margin-block-end:.55rem;position:sticky}.term-disallowed .term-top{background:var(--paper)}.term.drag-hover-target:not(.term-disallowed) .term-top,.term.drag-hover-next .term-top{box-shadow:inset 2px 0 var(--gold), inset -2px 0 var(--gold), inset 0 2px var(--gold)}.term-top .term-bar{margin-block-end:0}.term h2{margin-block-end:.15rem;font-size:.95rem}.term-head{align-items:baseline;gap:.5rem;margin-block-end:.3rem;display:flex}.term-head h2{margin:0}.term-units{color:var(--unigrey);align-items:center;gap:.5rem;margin:0 0 0 auto;font-size:.82rem;display:flex}.term-completed{color:var(--moss);background:var(--moss-tint);border-radius:.35rem;padding:.05rem .4rem;font-size:.75rem;font-weight:600}.term-bar{background:var(--line);border-radius:999px;height:.375rem;margin:0 0 .5rem;display:flex;overflow:hidden}.term-bar-segment{background:var(--family)}.term-bar-segment+.term-bar-segment{border-inline-start:1px solid var(--surface)}.term-cards{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.term-disallowed{background:var(--paper);color:var(--unigrey)}body>.drag-ghost{z-index:20;pointer-events:none;opacity:.92;list-style:none;position:fixed;top:0;left:0;box-shadow:0 16px 40px -16px #17181a80}.drag-source-active{opacity:.4}.term.drag-hover-target:not(.term-disallowed),.term.drag-hover-next{outline:2px solid var(--gold);outline-offset:-2px}aside.drag-hover-target{box-shadow:inset 0 0 0 2px var(--gold)}.term-reason{color:var(--rust);margin:.35rem 0 0;font-size:.85em}.course-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:.55rem .8rem;position:relative}[data-drag-code]{touch-action:none}[draggable=true]{cursor:grab}[draggable=true]:hover{border-color:var(--ink)}[draggable=true]:active{cursor:grabbing}.course-card[aria-busy=true],.completed-control[aria-busy=true],fieldset[aria-busy=true]{opacity:.6}.term-cards .course-card,.available-courses .course-card{flex-shrink:0;width:13rem}.course-card strong{color:var(--ink);font-weight:600}.course-card-head{align-items:center;gap:.35rem;display:flex}.course-card-unit-count{color:var(--unigrey);margin-inline-start:auto;font-size:.8rem}.course-card-grip{width:.9rem;height:.9rem;color:var(--muted);cursor:grab;display:inline-flex}.course-card-grip svg{fill:currentColor;width:100%;height:100%}.course-card-title,.course-card-title:hover{border:0}.course-card-title{font:inherit;color:var(--ink);text-align:start;cursor:pointer;background:0 0;margin-top:.15rem;padding:0;font-weight:400;line-height:1.3;display:block}.course-card-title:hover,.course-card-title:focus-visible{text-underline-offset:.15em;text-decoration:underline}.course-card-hard{border-style:dashed}.course-card-soft{border-color:var(--amber);background:var(--amber-tint);border-style:dashed}.available-courses{grid-template-columns:13rem;gap:.6rem;margin:.6rem 0 0;padding:0;list-style:none;display:grid}.palette-backdrop{z-index:42;background:#17181a59;position:fixed;inset:0}.palette{box-sizing:border-box;width:min(620px,100% - 2rem);max-height:76vh;color:var(--unigrey);border:1px solid var(--glass-edge);border-radius:var(--radius);flex-direction:column;padding:1rem;display:flex;position:absolute;top:12vh;left:50%;transform:translate(-50%);box-shadow:0 24px 60px -24px #17181a80}.palette-backdrop[data-dragging]{visibility:hidden;pointer-events:none}.palette-backdrop[data-stacked] .palette{border:0;border-radius:0;width:auto;max-height:none;inset:0;transform:none}.palette-results{min-height:0;margin-top:.35rem;overflow:auto}.palette-results>:first-child{margin-top:.25rem}.palette form{z-index:1;position:relative}.palette .available-courses{grid-template-columns:repeat(auto-fill,13rem)}.course-search form{align-items:flex-end;gap:.5rem;margin:0;display:flex}.course-search label{color:var(--unigrey);flex-direction:column;flex:1;align-items:stretch;gap:.3rem;margin-block:0;font-size:.85rem;display:flex}.course-search-field{display:flex;position:relative}.course-search-field input,.course-search button[type=submit]{box-sizing:border-box;height:2.75rem}.course-search-field input{width:100%;padding-left:2.1rem}.course-search-icon,.search-trigger-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;pointer-events:none;width:1rem;height:1rem}.course-search-icon{color:var(--unigrey);position:absolute;top:50%;left:.7rem;transform:translateY(-50%)}.course-search-status{color:var(--unigrey);margin:.6rem 0 0;font-size:.9rem}.course-search-results{margin-top:.6rem}.palette-specs h3{color:var(--unigrey);margin:.6rem 0 .35rem;font-size:.85rem}.palette-spec-rows{gap:.35rem;margin:0;padding:0;list-style:none;display:grid;container-type:inline-size}.palette-spec-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:inset 4px 0 0 var(--family);color:var(--muted);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title title""meta status";align-items:center;gap:.15rem .5rem;padding:.35rem .6rem .35rem calc(.6rem + 4px);font-size:.9rem;display:grid}@container (width>=24rem){.palette-spec-row{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"title meta status"}}.palette-spec-title,.palette-spec-title:hover{border:0}.palette-spec-title{min-height:2.75rem;font:inherit;color:var(--ink);text-align:start;cursor:pointer;background:0 0;grid-area:title;padding:0;font-weight:400}.palette-spec-title:hover,.palette-spec-title:focus-visible,.palette-spec-title[aria-current=true]{text-underline-offset:.15em;text-decoration:underline}.palette-spec-meta{grid-area:meta}.palette-spec-status{color:var(--ink);grid-area:status;font-weight:600}.search-trigger{min-width:2.75rem;min-height:2.75rem;color:var(--unigrey);justify-content:center;align-items:center;gap:.5rem;padding:0 .6rem 0 .75rem;font-weight:400;display:inline-flex}.search-trigger-icon{flex:none}.search-trigger-key{font:inherit;color:var(--muted);background:var(--paper);border:1px solid var(--line);border-radius:.3rem;padding:.1rem .4rem;font-size:.75rem}@media (width<44rem),(hover:none) and (pointer:coarse){.search-trigger{padding:0}.search-trigger-key{display:none}}.course-card-unplaced{border-color:var(--line)}.course-card-hard,.course-card-receded{background:var(--paper);color:var(--muted)}.course-card-hard strong,.course-card-hard .course-card-title,.course-card-hard .course-card-offered,.course-card-receded strong,.course-card-receded .course-card-title{color:var(--muted)}.course-card-term-link{font-size:inherit;border-radius:.35rem;padding:.1rem .45rem}.placed-rows{flex-direction:column;gap:.35rem;margin:.6rem 0 0;padding:0;list-style:none;display:flex;container-type:inline-size}.placed-row{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-card);color:var(--muted);grid-template-columns:auto minmax(0,1fr);grid-template-areas:"code title""status status";align-items:center;gap:.15rem .5rem;padding:.35rem .6rem;font-size:.9rem;display:grid}@container (width>=24rem){.placed-row{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"code title status"}}.placed-row-code{color:var(--muted);grid-area:code}.placed-row-title,.placed-row-title:hover{border:0}.placed-row-title{font:inherit;color:var(--muted);text-align:start;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;grid-area:title;padding:0;font-weight:400;overflow:hidden}.placed-row-title:hover,.placed-row-title:focus-visible{text-underline-offset:.15em;text-decoration:underline}.placed-row-status{grid-area:status;margin:0}.course-card-highlighted,.requirement-highlighted{outline:3px solid var(--gold);outline-offset:2px}.requirement-group.requirement-highlighted{outline-offset:-3px}.badge{border:1px solid;border-radius:.35rem;width:fit-content;margin-block-start:.4rem;padding:.15rem .45rem;font-size:.78em;font-weight:600;display:block}.badge-state-hard,.badge-conflict{color:var(--rust);background:var(--rust-tint);border-color:#0000}.badge-state-soft,.badge-unplaced-prereqs{color:var(--amber);background:var(--amber-tint);border-color:#0000}.badge-state-check{color:var(--unigrey)}.badge-verify,.badge-unknown{color:var(--unigrey);background:var(--paper);border-color:#0000}button.badge-verify{text-align:start;cursor:pointer}button.badge-verify:hover,button.badge-verify:focus-visible{text-underline-offset:.15em;border-color:#0000;text-decoration:underline}.badge-projected{color:var(--moss);background:var(--moss-tint);border-color:#0000}.badge-overload{color:var(--amber);background:var(--amber-tint);border-color:#0000}.course-card-offered,.course-card-allocation,.course-card-part{color:var(--unigrey);margin:.35rem 0 0;font-size:.85em}.course-card-part-term{white-space:nowrap}.course-card-allocation{font-size:.8rem}button.course-card-allocation,button.course-card-allocation:hover{border:0}button.course-card-allocation{font:inherit;color:var(--unigrey);text-align:start;cursor:pointer;background:0 0;padding:0;font-size:.8rem}button.course-card-allocation:hover,button.course-card-allocation:focus-visible{text-underline-offset:.15em;text-decoration:underline}.term-cards .course-card[data-family]:not([data-family=neutral]){box-shadow:inset 4px 0 0 var(--family)}.course-card.course-card-selected{box-shadow:0 0 0 2px var(--gold)}.term-cards .course-card-selected[data-family]:not([data-family=neutral]){box-shadow:inset 4px 0 0 var(--family), 0 0 0 2px var(--gold)}.group-linked{background:color-mix(in srgb, var(--family) 6%, var(--surface))}.group-tag{width:fit-content;color:var(--gold-ink);background:var(--gold-tint);border-radius:.35rem;margin-block:.2rem .4rem;padding:.1rem .45rem;font-size:.78em;font-weight:600;display:block}.badge-linked{color:var(--gold-ink);background:var(--gold-tint);border-color:#0000}.part-two-stub{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);flex-shrink:0;width:13rem;padding:.35rem .8rem;position:relative}.part-two-stub[data-family]:not([data-family=neutral]){box-shadow:inset 4px 0 0 var(--family)}.part-two-stub-receded{background:var(--paper);color:var(--muted)}.part-two-stub-receded strong{color:var(--muted)}.family-dot{background:var(--family);vertical-align:.05em;border-radius:50%;flex:none;width:.6rem;height:.6rem;margin-inline-end:.35rem;display:inline-block}.course-card-actions{flex-wrap:wrap;gap:.4rem;margin-top:.5rem;display:flex}.course-card-suggestions{flex-direction:column;gap:.3rem;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.course-card-suggestions button{text-align:start;width:100%;font-size:.85rem}.place-in-menu{display:inline-block;position:relative}.place-in-menu ul{z-index:3;background:var(--surface);border:1px solid var(--line);border-radius:.6rem;min-width:9rem;margin:.3rem 0 0;padding:.3rem;list-style:none;position:absolute;box-shadow:0 10px 30px -12px #17181a4d}.place-in-menu ul button{text-align:start;white-space:nowrap;border:none;width:100%;font-weight:500}.place-in-menu ul button:hover:not(:disabled){background:var(--paper)}.course-card-foot{align-items:flex-start;gap:.4rem;margin-top:.35rem;display:flex}.course-card-foot .course-card-allocation{flex:1;margin:0}.course-card-menu .more-options-toggle{width:2rem;height:2rem;position:relative}.course-card-menu .more-options-toggle:before{content:"";position:absolute;inset:-.375rem}.more-options-panel-fixed{z-index:9;min-width:12rem;margin:0;position:fixed;inset:auto;overflow-y:auto}.course-card-menu .more-options-panel>.card-menu-heading,.course-card-menu .more-options-panel>.card-menu-empty{min-height:0;color:var(--unigrey);margin:.25rem 0 0;font-size:.8rem}.card-menu-terms{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.card-menu-terms button{text-align:start;border:none;width:100%;font-weight:500}.card-menu-terms button:hover:not(:disabled){background:var(--paper)}.progress-bar-track{background:var(--line);border-radius:.3rem;height:.5rem;position:relative;overflow:hidden}.progress-bar-completed,.progress-bar-planned{display:block;position:absolute;inset-block:0}.progress-bar-completed{background:var(--gold);inset-inline-start:0}.progress-bar-planned{background:var(--gold-tint);border-inline-start:1px solid var(--surface)}.progress-bar[data-family] .progress-bar-completed{background:var(--family)}.progress-bar[data-family] .progress-bar-planned,.term-planned .term-bar-segment{background:repeating-linear-gradient(135deg, var(--family) 0 2px, color-mix(in srgb, var(--family) 25%, #fff) 2px 5px)}.progress-bar-text{color:var(--unigrey);margin:.25rem 0 0;font-size:.82em}@container planner (width>=49.5rem){.planner-panes{grid-template-columns:var(--reqs-col) 1rem minmax(0, 1fr) var(--div2-col) var(--details-col);--reqs-tier:var(--reqs-w-1);--reqs-col:min(var(--reqs-pref,var(--reqs-tier)), 100cqi - var(--timeline-min) - 1rem);--div2-col:0px;--details-col:0px;align-items:start;gap:0;display:grid;position:relative}.planner-panes>#requirements{scrollbar-gutter:stable;flex-direction:column;grid-area:1/1;max-height:calc(100vh - 2rem);display:flex;position:sticky;top:1rem;overflow-y:auto}.planner-timeline-area{grid-area:1/3;min-width:0;max-height:calc(100vh - 2rem);top:1rem}}@container planner (width>=63.1rem){.planner-panes{--reqs-tier:var(--reqs-w-2)}}@container planner (width>=76.7rem){.planner-panes{--reqs-tier:var(--reqs-w-3)}}@media (height>=30rem){body:has(.planner) .app-shell{height:100dvh;min-height:0}body:has(.planner) main{flex-direction:column;min-height:0;display:flex}.planner,.planner-layout,.planner-panes{flex:auto;min-height:0}.planner,.planner-layout{flex-direction:column;display:flex}@container planner (width<49.5rem){.planner-timeline-area,.planner-panes>#requirements{flex:1 1 0;min-height:0;max-height:none}.planner-panes>#requirements{overflow-y:auto}}@container planner (width>=49.5rem){.planner-panes{grid-template-rows:minmax(0,1fr);align-items:stretch}.planner-timeline-area,.planner-panes>#requirements,.planner-panes>.details-panel{max-height:none;position:static}.details-backing{background:var(--surface);border-radius:var(--r-region);grid-area:1/5;display:block}:root[data-reqs=collapsed] .planner-panes:not([data-measured]) .reqs-rail,.planner-panes[data-rail] .reqs-rail{flex:auto;min-height:0}}}@container planner (width<49.5rem){.planner-layout[data-tab=timeline] #requirements,.planner-layout[data-tab=requirements] .planner-timeline-area{display:none}.timeline-scroll{padding-block-end:calc(var(--tabbar-h) + 1rem);scroll-padding-block-end:calc(var(--tabbar-h) + 1rem)}.requirements-scroll{padding-block-end:calc(var(--tabbar-h) + 1rem)}.planner-panes>#requirements{scroll-padding-block-end:calc(var(--tabbar-h) + 1rem)}}.tabbar{z-index:41;padding:.25rem .25rem calc(.25rem + env(safe-area-inset-bottom));border:1px solid var(--glass-edge);border-radius:999px;gap:.25rem;display:flex;position:fixed;bottom:.5rem;left:50%;transform:translate(-50%);box-shadow:0 12px 32px -12px #17181a73}.tabbar button{background:0 0;border-color:#0000;border-radius:999px;min-width:2.75rem;min-height:2.75rem;padding:0 1.1rem}.tabbar button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}@container planner (width>=49.5rem){.planner-panes{transition:grid-template-columns .2s}.planner-panes.resizing{transition:none}}.details-panel{transition:transform .2s}@media (prefers-reduced-motion:reduce){.planner-panes,.details-panel{transition-duration:0s}.planner-panes>.details-panel[data-mode=drawer]{animation:none}.details-panel[data-mode=sheet],.tabbar{transition-duration:0s}}.workspace-divider{z-index:3;cursor:col-resize;touch-action:none;align-self:start;height:calc(100vh - 2rem);position:sticky;top:1rem}.workspace-divider-reqs{grid-area:1/2}.workspace-divider-details{grid-area:1/4}.workspace-divider:before{content:"";background:var(--line);border-radius:1px;width:2px;position:absolute;inset-block:0;inset-inline-start:calc(50% - 1px)}.workspace-divider:after{content:"";position:absolute;inset-block:0;inset-inline:-.875rem}.workspace-divider:hover:before,.workspace-divider:focus-visible:before{background:var(--gold)}.size-tip{z-index:5;white-space:nowrap;color:var(--ink);border:1px solid var(--glass-edge);border-radius:var(--r-control);pointer-events:none;padding:.3rem .6rem;font-size:.8rem;font-weight:600;position:absolute;top:3.5rem;left:50%;transform:translate(-50%);box-shadow:0 6px 20px -8px #17181a59}.size-tip[data-warn]{color:var(--amber)}@media (height>=30rem){@container planner (width>=49.5rem){.workspace-divider{align-self:stretch;height:auto;position:relative;top:auto}}}@container planner (width>=49.5rem){.reqs-hide{z-index:4;grid-area:1/2;place-self:start;margin-block-start:.5rem;margin-inline:-.875rem;display:flex;position:sticky;top:1.5rem}:root[data-reqs=collapsed] .planner-panes{--reqs-col:var(--reqs-w-rail)}:root[data-reqs=collapsed] .planner-panes:not([data-measured])>#requirements,.planner-panes[data-rail]>#requirements{scrollbar-gutter:auto;overflow:visible}:root[data-reqs=collapsed] .planner-panes:not([data-measured]) .requirements-scroll,:root[data-reqs=collapsed] .planner-panes:not([data-measured]) .reqs-hide,.planner-panes[data-rail] .requirements-scroll,.planner-panes[data-rail] .reqs-hide{display:none}:root[data-reqs=collapsed] .planner-panes:not([data-measured]) .reqs-rail,.planner-panes[data-rail] .reqs-rail{display:flex}:root[data-reqs=collapsed] .planner-panes:not([data-measured]) .reqs-drop-ready .reqs-rail,.planner-panes[data-rail] .reqs-drop-ready .reqs-rail{outline:2px dashed var(--gold);outline-offset:-4px;background:var(--gold-tint)}}.glass{background:var(--glass);backdrop-filter:var(--glass-blur)}@media (prefers-reduced-transparency:reduce){.glass{background:var(--surface);backdrop-filter:none}}
