:root{--on-accent:#fff;--pine-accent:#9fe0b9;--canvas:#f5f7f3;--surface:#fff;--ink:var(--pine);--muted:#657167;--ink-tertiary:var(--muted);--line:#dfe6df;--pine:#16241c;--pine-light:#fff;--sidebar-hover:color-mix(in srgb,var(--pine) 92%,#fff);--accent:#147a50;--accent-hover:var(--accent);--accent-subtle:var(--soft);--accent-strong:var(--accent);--soft:color-mix(in srgb,var(--pine) 6%,var(--canvas));--info:var(--accent);--info-subtle:var(--soft);--warning:var(--ink);--warning-subtle:var(--soft);--danger:#b83f47;--danger-subtle:var(--soft);--sans:var(--font-sans),sans-serif;--mono:var(--font-mono),ui-monospace,monospace;--content:68rem;--ease:cubic-bezier(.22,1,.36,1);--control-radius:14px;--block-radius:16px;--shell-radius:24px;--control-height:54px;--touch-target:48px;--decorative-flow-opacity:.08;--decorative-flow-color:var(--pine-light)}*{box-sizing:border-box}html{background:var(--pine);-webkit-text-size-adjust:100%}html,body{overscroll-behavior-y:none}body,button,input,select,textarea{text-transform:lowercase}body{background:var(--canvas);color:var(--ink);font-family:var(--sans);margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}a,button{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.logo{align-items:center;min-width:48px;min-height:48px;display:inline-flex}.logo img{width:auto;height:38px;display:block}.landing{background:var(--canvas);min-height:100svh}.landing__hero{background:var(--pine);min-height:clamp(29rem,68svh,40rem);color:var(--pine-light);border-radius:0 0 32px 32px;flex-direction:column;padding:28px 24px 36px;display:flex;overflow:hidden}.landing__hero-copy{margin-top:auto}.landing__hero h1{letter-spacing:-.065em;max-width:12ch;margin:0;font-size:clamp(2.75rem,12vw,4.5rem);font-weight:500;line-height:.98}.landing__hero p{max-width:31rem;color:color-mix(in srgb, var(--pine-light) 80%, transparent);margin:18px 0 0;font-size:clamp(1.05rem,3.7vw,1.35rem);line-height:1.5}.landing__hero-action{min-height:48px;color:var(--pine-accent);justify-content:flex-start;align-items:center;gap:14px;margin-top:26px;font-size:1rem;font-weight:750;display:flex}.landing__action{border-bottom:1px solid var(--line);min-height:60px;color:var(--accent);justify-content:space-between;align-items:center;padding:0 24px;font-size:1.125rem;font-weight:750;display:flex}.landing__purpose,.landing__footer{width:min(calc(100% - 48px),var(--content));margin-inline:auto;padding-block:42px}.landing__purpose{border-bottom:1px solid var(--line)}.landing__purpose h2{letter-spacing:-.055em;max-width:22ch;margin:0;font-size:clamp(1.75rem,7vw,2.75rem);line-height:1.06}.landing__purpose p,.landing__footer p{max-width:42rem;color:var(--muted);margin:14px 0 0;line-height:1.6}.landing__footer a{min-height:48px;color:var(--accent);align-items:center;margin-top:20px;font-weight:750;display:inline-flex}.landing__footer{padding-bottom:68px}.landing__paper{background:var(--canvas);min-width:0;color:var(--ink)}@media (min-width:600px) and (max-width:1023px){.landing__paper{border-radius:0 0 24px 24px;overflow:hidden}}.landing>.page-reveal--content>.landing__hero{animation:landing-hero-enter .68s var(--ease-soft) both}.lecture-contribution{border-top:1px solid var(--line);padding:26px 0}.lecture-contribution__entry{flex-wrap:wrap;align-items:center;gap:0 22px;display:flex}.lecture-contribution__toggle{min-width:48px;min-height:48px;color:var(--accent);font:750 .875rem/1.4 var(--sans);text-align:left;background:0 0;border:0;align-items:center;padding:0;display:inline-flex}.lecture-contribution__guide{min-width:48px;min-height:48px;color:var(--muted);font:700 .8125rem/1.4 var(--sans);align-items:center;display:inline-flex}@media (hover:hover) and (pointer:fine){.lecture-contribution__toggle:hover,.lecture-contribution__guide:hover{color:var(--accent-hover)}}.landing__hero .landing__logo{animation:landing-fade-up .52s var(--ease-soft) 90ms both}.landing__hero-copy{animation:landing-fade-up .62s var(--ease-soft) .18s both}.landing__paper{animation:landing-paper-enter .72s var(--ease-soft) .24s both}@keyframes landing-hero-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes landing-paper-enter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes landing-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.landing>.page-reveal--content>.landing__hero,.landing__hero .landing__logo,.landing__hero-copy,.landing__paper{opacity:1!important;animation:none!important;transform:none!important}}.app-background{background:var(--canvas);min-height:100svh}.desktop-rail{display:none}.app-surface{min-height:100svh;padding:0 20px 48px;padding:0 clamp(16px,5vw,24px) max(48px,env(safe-area-inset-bottom));background:var(--canvas)}.mobile-header__sentinel{height:1px;margin-bottom:-1px}.mobile-header{height:var(--mobile-header-h);padding-top:max(12px,env(safe-area-inset-top));margin-inline:calc(-1*clamp(16px,5vw,24px));background:var(--canvas);justify-content:space-between;align-items:center;margin-bottom:24px;padding-inline:clamp(16px,5vw,24px);display:flex}.mobile-header:after{background:var(--line);content:"";opacity:0;height:1px;transition:opacity var(--dur-fast) var(--ease-soft);position:absolute;bottom:0;left:0;right:0}.mobile-header[data-scrolled=true]:after{opacity:1}.page-head{margin-bottom:24px}.page-head__line{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:16px;display:flex}.page-head h1{letter-spacing:-.06em;margin:0;font-size:clamp(1.75rem,7vw,3.25rem);font-weight:600;line-height:1}.page-head__meta{color:var(--muted);margin:5px 0 0;font-size:.875rem}.calendar-date{border-left:1px solid var(--line);text-align:right;flex-shrink:0;align-self:flex-start;align-items:flex-start;gap:10px;min-width:88px;margin:0;padding-left:14px;display:flex}.calendar-date b{color:var(--accent);letter-spacing:-.06em;font-size:clamp(1.5rem,6vw,2rem);line-height:.82}.calendar-date>span{color:var(--muted);gap:2px;font-size:.75rem;line-height:1.15;display:grid}.page-lead{max-width:38rem;color:var(--muted);margin:16px 0 0;line-height:1.55}.section-heading,.week-day__title{justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;display:flex}.section-heading h2,.week-day h2,.lecture-detail h2{letter-spacing:-.03em;margin:0;font-size:1.125rem}.section-heading a,.week-day__title a{min-height:48px;color:var(--accent);align-items:center;font-size:.8125rem;font-weight:750;display:inline-flex}.content-section{margin-top:24px}.lecture-list{border-top:1px solid var(--line)}.lecture-row{border-bottom:1px solid var(--line);min-height:60px;transition:background-color .18s var(--ease);grid-template-columns:3rem 2.25rem minmax(0,1fr) 1.25rem;align-items:start;gap:8px;padding:12px 4px;display:grid}.lecture-row time,.lecture-row__subject,.lecture-detail__meta{font:600 .875rem/1.35 var(--mono)}.lecture-row time,.lecture-row small,.next-note span{color:var(--muted)}.lecture-row__subject,.lecture-row__arrow,.lecture-detail__meta{color:var(--accent)}.lecture-row__main{gap:3px;min-width:0;display:grid}.lecture-row strong{font-size:.875rem;line-height:1.35}.lecture-row small{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1.35;overflow:hidden}.next-note{border-top:1px solid var(--line);margin-top:36px;padding-top:18px}.next-note a{gap:4px;min-height:48px;display:grid}.week-list{gap:24px;display:grid}.empty-state{color:var(--muted);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0;padding:24px 0;line-height:1.55}.lecture-detail{max-width:42.5rem}.back-link{min-height:48px;color:var(--accent);align-items:center;margin-bottom:28px;font-size:.8125rem;font-weight:750;display:inline-flex}.lecture-detail h1{letter-spacing:-.06em;margin:12px 0 0;font-size:clamp(2rem,7vw,3.25rem);line-height:1.03}.lecture-detail__subject{color:var(--muted);margin:10px 0 38px}.lecture-detail section{border-top:1px solid var(--line);padding:26px 0}.materials-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.materials-list li{border-bottom:1px solid var(--line)}.materials-list li>a{grid-template-columns:minmax(0,1fr) auto 1rem;align-items:center;gap:12px;min-height:54px;display:grid}.materials-list span,.material-row strong{font-size:.875rem;font-weight:700}.materials-list small,.lecture-detail footer,.material-row span{color:var(--muted);font-size:.75rem}.materials-list b{color:var(--accent)}.lecture-detail footer{flex-wrap:wrap;gap:10px 24px;padding:20px 0;display:flex}.material-row{border-top:1px solid var(--line);min-height:60px;transition:background-color .18s var(--ease),color .18s var(--ease);justify-content:space-between;align-items:center;gap:16px;display:flex}.material-row:last-child{border-bottom:1px solid var(--line)}.material-row>a:first-child{align-content:center;gap:3px;min-width:0;min-height:48px;padding:12px 0;display:grid}.material-row>a:last-child{min-width:48px;min-height:48px;color:var(--accent);justify-content:center;align-items:center;font-size:.75rem;font-weight:750;display:inline-flex}@media (hover:hover){.lecture-row:hover,.material-row:hover{background:var(--soft)}}@media (min-width:600px){body{background:var(--pine)}.landing{background:var(--pine);padding:20px 20px 72px}.landing__hero{border-radius:24px 24px 0 0;padding:42px}.landing__action,.landing__purpose,.landing__preview,.landing__footer{background:var(--canvas)}.landing__action{width:min(100%,80rem);margin:auto;padding-inline:42px}.landing__purpose,.landing__preview,.landing__footer{width:min(100%,80rem);padding-inline:max(42px,8vw)}.app-background{background:var(--pine);padding:20px 20px 0}.app-surface{border-radius:24px 24px 0 0;min-height:calc(100svh - 20px);padding:0 32px 64px}.mobile-header{margin-bottom:44px;border-radius:24px 24px 0 0;margin-inline:-32px;padding-inline:32px}}@media (min-width:1024px){.landing{width:min(100%,80rem);margin:auto;padding:clamp(20px,3vh,32px)}.landing__hero{min-height:min(40rem,100svh - 11rem);padding:clamp(44px,6vw,72px)}.landing__hero h1{font-size:clamp(4rem,5vw,4.5rem)}.app-background{background:var(--pine);padding:clamp(20px,2.2vw,32px)}.desktop-rail{z-index:1;width:clamp(190px,16vw,238px);color:var(--pine-light);flex-direction:column;padding:24px 20px;display:flex;position:fixed;inset:clamp(20px,2.2vw,32px) auto clamp(20px,2.2vw,32px) clamp(20px,2.2vw,32px)}.desktop-rail nav{gap:4px;margin-top:54px;display:grid}.desktop-rail nav a{min-height:48px;color:color-mix(in srgb, var(--pine-light) 75%, transparent);align-items:center;font-size:.875rem;font-weight:650;display:flex}.desktop-rail nav a.is-active{color:#fff}.desktop-rail nav a.is-active:before{background:var(--pine-accent);content:"";width:12px;height:2px;margin-right:10px}.desktop-rail>p{color:color-mix(in srgb, var(--pine-light) 60%, transparent);font:.75rem/1.4 var(--mono);margin:auto 0 0}.app-surface{z-index:1;border-radius:24px;min-height:calc(100svh - 2*clamp(20px,2.2vw,32px));margin-left:clamp(190px,16vw,238px);padding:clamp(40px,6vh,64px) clamp(40px,6vw,88px);position:relative}.mobile-header,.mobile-header__sentinel{display:none}.app-surface>*{width:min(100%,var(--content))}.page-head{margin-bottom:42px}.page-head h1{font-size:3.25rem}.lecture-row{grid-template-columns:4.25rem 3rem minmax(0,1fr) 1.25rem;padding:18px 8px}.lecture-row strong{font-size:.9375rem}}@media (min-width:1024px) and (max-height:760px){.app-background{padding:16px}.desktop-rail{padding-block:18px;inset:16px auto 16px 16px}.desktop-rail nav{margin-top:32px}.app-surface{min-height:calc(100svh - 32px);margin-left:210px;padding-top:32px;padding-bottom:32px}.landing{padding-block:16px}.landing__hero{min-height:32rem;padding-block:36px}.landing__hero h1{font-size:3.75rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}:root{--ease-soft:cubic-bezier(.22, 1, .36, 1);--dur-base:.3s;--dur-fast:.2s;--motion-page-leave:.14s;--motion-page-enter:.22s;--motion-expand:.42s;--motion-menu:.28s;--menu-close-ms:280;--nav-motion:cubic-bezier(.22, 1, .36, 1);--nav-duration:.24s;--mobile-header-h:calc(56px + max(12px,env(safe-area-inset-top)));--wave-scale:1;--wave-duration:calc(.7s * var(--wave-scale));--wave-open-ease:var(--ease-soft);--wave-panel-in:1}@media (max-width:1023px){:root{--wave-scale:1.5;--wave-panel-in:.65;--motion-page-leave:.14s;--motion-page-enter:.22s;--motion-expand:.32s;--motion-menu:.28s;--menu-close-ms:280}}.campus-beta{min-height:34rem;position:relative;overflow:hidden}.campus-beta__map{transition:filter var(--dur-base) var(--ease-soft), opacity var(--dur-base) var(--ease-soft)}.campus-beta:not(.campus-beta--revealed) .campus-beta__map{filter:blur(8px);opacity:.3;pointer-events:none;-webkit-user-select:none;user-select:none}.campus-beta__veil{z-index:2;background:color-mix(in srgb, var(--canvas) 55%, transparent);place-items:start center;padding:clamp(28px,5vw,56px) 0;display:grid;position:absolute;inset:0}.campus-beta__notice{border:1px solid var(--line);border-radius:var(--block-radius);background:var(--surface);width:min(100%,36rem);color:var(--ink);box-shadow:0 18px 44px color-mix(in srgb, var(--pine) 10%, transparent);padding:clamp(24px,4vw,40px)}.campus-beta__notice h2{letter-spacing:-.05em;max-width:16ch;margin:0;font-size:clamp(1.65rem,4vw,2.35rem);font-weight:600;line-height:1.08}.campus-beta__notice>p{max-width:31rem;color:var(--muted);margin:16px 0 0;font-size:.875rem;line-height:1.6}.campus-beta__actions{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 24px;margin-top:28px;padding-top:20px;display:flex}.campus-beta__actions button,.campus-beta__actions a{min-height:var(--touch-target);font:750 .8125rem/1.35 var(--sans);align-items:center;display:inline-flex}.campus-beta__actions button{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:10px;padding:0 18px}.campus-beta__actions a{color:var(--accent-strong);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:4px}.campus-beta__actions button:focus-visible,.campus-beta__actions a:focus-visible{outline-color:var(--accent)}@media (hover:hover) and (pointer:fine){.campus-beta__actions button:hover{border-color:var(--accent-strong);background:var(--accent-strong)}.campus-beta__actions a:hover{color:var(--accent)}}.campus-map{padding:26px 4px 8px}.campus-map__header{grid-template-columns:minmax(0,16rem) minmax(0,34rem);align-items:end;gap:24px;display:grid}.campus-map__header h2{letter-spacing:-.045em;margin:2px 0 0;font-size:clamp(1.55rem,3vw,2.2rem);line-height:1.05}.campus-map__header>p{color:var(--muted);margin:0;font-size:.8125rem;line-height:1.55}.campus-map__eyebrow{color:var(--accent);font:650 .6875rem/1.3 var(--mono);letter-spacing:.05em;margin:0}.campus-map__search{max-width:38rem;color:var(--muted);font:650 .6875rem/1.3 var(--mono);gap:7px;margin-top:24px;display:grid}.campus-map__search input{border:1px solid var(--line);border-radius:var(--control-radius);background:var(--surface);width:100%;min-height:54px;color:var(--ink);font:650 .9375rem/1.3 var(--sans);text-transform:none;padding:0 16px}.campus-map__search input:focus{border-color:var(--accent);outline:2px solid color-mix(in srgb, var(--accent) 20%, transparent);outline-offset:0}.campus-map__layout{grid-template-columns:minmax(0,1.7fr) minmax(16rem,.8fr);gap:clamp(24px,4vw,52px);margin-top:22px;display:grid}.campus-map__visual{min-width:0}.campus-map__toolbar{border-block:1px solid var(--line);justify-content:flex-end;align-items:center;gap:4px;min-height:48px;display:flex}.campus-map__toolbar button{width:48px;height:48px;color:var(--accent);font:500 1.4rem/1 var(--sans);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.campus-map__toolbar button:disabled{color:var(--ink-tertiary);cursor:default}.campus-map__zoom-value{min-width:3.5rem;color:var(--muted);font:650 .6875rem/1 var(--mono);text-align:center}.campus-map__viewport{overscroll-behavior:contain;border-bottom:1px solid var(--line);background:var(--soft);scrollbar-color:var(--accent) transparent;overflow:auto}.campus-map__canvas{aspect-ratio:1.22;min-width:100%;transition:width .24s var(--ease)}.campus-map__canvas svg{width:100%;height:100%;display:block}.campus-map__street{fill:none;stroke:color-mix(in srgb, var(--muted) 38%, transparent);stroke-width:6px}.campus-map__street-label{fill:var(--muted);font:600 8px/1 var(--mono);letter-spacing:.02em}.campus-map__building{fill:var(--surface);stroke:var(--accent);stroke-width:2px;transition:fill .18s var(--ease), stroke-width .18s var(--ease)}.campus-map__label-disc{fill:var(--pine);transition:fill .18s var(--ease)}.campus-map__label{fill:var(--pine-light);font:750 12px/1 var(--mono);text-anchor:middle;text-transform:uppercase}.campus-map__canvas g[data-selected=true] .campus-map__building{fill:var(--accent-subtle);stroke-width:4px}.campus-map__canvas g[data-selected=true] .campus-map__label-disc{fill:var(--accent)}.campus-map__result{border-bottom:1px solid var(--line);min-height:48px;color:var(--ink);text-transform:none;margin:0;padding:13px 0;font-size:.8125rem;line-height:1.55}.campus-map__result--unresolved{color:var(--warning)}.campus-map__attribution{color:var(--muted);font:550 .6875rem/1.45 var(--mono);margin:9px 0 0}.campus-map__attribution a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.campus-map__directory h3{color:var(--muted);font:650 .6875rem/1.3 var(--mono);letter-spacing:.04em;margin:0;padding:16px 0 10px}.campus-map__directory>ul{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.campus-map__directory>ul button{border:0;border-bottom:1px solid var(--line);width:100%;min-height:64px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:2.25rem minmax(0,1fr);align-items:center;gap:12px;padding:10px 0;display:grid}.campus-map__directory>ul button[aria-pressed=true]{color:var(--accent-strong)}.campus-map__directory>ul button>span:last-child{gap:3px;display:grid}.campus-map__directory strong{font-size:.8125rem;line-height:1.3}.campus-map__directory small{color:var(--muted);font-size:.7rem;line-height:1.4}.campus-map__code{background:var(--pine);width:2rem;height:2rem;color:var(--pine-accent);font:750 .75rem/1 var(--mono);text-transform:uppercase;border-radius:50%;place-items:center;display:grid}.campus-map__code--place{background:var(--accent-subtle);color:var(--accent);font-size:1rem}.campus-map__sources{border-bottom:1px solid var(--line);margin-top:20px}.campus-map__sources summary{min-height:48px;color:var(--accent);cursor:pointer;padding:15px 0;font-size:.75rem;font-weight:750}.campus-map__sources ul{gap:12px;margin:0;padding:0 0 18px;list-style:none;display:grid}.campus-map__sources li{gap:3px;display:grid}.campus-map__sources a{text-underline-offset:3px;font-size:.75rem;line-height:1.35;text-decoration:underline}@media (max-width:767px){.campus-beta{min-height:38rem}.campus-beta__veil{align-items:start;padding:20px 0}.campus-beta__notice{padding:28px 24px 24px}.campus-beta__actions{gap:10px;margin-top:24px;padding-top:16px;display:grid}.campus-beta__actions button,.campus-beta__actions a{text-align:center;justify-content:center}.campus-map{padding-top:20px}.campus-map__header{display:block}.campus-map__header>p{margin-top:8px}.campus-map__layout{grid-template-columns:1fr;gap:24px}.campus-map__canvas{aspect-ratio:1.08}}@media (prefers-reduced-motion:reduce){.campus-beta__map,.campus-map__canvas,.campus-map__building,.campus-map__label-disc{transition:none}}:root{--group-wave-duration:.7s;--group-wave-open-ease:var(--ease-soft)}@media (max-width:1023px){:root{--group-wave-duration:calc(.7s * var(--wave-scale))}}:root{--wave-duration:.7s}.section-nav{position:relative}.section-nav__marker{z-index:1;background:var(--accent);pointer-events:none;transition:transform var(--nav-duration) var(--nav-motion);display:block;position:absolute}.section-nav a{z-index:2;transition:color .22s var(--nav-motion), transform .22s var(--nav-motion);position:relative}.section-nav a:active{transform:scale(.985)}.section-nav a[aria-current=page]{color:var(--nav-active)}.section-nav--mobile{--nav-active:var(--ink)}.section-nav--mobile .section-nav__marker{width:25%;height:2px;transform:translateX(calc(var(--section-index) * 100%));bottom:2px;left:0;right:0}.section-nav--mobile a.is-active:after{display:none}.section-nav--desktop{--nav-active:#fff}.section-nav--desktop .section-nav__marker{background:var(--pine-accent);width:12px;height:2px;transform:translateY(calc(var(--section-index) * 52px)) scaleX(1);transform-origin:0;transition:background-color var(--nav-duration) var(--nav-motion);border-radius:999px;top:23px;left:-22px}.section-nav--desktop .section-nav__marker--retracting{animation:desktop-nav-marker-retract .25s var(--ease-soft) both}.section-nav--desktop .section-nav__marker--revealing{animation:desktop-nav-marker-reveal .25s var(--ease-soft) both}@keyframes desktop-nav-marker-retract{to{opacity:0;transform:translateY(calc(var(--section-index) * 52px)) scaleX(0)}}@keyframes desktop-nav-marker-reveal{0%{opacity:0;transform:translateY(calc(var(--section-index) * 52px)) scaleX(0)}to{opacity:1;transform:translateY(calc(var(--section-index) * 52px)) scaleX(1)}}.desktop-rail .section-nav--desktop .section-nav__link{transform-origin:0;transition:color var(--dur-fast) var(--ease-soft), transform var(--dur-fast) var(--ease-soft);position:relative}.desktop-rail .section-nav--desktop .section-nav__link:before{display:none}.desktop-rail .section-nav--desktop .section-nav__link.is-leaving{color:color-mix(in srgb, var(--pine-light) 75%, transparent)}.desktop-rail .section-nav--desktop .section-nav__link.is-pending{color:#fff}@media (hover:hover) and (pointer:fine){.desktop-rail .section-nav--desktop .section-nav__link:hover{color:#fff;transform:translate(3px)}}.desktop-rail .section-nav--desktop .section-nav__link:active{color:var(--pine-accent);transform:translate(1px)scale(.97)}html[data-motion=reduce] .desktop-rail .section-nav--desktop .section-nav__link{transform:none}@media (prefers-reduced-motion:reduce){.desktop-rail .section-nav--desktop .section-nav__link{transform:none}}.lecture-row{transition-duration:.22s}@media (prefers-reduced-motion:reduce){.section-nav__marker,.section-nav a,.section-nav a:before{transition:none;animation:none!important}.section-nav a:active{transform:none}}.mobile-nav{grid-template-columns:repeat(3,1fr)}.notes-catalog{gap:16px;display:grid}.notes-filter-controls{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:10px;padding:12px 0 14px;display:grid}.notes-filter-toolbar{grid-template-columns:minmax(0,1fr) minmax(9.5rem,auto);gap:8px;display:grid}.notes-filter-toggle,.notes-sort select{min-height:52px;color:var(--ink);border:1px solid var(--line);font:700 .875rem/1.2 var(--sans);transition:border-color var(--dur-fast) var(--ease-soft), background-color var(--dur-fast) var(--ease-soft);background:#fff;border-radius:15px}.notes-filter-toggle{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:0 14px 0 16px;display:flex}.notes-filter-toggle b{background:var(--accent);width:24px;height:24px;color:var(--on-accent);font:700 .75rem/1 var(--mono);border-radius:50%;flex:none;place-items:center;display:grid}.notes-sort{min-width:0;position:relative}.notes-sort:after,.notes-filters label:after{border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);content:"";pointer-events:none;width:8px;height:8px;position:absolute;right:17px;transform:rotate(45deg)}.notes-sort:after{top:20px}.notes-sort select{appearance:none;cursor:pointer;width:100%;padding:0 40px 0 14px}.notes-filter-panel{border:1px solid var(--line);animation:notes-filter-enter var(--dur-fast) var(--ease-soft) both;background:#fff;border-radius:16px;gap:12px;padding:14px;display:grid}.notes-filter-panel__head{min-height:32px;color:var(--muted);font:600 .75rem/1.3 var(--mono);justify-content:space-between;align-items:center;gap:16px;display:flex}.notes-filter-panel__head button{min-width:48px;min-height:48px;color:var(--accent);font:700 .75rem/1.2 var(--sans);cursor:pointer;background:0 0;border:0;margin:-8px -8px -8px 0;padding:0 8px}.notes-filters{grid-template-columns:1fr;gap:10px;display:grid}.notes-filters label{gap:7px;display:grid;position:relative}.notes-filters label span{color:var(--muted);font:600 .75rem/1.2 var(--mono);letter-spacing:.03em}.notes-filters label:after{bottom:21px;right:16px}.notes-filters select{width:100%;min-height:52px;color:var(--ink);background:var(--canvas);border:1px solid var(--line);font:650 .875rem/1.2 var(--sans);appearance:none;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-soft), background-color var(--dur-fast) var(--ease-soft);border-radius:13px;padding:0 44px 0 14px}.notes-filter-toggle:focus-visible,.notes-sort select:focus-visible,.notes-filters select:focus-visible,.notes-filter-panel__head button:focus-visible,.notes-active-filters button:focus-visible{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}.notes-active-filters{flex-wrap:wrap;gap:7px;display:flex}.notes-active-filters button{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));min-width:48px;max-width:100%;min-height:48px;color:var(--accent);background:var(--pine-light);font:700 .75rem/1.2 var(--sans);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.notes-active-filters button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.notes-active-filters button b{font:700 1rem/1 var(--mono);flex:none}.notes-catalog__count{color:var(--muted);font:600 .75rem/1.3 var(--mono);margin:0}[id^=notice-]:target,[id^=guide-]:target,[id^=faq-]:target,[id^=curriculum-]:target,[id^=lab-variant-]:target,[id^=material-]:target,#assignment:target{animation:search-target-pulse 1.8s var(--ease-soft) both;scroll-margin-block:24vh}@keyframes search-target-pulse{0%,to{background-color:#0000}18%,58%{background-color:color-mix(in srgb, var(--accent) 11%, transparent)}}@keyframes notes-filter-enter{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.collapsible-section{border-top:1px solid var(--line)}.collapsible-section>summary{cursor:pointer;list-style:none}.collapsible-section>summary::-webkit-details-marker{display:none}.collapsible-section>summary .section-heading{min-height:56px;margin:0}.collapsible-section>summary strong{letter-spacing:-.03em;font-size:1.125rem}.collapsible-section>summary .content-kicker{margin-top:4px;display:block}.collapsible-section__content{opacity:0;pointer-events:none;transition:grid-template-rows var(--motion-expand) var(--ease-soft), opacity var(--motion-expand) var(--ease-soft), transform var(--motion-expand) var(--ease-soft);grid-template-rows:0fr;display:grid;transform:translateY(-8px)}.collapsible-section__content>*{min-height:0;overflow:hidden}.collapsible-section[data-collapsed=false]>.collapsible-section__content{opacity:1;pointer-events:auto;grid-template-rows:1fr;transform:translateY(0)}.collapsible-section__marker{color:var(--accent);font:700 1.25rem/1 var(--mono);transition:transform var(--motion-expand) var(--ease-soft)}.collapsible-section[data-collapsed=false]>summary .collapsible-section__marker{transform:rotate(180deg)}.guide-overview>.guide-list{padding-top:4px}.guide-group{border-top:1px solid var(--line)}.guide-group>summary .section-heading{min-height:52px}.guide-group>summary strong{font-size:1rem;font-weight:700}@media (prefers-reduced-motion:reduce){.collapsible-section__content{transition:none;transform:none!important}.collapsible-section__marker{transition:none}.notes-filter-panel,[id^=notice-]:target,[id^=guide-]:target,[id^=faq-]:target,[id^=curriculum-]:target,[id^=lab-variant-]:target,[id^=material-]:target,#assignment:target{animation:none}}@media (min-width:600px){.notes-filter-toolbar{grid-template-columns:minmax(12rem,18rem) minmax(10rem,13rem)}.notes-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (hover:hover){.notes-filter-toggle:hover,.notes-sort select:hover,.notes-filters select:hover{border-color:var(--accent);background:var(--soft)}.notes-active-filters button:hover{border-color:var(--accent);background:#fff}}.animated-logo{justify-content:center;align-items:center;width:max-content;line-height:0;display:inline-flex}.guide-link{margin:-14px 0 28px}.guide-link a{min-height:48px;color:var(--accent);align-items:center;font-size:.8125rem;font-weight:750;display:inline-flex}.notice-section{margin:0 0 30px}.notice-section .section-heading{margin-bottom:12px}.content-kicker{color:var(--muted);font:600 12px/1.3 var(--mono);text-transform:lowercase;letter-spacing:.04em}.notice-list{border-top:1px solid var(--line)}.notice-row{border-bottom:1px solid var(--line);grid-template-columns:5.25rem minmax(0,1fr);gap:12px;padding:16px 4px;display:grid}.notice-row__kind{color:var(--accent);font:600 12px/1.3 var(--mono);text-transform:lowercase;padding-top:3px}.notice-row h3{margin:0;font-size:.9375rem}.notice-row small{color:var(--muted);font:600 12px/1.3 var(--mono)}.guide-list{gap:24px;display:grid}.guide-group .section-heading{margin-bottom:10px}.guide-rows{border-top:1px solid var(--line)}.guide-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:68px;padding:12px 4px;display:flex}.guide-row>div{gap:4px;display:grid}.guide-row strong{font-size:.875rem}.guide-row span{color:var(--muted);font-size:.75rem;line-height:1.35}.guide-row a{min-height:48px;color:var(--accent);white-space:nowrap;align-items:center;font-size:.75rem;font-weight:750;display:inline-flex}.animated-logo__svg{display:block;overflow:visible}.animated-logo__line{stroke-dasharray:var(--al-line-len);stroke-dashoffset:var(--al-line-len);opacity:.35;will-change:stroke-dashoffset, opacity}.animated-logo__wordmark{opacity:0;will-change:opacity}@media (hover:hover){.logo--interactive.logo--hover-animating .animated-logo__line{animation:al-hover-draw .9s var(--ease-soft) both}.logo--interactive.logo--hover-animating .animated-logo__line--2{animation-delay:.14s}.logo--interactive.logo--hover-animating .animated-logo__line--3{animation-delay:.28s}.logo--interactive.logo--hover-animating .animated-logo__wordmark{animation:al-hover-wordmark .8s var(--ease-soft) .42s both}}@keyframes al-hover-draw{0%{stroke-dashoffset:var(--al-line-len);opacity:.35}60%,to{opacity:1}to{stroke-dashoffset:0}}@keyframes al-hover-wordmark{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translate(-6px)}to{opacity:1;clip-path:inset(0);transform:translate(0)}}.animated-logo--static .animated-logo__line{stroke-dashoffset:0;opacity:1;will-change:auto}.animated-logo--static .animated-logo__wordmark{opacity:1;will-change:auto}.animated-logo--standard .animated-logo__line--1{animation:al-draw .36s var(--ease-soft) 0s forwards}.animated-logo--standard .animated-logo__line--2{animation:al-draw .36s var(--ease-soft) 60ms forwards}.animated-logo--standard .animated-logo__line--3{animation:al-draw .36s var(--ease-soft) .12s forwards}.animated-logo--standard .animated-logo__wordmark{animation:al-wordmark .24s var(--ease-soft) .18s forwards}.animated-logo--splash .animated-logo__line--1{animation:al-reveal-wave var(--wave-duration) var(--ease-soft) 0s both}.animated-logo--splash .animated-logo__line--2{animation:al-reveal-wave var(--wave-duration) var(--ease-soft) calc(var(--wave-duration) * .2) both}.animated-logo--splash .animated-logo__line--3{animation:al-reveal-wave var(--wave-duration) var(--ease-soft) calc(var(--wave-duration) * .4) both}.animated-logo--splash .animated-logo__line{stroke-dashoffset:0}.animated-logo--splash .animated-logo__wordmark{animation:al-wordmark-wave .42s var(--ease-soft) calc(var(--wave-duration) * .88) both}.animated-logo--splash .animated-logo__svg{animation:.52s cubic-bezier(.16,1,.3,1) .62s both splash-logo-assemble}@keyframes al-draw{0%{stroke-dashoffset:var(--al-line-len);opacity:.35}60%,to{opacity:1}to{stroke-dashoffset:0}}@keyframes al-wordmark{0%{opacity:0}to{opacity:1}}@keyframes al-draw-wave{0%{stroke-dashoffset:var(--al-line-len);opacity:.25;transform:translate(-3px)}65%{opacity:1}to{stroke-dashoffset:0;opacity:1;transform:translate(0)}}@keyframes al-reveal-wave{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes al-wordmark-wave{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translate(-6px)}to{opacity:1;clip-path:inset(0);transform:translate(0)}}@keyframes splash-logo-assemble{0%{transform:translate(clamp(86px,15vw,142px))}to{transform:translate(clamp(32px,6vw,58px))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.animated-logo__line,.animated-logo__wordmark,.animated-logo__svg{animation:none!important}.animated-logo__line{stroke-dashoffset:0;opacity:1}.animated-logo__wordmark{opacity:1;transform:none}.splash-screen,.loading-screen--fullscreen{display:none!important}.page-transition-wrapper{opacity:1!important;transition:none!important;transform:none!important}.page-reveal--content{animation:none!important}}.splash-screen{z-index:9999;pointer-events:auto;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}html[data-potok-entry-pending="1"] body:before{z-index:9998;background:var(--pine);content:"";position:fixed;inset:0}.splash-screen__backdrop{background:var(--pine);clip-path:circle(85vmax);position:absolute;inset:0}.splash-screen__content{z-index:1;place-items:center;max-width:calc(100vw - 48px);display:grid;position:relative}.splash-screen__content .animated-logo__svg{width:clamp(13rem,28vw,23rem);max-width:calc(100vw - 48px);height:auto}.splash-screen--collapsing .splash-screen__backdrop{animation:splash-backdrop-collapse var(--wave-duration) var(--ease-soft) forwards}.splash-screen--collapsing .splash-screen__content{transform-origin:50%;animation:.5s cubic-bezier(.16,1,.3,1) forwards splash-brand-release}@keyframes splash-backdrop-collapse{0%{clip-path:circle(85vmax)}to{clip-path:circle(0)}}@keyframes splash-brand-release{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(12vw,-5vh)scale(.94)}}.desktop-rail .logo,.desktop-rail .animated-logo{max-width:100%}.desktop-rail .animated-logo__svg{max-width:100%;height:auto}.desktop-rail__footer{margin-top:auto;display:grid}.desktop-rail__footer-links{gap:0;width:100%;display:grid}.desktop-rail__footer-group{flex-wrap:wrap;gap:0 12px;width:100%;display:flex}.desktop-rail__footer-group--stacked{gap:0;display:grid}.desktop-rail__footer-group--compact{row-gap:0}.desktop-rail__footer .desktop-rail__footer-group--compact a{min-height:32px}.desktop-rail__footer-group+.desktop-rail__footer-group{border-top:1px solid #eaf2ec29;margin-top:12px;padding-top:12px}.desktop-rail__footer a{width:100%;min-height:48px;color:color-mix(in srgb, var(--pine-light) 60%, transparent);align-items:center;font-size:.75rem;font-weight:650;display:inline-flex}.desktop-rail__footer p{color:color-mix(in srgb, var(--pine-light) 60%, transparent);font:.75rem/1.4 var(--mono);margin:0}.loading-screen--fullscreen{z-index:9000;position:fixed;inset:0}.loading-screen--dark,.loading-screen--light{background:var(--pine)}.loading-screen--inline{background:0 0;min-height:160px}.loading-screen__content{justify-items:center;display:grid}.loading-screen--leaving{opacity:0;pointer-events:none;transition:opacity var(--dur-base) var(--ease-soft)}.inline-loader{justify-content:center;align-items:center;line-height:0;display:inline-flex}@media (prefers-reduced-motion:no-preference){a,button,input,select,.lecture-row,.material-row,.schedule-row,.materials-list li>a,.lecture-row__arrow,.materials-list b{transition:background-color var(--dur-fast) var(--ease-soft), color var(--dur-fast) var(--ease-soft), transform var(--dur-fast) var(--ease-soft)}.lecture-row:active,.material-row:active,.schedule-row:active{transform:scale(.985)}}.lecture-row,.material-row,.materials-list li>a{position:relative}.lecture-row__arrow,.materials-list b,.material-row>a:last-child{transition:transform var(--dur-fast) var(--ease-soft)}@media (hover:hover) and (pointer:fine){.lecture-row:hover,.material-row:hover,.materials-list li>a:hover{background:var(--soft)}.lecture-row:hover .lecture-row__arrow,.materials-list li>a:hover b,.material-row>a:last-child:hover{transform:translate(3px)}.desktop-rail nav a:hover,.mobile-nav a:hover,.section-heading a:hover,.week-day__title a:hover,.back-link:hover,.next-note a:hover,.landing__action:hover,.landing__footer a:hover,.schedule__source a:hover{color:var(--accent)}.desktop-rail nav a:hover{color:#fff}.desktop-rail__footer a:hover{color:color-mix(in srgb, var(--pine-light) 75%, transparent)}}@media (min-width:1024px){.app-background{padding:clamp(24px,2.2vw,32px)}.desktop-rail{width:clamp(225px,17vw,258px);inset:clamp(24px,2.2vw,32px) auto clamp(24px,2.2vw,32px) clamp(24px,2.2vw,32px)}.app-surface{border-radius:clamp(32px,3vw,40px);min-height:calc(100svh - 2*clamp(24px,2.2vw,32px));margin-left:clamp(225px,17vw,258px);padding:clamp(40px,6vh,64px) clamp(40px,6vw,88px)}.landing{background:var(--pine);width:100%;max-width:none;min-height:100svh;margin:0;padding:clamp(24px,2.2vw,32px)}.landing>.page-reveal{grid-template-columns:minmax(18rem,.72fr) minmax(0,1.28fr);gap:clamp(18px,2vw,32px);min-height:calc(100svh - 2*clamp(24px,2.2vw,32px));display:grid}.landing__hero{border-radius:clamp(32px,3vw,40px);align-self:start;min-height:calc(100svh - 2*clamp(24px,2.2vw,32px));padding:clamp(40px,4vw,64px);position:sticky;top:clamp(24px,2.2vw,32px)}.landing__hero-copy{margin-top:auto;margin-bottom:auto}.landing__hero h1{font-size:clamp(3.25rem,4.2vw,4.5rem)}.landing__paper{background:var(--canvas);border-radius:clamp(32px,3vw,40px);flex-direction:column;min-width:0;display:flex;overflow:hidden}.landing__action,.landing__purpose,.landing__footer{background:0 0;width:auto;margin:0;padding-left:clamp(32px,4vw,64px);padding-right:clamp(32px,4vw,64px)}.landing__action{padding-top:18px;padding-bottom:18px}.landing__purpose,.landing__footer{padding-top:clamp(30px,4vw,56px);padding-bottom:clamp(30px,4vw,56px)}.landing__footer{margin-top:auto}}.schedule-lesson-title{vertical-align:top;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:inline-flex}.schedule-lesson-title__link{min-width:0;min-height:24px;color:inherit;align-items:center;display:inline-flex}.schedule-lesson-title__room{min-width:24px;min-height:24px;color:inherit;font:inherit;white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.schedule-change-indicator{z-index:3;flex:none;display:inline-flex;position:relative}.schedule-change-indicator button{width:24px;height:24px;color:var(--accent);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.schedule-change-indicator button>span{width:19px;height:19px;font:750 .75rem/1 var(--mono);text-transform:none;border:1px solid;border-radius:50%;place-items:center;padding:0;display:grid}.schedule-change-indicator button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:50%}.schedule-change-indicator__tooltip{z-index:20;border:1px solid var(--line);background:var(--surface);width:min(260px,100vw - 32px);color:var(--ink);font:600 .75rem/1.45 var(--sans);text-align:left;text-transform:none;overflow-wrap:anywhere;white-space:normal;border-radius:10px;max-height:min(65vh,420px);padding:10px 12px;position:absolute;top:calc(100% + 3px);right:0;overflow:auto;box-shadow:0 10px 24px #16241c24}@media (max-width:599px){.schedule-change-indicator__tooltip{top:calc(var(--mobile-header-h) + 12px);width:auto;position:fixed;bottom:auto;left:16px;right:16px}}@media (min-width:1024px){.schedule__day{grid-column:2}}.schedule-display-settings{border-bottom:1px solid var(--line);margin:0 0 16px}.schedule-display-settings__toggle{min-height:48px;color:var(--ink);cursor:pointer;font-size:.8125rem;font-weight:750;font:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;padding:0 2px;list-style:none;display:flex}.schedule-display-settings__chevron{border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);width:9px;height:9px;transition:transform .26s var(--ease),border-color .18s ease;margin-right:5px;transform:rotate(45deg)translateY(-2px)}.schedule-display-settings.is-open .schedule-display-settings__chevron{border-color:var(--accent);transform:rotate(225deg)translate(-2px,-2px)}.schedule-display-settings__fields{opacity:0;transition:grid-template-rows .32s var(--ease),opacity .22s ease;grid-template-rows:0fr;display:grid}.schedule-display-settings.is-open .schedule-display-settings__fields{opacity:1;grid-template-rows:1fr}.schedule-display-settings__fields-inner{min-height:0;color:var(--muted);transition:padding .32s var(--ease);flex-wrap:wrap;gap:4px 18px;padding:0;font-size:.75rem;display:flex;overflow:hidden}.schedule-display-settings.is-open .schedule-display-settings__fields-inner{padding:0 0 14px}.schedule-display-settings__fields label{align-items:center;gap:8px;min-height:40px;display:inline-flex}.schedule-display-settings__fields input{width:18px;height:18px;accent-color:var(--accent);cursor:pointer;margin:0}.schedule-lesson-kind{color:var(--muted);font-weight:600}.schedule-agenda ol{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.schedule-row{border-bottom:1px solid var(--line);grid-template-columns:4rem minmax(0,1fr);gap:12px;padding:8px 0;display:grid;position:relative}.schedule-row time{color:var(--ink);font:600 .75rem/1.25 var(--mono);flex-direction:column;align-items:flex-start;gap:2px;display:flex}.schedule-row time span{color:var(--muted);opacity:.8}.schedule-row>div{align-content:start;gap:4px;min-width:0;display:grid}.schedule-row strong{font-size:.875rem;line-height:1.35}.schedule-row p{color:var(--muted);margin:0;font-size:.75rem;line-height:1.45}.schedule-row__note,.schedule-row__status{align-items:center;min-height:24px;margin-top:0;display:inline-flex}@media (hover:hover) and (pointer:fine){.schedule-row:hover{background:var(--soft)}}@media (min-width:600px){.schedule-row{grid-template-columns:5rem minmax(0,1fr);padding-inline:8px}}@media (min-width:1024px){.schedule-row{padding-left:12px;padding-right:12px}}.schedule-screen__links{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:0 14px;display:flex}.schedule-screen__links>a,.schedule-context{min-height:48px;color:var(--accent);align-items:center;font-size:.8125rem;font-weight:750;display:inline-flex}.week-agenda{gap:28px;display:grid}.week-agenda>.schedule-context{width:max-content;margin-bottom:-20px}.week-agenda__timeline{gap:32px;display:grid}.week-agenda__day{border-top:1px solid var(--line);padding-top:14px;scroll-margin-block:35vh}.week-agenda__day h2{align-items:center;gap:12px;margin:0;display:flex}.week-agenda__day h2 a{letter-spacing:-.03em;align-items:center;min-height:48px;font-size:1.125rem;display:inline-flex}.week-agenda__day.is-today{border-top:2px solid var(--accent);background:var(--soft);margin-inline:0;padding:20px 12px 10px}.week-agenda__today-label{color:var(--accent);font:600 .75rem/1 var(--mono);text-transform:lowercase;letter-spacing:.04em}.week-agenda__day .schedule-agenda{margin-top:4px}@media (min-width:1024px){.week-agenda,.week-agenda__timeline{gap:52px}.week-agenda__day.is-today{margin-inline:0;padding-inline:20px}}.schedule__controls{border-bottom:1px solid var(--line);grid-template-columns:1fr;gap:12px;margin-bottom:24px;padding-bottom:20px;display:grid}.schedule__controls label{color:var(--muted);font:600 .75rem/1.3 var(--mono);gap:6px;display:grid}.schedule__controls select{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);font:650 .9375rem/1.3 var(--sans);cursor:pointer;appearance:auto;background:#fff;border-radius:14px;padding:0 13px}.schedule__weeks{gap:24px;display:grid}.schedule__week{gap:18px;display:grid}.schedule__week-label{color:var(--accent);font:600 .75rem/1.3 var(--mono);margin:0}.schedule__day{border-top:1px solid var(--line);padding-top:14px}.schedule__day h2{letter-spacing:-.02em;margin:0 0 4px;font-size:1rem}.schedule__day ol{margin:0;padding:0;list-style:none}.schedule__day li{border-bottom:1px solid var(--line);grid-template-columns:4rem minmax(0,1fr);gap:12px;padding:8px 0;display:grid}.schedule__day time,.agenda-table time{color:var(--ink);font:600 .875rem/1.25 var(--mono);flex-direction:column;align-items:flex-start;gap:2px;display:flex}.schedule__day time span,.agenda-table time span{color:var(--muted);opacity:.8}.schedule__day li>div{align-content:start;gap:4px;display:grid}.schedule__day strong{font-size:.875rem;line-height:1.35}.schedule__day li p{color:var(--muted);flex-wrap:wrap;gap:0 6px;margin:0;font-size:.875rem;line-height:1.45;display:flex}.schedule__source{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px;margin-top:34px;padding-top:18px;display:flex}.schedule__source p{color:var(--muted);font:.75rem/1.45 var(--mono);margin:0}.schedule__source a{min-height:48px;color:var(--accent);align-items:center;font-size:.8125rem;font-weight:750;display:inline-flex}@media (hover:hover){.schedule__controls select:hover{border-color:var(--accent);background:var(--soft)}.schedule__day li:hover{background:var(--soft)}}@media (min-width:600px){.schedule__controls{grid-template-columns:1.4fr .75fr .75fr;gap:16px}.schedule__day li{grid-template-columns:5rem minmax(0,1fr);padding-inline:8px}}@media (min-width:1024px){.schedule{max-width:var(--content)}.schedule__controls{margin-bottom:42px}.schedule__weeks{gap:48px}.schedule__week{grid-template-columns:7rem minmax(0,1fr);gap:28px}.schedule__week-label{padding-top:14px}.schedule__day{grid-template-columns:8rem minmax(0,1fr);gap:28px;display:grid}.schedule__day h2{padding-top:14px}.schedule__day ol{border-top:0}.schedule__day li{padding-left:12px;padding-right:12px}}.landing__action,.landing__purpose,.landing__contact{border-bottom:0}.landing__footer p:last-child{border-top:0;padding-top:0}.flow-divider{width:min(calc(100% - 48px),var(--content));color:var(--accent);margin:0 auto;padding:0}.flow-divider svg{width:100%;height:24px;display:block;overflow:visible}.flow-divider__line{stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;opacity:.88}.landing__contact{width:min(calc(100% - 48px),var(--content));margin:auto;padding:32px 0}.landing__eyebrow{color:var(--accent);font:600 .75rem/1.4 var(--mono);margin:0 0 14px}.landing__contact h2{letter-spacing:-.055em;max-width:18ch;margin:0;font-size:clamp(1.75rem,7vw,2.75rem);line-height:1.06}.landing__contact>p:not(.landing__eyebrow){max-width:42rem;color:var(--muted);margin:14px 0 0;line-height:1.6}.landing__contact-links{flex-wrap:wrap;gap:0 24px;display:flex}.landing__contact-action{min-height:48px;color:var(--accent);align-items:center;gap:10px;margin-top:20px;font-weight:750;display:inline-flex}.landing__interactive,.landing__interactive-arrow{transition:color var(--dur-fast) var(--ease-soft),transform var(--dur-fast) var(--ease-soft)}@media (hover:hover) and (pointer:fine){.landing__interactive:hover{color:var(--ink);transform:translateY(-2px)}.landing__hero-action:hover{border-color:color-mix(in srgb,var(--pine-accent) 42%,transparent);background:color-mix(in srgb,var(--pine-accent) 9%,transparent);color:var(--pine-light)}.landing__interactive:hover .landing__interactive-arrow{transform:translate(4px,-2px)}}@media (min-width:600px){.flow-divider,.landing__contact{width:min(100%,80rem);padding-left:max(42px,8vw);padding-right:max(42px,8vw)}.flow-divider svg{height:32px}}@media (min-width:1024px){.flow-divider,.landing__contact{width:auto;margin:0;padding-left:clamp(32px,4vw,64px);padding-right:clamp(32px,4vw,64px)}.flow-divider svg{height:36px}.landing__contact{padding-top:clamp(28px,3vw,44px);padding-bottom:clamp(28px,3vw,44px)}}@media (prefers-reduced-motion:reduce){.landing__interactive:hover,.landing__interactive:hover .landing__interactive-arrow,.landing__hero-action:active{transform:none}}.app-background>.app-surface>.mobile-header{z-index:30;position:sticky;top:0}.mobile-menu{position:relative}.mobile-menu__trigger,.mobile-menu__close{cursor:pointer;width:48px;min-width:48px;height:48px;min-height:48px;transition:color var(--dur-fast) var(--ease-soft), transform var(--dur-fast) var(--ease-soft), background-color var(--dur-fast) var(--ease-soft);background:0 0;border:0;border-radius:12px;place-items:center;padding:0;display:inline-grid}.mobile-menu__trigger{color:var(--accent)}.mobile-menu__trigger:hover{background:var(--soft)}.mobile-menu__trigger:active,.mobile-menu__close:active{transform:scale(.93)}.mobile-menu__icon{flex-direction:column;gap:5px;width:20px;display:flex}.mobile-menu__bar{transform-origin:50%;width:20px;height:2px;transition:transform .3s var(--ease-soft), opacity .2s var(--ease-soft), width .3s var(--ease-soft);background:currentColor;border-radius:2px;display:block}.mobile-menu__bar--top{transform:translateY(0)rotate(0)}.mobile-menu__bar--mid{opacity:1;transform:scaleX(1)}.mobile-menu__bar--bot{width:14px;transform:translateY(0)rotate(0)}.mobile-menu__icon--open .mobile-menu__bar--top{transform:translateY(7px)rotate(45deg)}.mobile-menu__icon--open .mobile-menu__bar--mid{opacity:0;transform:scaleX(0)}.mobile-menu__icon--open .mobile-menu__bar--bot{width:20px;transform:translateY(-7px)rotate(-45deg)}.mobile-menu__scrim{z-index:100;cursor:pointer;width:100%;height:100%;animation:mobile-menu-scrim-in var(--motion-menu) var(--ease-soft) both;will-change:opacity;-webkit-backdrop-filter:blur(2px);background:#16241c80;border:0;padding:0;position:fixed;inset:0}.mobile-menu__drawer{z-index:101;overscroll-behavior:contain;width:min(82vw,21rem);padding:0 clamp(20px, 5vw, 28px) max(28px, env(safe-area-inset-bottom));background:var(--pine);color:var(--pine-light);animation:mobile-menu-wave-in var(--motion-menu) var(--ease-soft) both;will-change:transform;border-radius:24px 0 0 24px;flex-direction:column;display:flex;position:fixed;inset:0 0 0 auto;overflow-y:auto;transform:translate(0,0);box-shadow:-8px 0 48px #05100a47,-2px 0 8px #05100a1f}.mobile-menu__head{min-height:var(--mobile-header-h);padding-top:max(12px, env(safe-area-inset-top));flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.mobile-menu__head .animated-logo__svg{width:156px;height:auto}.mobile-menu__head .animated-logo__line{stroke:var(--pine-accent)}.mobile-menu__head .animated-logo__wordmark{fill:var(--pine-accent)}.mobile-menu__close{width:48px;min-width:48px;height:48px;min-height:48px;color:var(--pine-accent);transition:background-color var(--dur-fast) var(--ease-soft), transform var(--dur-fast) var(--ease-soft);background:#9fe0b91a;border-radius:10px;flex-shrink:0}.mobile-menu__close:hover{background:#9fe0b92e}.mobile-menu__close .mobile-menu__bar--top{animation:mobile-menu-bar-top-in .3s var(--ease-soft) both}.mobile-menu__close .mobile-menu__bar--mid{animation:mobile-menu-bar-mid-in .22s var(--ease-soft) both}.mobile-menu__close .mobile-menu__bar--bot{animation:mobile-menu-bar-bot-in .3s var(--ease-soft) both}.mobile-menu .section-nav--mobile{--nav-active:#fff;background:0 0;border:0;grid-template-columns:1fr;gap:2px;margin-top:clamp(28px,6svh,52px);padding:0;display:grid}.mobile-menu .section-nav__marker{display:none}.mobile-menu .section-nav--mobile a{min-height:52px;color:color-mix(in srgb, var(--pine-light) 70%, transparent);letter-spacing:-.03em;transition:color var(--dur-fast) var(--ease-soft), background-color var(--dur-fast) var(--ease-soft);border-radius:12px;flex-shrink:0;align-items:center;padding:0 10px;font-size:clamp(1rem,4.5vw,1.1875rem);font-weight:650;display:flex}.mobile-menu .section-nav--mobile a:hover{color:var(--pine-light);background:#9fe0b914}.mobile-menu .section-nav--mobile a.is-active{color:#fff;background:#9fe0b91f}.mobile-menu .section-nav--mobile a.is-active:before{background:var(--pine-accent);content:"";border-radius:2px;flex-shrink:0;width:3px;height:18px;margin-right:12px}.mobile-menu__footer{border-top:1px solid #eaf2ec1f;gap:0;margin-top:auto;padding-top:16px;display:grid}.mobile-menu__footer-links{gap:0;display:grid}.mobile-menu__footer-group+.mobile-menu__footer-group{border-top:1px solid #eaf2ec1a;margin-top:4px;padding-top:4px}.mobile-menu__footer a{width:100%;height:48px;min-height:48px;color:color-mix(in srgb, var(--pine-light) 60%, transparent);transition:color var(--dur-fast) var(--ease-soft);border-radius:8px;flex-shrink:0;align-items:center;padding:0 4px;font-size:.875rem;display:flex}.mobile-menu__footer a:hover{color:var(--pine-light)}.mobile-menu__footer .mobile-menu__footer-group--compact a{height:48px;min-height:48px}.mobile-menu__footer p{color:color-mix(in srgb, var(--pine-light) 50%, transparent);font:.75rem/1.4 var(--mono);margin:10px 0 0}.mobile-menu__trigger:focus-visible{outline-color:var(--accent)}.mobile-menu__close:focus-visible,.mobile-menu .section-nav a:focus-visible,.mobile-menu__footer a:focus-visible{outline:2px solid var(--pine-accent);outline-offset:3px}.mobile-menu__drawer[data-state=closing]{animation:mobile-menu-wave-out calc(var(--menu-close-ms) * 1ms) var(--ease-soft) both}.mobile-menu__scrim[data-state=closing]{animation:mobile-menu-scrim-out var(--motion-menu) var(--ease-soft) both}@keyframes mobile-menu-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes mobile-menu-scrim-out{0%{opacity:1}to{opacity:0}}@keyframes mobile-menu-wave-in{0%{opacity:.96;transform:translate(100%)}to{opacity:1;transform:translate(0,0)}}@keyframes mobile-menu-wave-out{0%{opacity:1;transform:translate(0,0)}to{opacity:.96;transform:translate(100%)}}@keyframes mobile-menu-bar-top-in{0%{transform:translateY(0)rotate(0)}to{transform:translateY(7px)rotate(45deg)}}@keyframes mobile-menu-bar-mid-in{0%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(0)}}@keyframes mobile-menu-bar-bot-in{0%{width:14px;transform:translateY(0)rotate(0)}to{width:20px;transform:translateY(-7px)rotate(-45deg)}}@media (min-width:600px) and (max-width:1023px){.mobile-menu__drawer{width:min(80vw,22rem);padding-inline:28px}}@media (min-width:1024px){.mobile-menu{display:none}}@media (prefers-reduced-motion:reduce){.mobile-menu__scrim,.mobile-menu__drawer{animation:none}.mobile-menu__trigger:active,.mobile-menu__close:active{transform:none}.mobile-menu__bar{transition:none}.mobile-menu__close .mobile-menu__bar{animation:none}}.schedule-display-settings{border:0;flex:none;margin:0;display:inline-flex;position:relative}.schedule-display-settings__toggle{width:48px;min-width:48px;height:48px;min-height:48px;color:var(--muted);cursor:pointer;transition:color var(--dur-fast) var(--ease-soft), background-color var(--dur-fast) var(--ease-soft), border-color var(--dur-fast) var(--ease-soft), transform var(--dur-fast) var(--ease-soft);background:0 0;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;padding:0;display:inline-flex}.schedule-display-settings__toggle:active{transform:translateY(1px)}.schedule-display-settings__toggle:hover,.schedule-display-settings.is-open .schedule-display-settings__toggle{border-color:var(--line);color:var(--accent);background:var(--soft)}.schedule-display-settings__toggle:focus-visible{border-color:var(--accent);outline:2px solid color-mix(in srgb, var(--accent) 28%, transparent);outline-offset:2px}.schedule-display-settings__icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;width:17px;height:17px}.schedule-display-settings__icon circle{fill:var(--canvas)}.schedule-display-settings__fields{z-index:8;overscroll-behavior:contain;border:1px solid var(--line);background:var(--canvas);visibility:hidden;pointer-events:none;width:min(264px,100vw - 32px);max-height:min(420px,65dvh);transform:translate3d(var(--settings-shift,0px), -8px, 0) scale(.97);transform-origin:100% 0;opacity:0;transition:opacity .16s ease, transform .22s var(--ease-soft), visibility 0s .22s;border-radius:14px;padding:8px;display:block;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 12px 28px #05100a1f}.schedule-display-settings.is-open .schedule-display-settings__fields{visibility:visible;pointer-events:auto;transform:translate3d(var(--settings-shift,0px), 0, 0) scale(1);opacity:1;transition-delay:0s}.schedule-display-settings .schedule-display-settings__fields-inner,.schedule-display-settings.is-open .schedule-display-settings__fields-inner{flex-direction:column;align-items:stretch;gap:2px;padding:0;transition:none;display:flex;overflow:visible}.schedule-display-settings__fields label{cursor:pointer;min-height:48px;transition:background-color var(--dur-fast) var(--ease-soft), color var(--dur-fast) var(--ease-soft);border-radius:8px;padding:8px;font-size:.8125rem}.schedule-display-settings__fields label:has(input:checked){color:var(--ink)}.schedule-display-settings__fields label:active{background:var(--soft)}.schedule-display-settings__fields input{flex:none;width:18px;height:18px}.schedule-calendar-export__entry{border:0;border-top:1px solid var(--line);width:100%;min-height:48px;color:var(--accent);font:750 .78125rem/1.35 var(--sans);text-align:left;cursor:pointer;background:0 0;margin-top:4px;padding:10px 0 4px}.schedule-calendar-export__entry:focus-visible,.schedule-calendar-export__actions :is(a,button):focus-visible,.schedule-calendar-export__download a:focus-visible,.schedule-calendar-export__close:focus-visible,.schedule-calendar-export__help summary:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 30%, transparent);outline-offset:3px}.schedule-calendar-export__intro{color:var(--muted);margin:0;font-size:.8125rem;line-height:1.55}.schedule-calendar-export__actions{gap:8px;margin-top:18px;display:grid}.schedule-calendar-export__actions :is(a,button){border:1px solid var(--line);min-height:48px;color:var(--ink);font:700 .8125rem/1.3 var(--sans);text-align:center;cursor:pointer;background:0 0;border-radius:14px;justify-content:center;align-items:center;padding:9px 14px;text-decoration:none;display:flex}.schedule-calendar-export__actions .schedule-calendar-export__primary{border-color:var(--accent);color:var(--on-accent);background:var(--accent)}.schedule-calendar-export__hint{color:var(--muted);margin:8px 0 0;font-size:.75rem;line-height:1.55}.schedule-calendar-export__status{color:var(--accent);margin-top:10px;font-size:.75rem}.schedule-calendar-export__fallback{color:var(--muted);gap:6px;margin-top:12px;font-size:.6875rem;display:grid}.schedule-calendar-export__fallback input{border:1px solid var(--line);width:100%;min-height:40px;color:var(--ink);background:var(--soft);font:.6875rem/1.4 var(--mono);border-radius:8px;padding:8px 10px}.schedule-calendar-export__help{border-top:1px solid var(--line);color:var(--muted);margin-top:18px;padding-top:16px;font-size:.75rem}.schedule-calendar-export__help summary{min-height:48px;color:var(--ink);cursor:pointer;align-items:center;font-weight:700;display:flex}.schedule-calendar-export__help p{margin:9px 0 0;line-height:1.5}.schedule-calendar-export__download{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin-top:18px;font-size:.6875rem;display:flex}.schedule-calendar-export__download>:first-child{font-weight:600}.schedule-calendar-export__download a{min-height:48px;color:var(--accent);text-underline-offset:3px;align-items:center;font-size:.75rem;font-weight:700;display:inline-flex}.schedule-calendar-export__download [aria-disabled=true]{min-height:48px;color:var(--muted);align-items:center;font-size:.75rem;font-weight:700;display:inline-flex}.schedule-calendar-export__download small{flex-basis:100%;font-size:.6875rem}.section-heading__controls{align-items:center;gap:16px;display:flex}.section-heading .schedule-display-settings{border:0;min-width:48px;margin:0}.current-schedule-day__heading{align-items:center}.schedule-hub__toolbar{justify-content:space-between;align-items:end;gap:16px;display:flex}.schedule-hub__toolbar>.schedule-display-settings{margin-bottom:4px}.schedule-hub__toolbar .schedule-display-settings__fields{right:0}@media (max-width:599px){.schedule-display-settings__fields{width:min(240px,100vw - 32px)}.schedule-hub__toolbar{align-items:center}.schedule-hub__toolbar>.schedule-display-settings{margin-bottom:0}}.schedule-row{transition:background-color var(--dur-fast) var(--ease-soft),transform var(--dur-fast) var(--ease-soft)}.landing__hero-action{border:1px solid color-mix(in srgb, var(--pine-accent) 26%, transparent);background:color-mix(in srgb, var(--pine-accent) 6%, transparent);width:fit-content;min-height:54px;color:color-mix(in srgb, var(--pine-accent) 88%, white);transition:background-color var(--dur-fast) var(--ease-soft), border-color var(--dur-fast) var(--ease-soft), color var(--dur-fast) var(--ease-soft), transform var(--dur-fast) var(--ease-soft);border-radius:12px;justify-content:flex-start;align-items:center;gap:15px;margin-top:28px;padding:0 18px;font-size:1rem;font-weight:750;display:inline-flex}.landing__hero-action:active{transform:scale(.985)}.landing__logo .animated-logo__svg{width:auto;height:clamp(4.75rem,8vw,5.5rem)}.landing__situations{width:min(calc(100% - 48px),var(--content));margin:auto;padding:32px 0}.landing__situations h2{letter-spacing:-.055em;max-width:18ch;margin:0;font-size:clamp(1.75rem,7vw,2.75rem);line-height:1.06}.landing__situations ol{border-top:1px solid var(--line);counter-reset:situation;margin:24px 0 0;padding:0;list-style:none}.landing__situations li{border-bottom:1px solid var(--line);min-height:64px;color:var(--muted);counter-increment:situation;grid-template-columns:2.5rem minmax(0,1fr);align-items:start;gap:12px;padding:16px 0;line-height:1.5;display:grid}.landing__situations li:before{color:var(--accent);font:600 .75rem/1.5 var(--mono);content:counter(situation,decimal-leading-zero)}.landing__situation-link{min-height:48px;color:inherit;grid-column:2;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;display:grid}.landing__situation-copy{min-width:0}.landing__situation-action{color:var(--accent);white-space:nowrap;font-size:.875rem;font-weight:750}.landing__purpose-links{border-top:1px solid var(--line);counter-reset:situation;margin:32px 0 0;padding:0;list-style:none}.landing__purpose-links li{border-bottom:1px solid var(--line);min-height:64px;color:var(--muted);counter-increment:situation;grid-template-columns:2.5rem minmax(0,1fr);align-items:center;gap:12px;padding:16px 0;line-height:1.5;display:grid}.landing__purpose-links li:before{color:var(--accent);font:600 .75rem/1.5 var(--mono);content:counter(situation,decimal-leading-zero)}.landing__editor-benefits{width:min(calc(100% - 48px),var(--content));margin:auto;padding:32px 0}.landing__editor-benefits h2{letter-spacing:-.055em;max-width:20ch;margin:0;font-size:clamp(1.75rem,7vw,2.75rem);line-height:1.06}.landing__editor-benefits-lead{max-width:37rem;color:var(--muted);margin:22px 0 0;font-size:clamp(1.05rem,3.8vw,1.25rem);line-height:1.5}.landing__editor-benefits-action{min-height:48px;color:var(--accent);align-items:center;gap:18px;margin-top:18px;font-weight:750;display:inline-flex}.landing__editor-benefits-more{border-top:1px solid var(--line);gap:0;margin-top:38px;display:grid}.landing__editor-benefits-more p{border-bottom:1px solid var(--line);color:var(--muted);margin:0;padding:18px 0;line-height:1.55}.landing__editor-benefits-more strong{color:var(--ink);font-weight:750}@media (min-width:600px){.landing__editor-benefits{width:min(100%,80rem);padding-left:max(42px,8vw);padding-right:max(42px,8vw)}}@media (min-width:1024px){.landing__editor-benefits{width:auto;margin:0;padding:clamp(28px,3vw,44px) clamp(32px,4vw,64px)}.landing__editor-benefits-more{grid-template-columns:1fr 1fr;gap:32px}.landing__editor-benefits-more p{padding-block:22px}.landing__editor-benefits h2{max-width:none}.landing__editor-benefits-lead{max-width:min(100%,48rem)}}@media (max-width:599px){.landing__situation-link{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.landing__situation-copy{grid-column:1/-1}.landing__situation-action{white-space:normal;grid-column:1}.landing__situation-link .landing__interactive-arrow{grid-column:2}}.landing__meta{max-width:42rem;color:var(--muted);font:500 .875rem/1.4 var(--mono);letter-spacing:.01em;margin:12px 0 0}.landing__coverage{width:min(calc(100% - 48px),var(--content));background:var(--canvas);margin:auto;padding:32px 0}.landing__coverage h2{letter-spacing:-.055em;max-width:18ch;margin:0;font-size:clamp(1.75rem,7vw,2.75rem);line-height:1.06}.landing__coverage-lead{max-width:42rem;color:var(--muted);margin:12px 0 0;line-height:1.58}.landing__coverage-action{min-height:48px;color:var(--accent);align-items:center;gap:18px;margin-top:18px;font-weight:750;display:inline-flex}.coverage-matrix{border-top:1px solid var(--line);margin-top:28px}.coverage-matrix__header,.coverage-matrix__row{grid-template-columns:minmax(8rem,1.65fr) repeat(var(--coverage-course-count,4),minmax(3.5rem,1fr));align-items:center;gap:8px;display:grid}.coverage-matrix__header{min-height:38px;color:var(--muted);font:600 .75rem/1.2 var(--mono);letter-spacing:.04em}.coverage-matrix__header span:not(:first-child){text-align:center}.coverage-matrix__row{border-top:1px solid var(--line);grid-template-rows:3rem auto;min-height:96px;padding:14px 0}.coverage-matrix__row[data-has-content=true]{grid-template-rows:3rem auto auto}.coverage-matrix__faculty{grid-row:1/-1;gap:3px;min-width:0;display:grid}.coverage-matrix__faculty strong{letter-spacing:-.04em;font-size:1.2rem}.coverage-matrix__faculty span{color:var(--muted);font-size:.75rem;line-height:1.35}.coverage-matrix__course{grid-row:1/-1;grid-template-rows:subgrid;align-self:stretch;justify-items:center;gap:8px;min-width:0;display:grid}.coverage-glyph{width:3rem;height:3rem;color:var(--accent);display:block;overflow:visible}.coverage-glyph__notes{fill:none;stroke:currentColor;stroke-width:2px;transition:stroke var(--dur-fast) var(--ease-soft),opacity var(--dur-fast) var(--ease-soft)}.coverage-glyph__core{fill:currentColor;transition:fill var(--dur-fast) var(--ease-soft),opacity var(--dur-fast) var(--ease-soft)}.coverage-glyph__user{stroke:currentColor;stroke-width:2px;stroke-linecap:round}.coverage-glyph__notes[data-inactive=true]{stroke:var(--line);opacity:.9}.coverage-glyph__core[data-inactive=true]{fill:var(--line);opacity:.9}.coverage-matrix__counts{max-width:8.5rem;color:var(--muted);font:500 .75rem/1.3 var(--mono);text-align:center;display:none}.coverage-matrix__row[data-has-content=true] .coverage-matrix__counts,.coverage-matrix__counts>span{display:block}.coverage-matrix__scale{max-width:56rem;color:var(--muted);margin:10px 0 0;font-size:.75rem;line-height:1.55}.coverage-matrix__legend{color:var(--muted);flex-wrap:wrap;gap:10px 20px;margin-top:16px;font-size:.75rem;display:flex}.coverage-matrix__legend span{align-items:center;gap:7px;display:inline-flex}.coverage-matrix__legend i{color:var(--accent);flex:none;display:block}.coverage-matrix__legend i[data-signal=schedule]{background:currentColor;border-radius:50%;width:7px;height:7px}.coverage-matrix__legend i[data-signal=notes]{border:1.75px solid;border-radius:50%;width:13px;height:13px}.coverage-matrix__legend i[data-signal=users]{background:currentColor;width:2px;height:10px;margin-right:13px;box-shadow:5px 0,10px 0}@media (max-width:599px){.coverage-matrix__header,.coverage-matrix__row{grid-template-columns:repeat(var(--coverage-course-count,4),minmax(0,1fr));gap:10px 8px}.coverage-matrix__header{padding:10px 0}.coverage-matrix__header>span:first-child{grid-column:1/-1}.coverage-matrix__row,.coverage-matrix__row[data-has-content=true]{grid-template-rows:auto 2.35rem auto;min-height:0;padding:14px 0}.coverage-matrix__faculty{grid-area:1/1/auto/-1}.coverage-matrix__faculty strong{font-size:1rem}.coverage-matrix__faculty span,.coverage-matrix__course-word,.coverage-matrix__row[data-has-content=true] .coverage-matrix__counts{display:none}.coverage-matrix__course{grid-row:2/-1}.coverage-glyph{width:2.35rem;height:2.35rem}}@media (prefers-reduced-motion:reduce){.coverage-glyph circle{transition:none}}.coverage-details__intro{max-width:43rem;color:var(--muted);margin:-18px 0 30px;line-height:1.55}.coverage-details__tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:24px;min-height:48px;display:flex;overflow-x:auto}.coverage-details__tabs::-webkit-scrollbar{display:none}.coverage-details__tabs button{min-width:max-content;min-height:48px;color:var(--muted);font:750 1rem/1 var(--font);cursor:pointer;background:0 0;border:0;padding:0;position:relative}.coverage-details__tabs button:after{background:var(--accent);content:"";opacity:0;height:2px;transition:opacity var(--dur-fast) var(--ease-soft),transform var(--dur-fast) var(--ease-soft);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(.35)}.coverage-details__tabs button.is-active{color:var(--ink)}.coverage-details__tabs button.is-active:after{opacity:1;transform:scaleX(1)}.coverage-details__course>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:20px;padding:30px 0 13px;display:flex}.coverage-details__course>header h2{letter-spacing:-.045em;margin:0;font-size:clamp(1.45rem,4vw,2rem)}.coverage-details__course>header span{color:var(--muted);font:500 .75rem/1.3 var(--mono)}.coverage-details__group{border-bottom:1px solid var(--line)}.coverage-details__group summary{cursor:pointer;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr) 24px;align-items:center;gap:20px;min-height:72px;padding:10px 0;list-style:none;display:grid;position:relative}.coverage-details__group summary::-webkit-details-marker{display:none}.coverage-details__group summary>strong{letter-spacing:-.02em;font-size:1rem}.coverage-details__signals{grid-template-columns:repeat(auto-fit,minmax(min(100%,5.5rem),1fr));gap:12px;min-width:0;display:grid}.coverage-details__signal{min-width:0;color:var(--muted);align-items:center;gap:8px;display:flex}.coverage-details__signal>i{background:var(--line);border-radius:4px;flex:none;width:22px;height:4px}.coverage-details__signal[data-available=true]>i{background:var(--accent)}.coverage-details__signal span{overflow-wrap:anywhere;gap:2px;min-width:0;display:grid}.coverage-details__signal b{color:var(--ink);font-size:.75rem}.coverage-details__signal small{font-size:.6875rem}.coverage-details__chevron{color:var(--accent);font:500 1.15rem/1 var(--mono);text-align:right;transition:transform var(--dur-fast) var(--ease-soft)}.coverage-details__group[open] .coverage-details__chevron{transform:rotate(45deg)}.coverage-details__group>p{max-width:42rem;color:var(--muted);margin:0;padding:0 0 18px;font-size:.875rem;line-height:1.55}.coverage-details__updated{color:var(--muted);font:500 .75rem/1.4 var(--mono);margin:24px 0 40px}.coverage-details__empty{border-bottom:1px solid var(--line);color:var(--muted);padding:28px 0}@media (max-width:699px){.coverage-details__intro{margin-top:-10px}.coverage-details__group summary{grid-template-columns:1fr 22px;gap:8px 12px;min-height:86px}.coverage-details__signals{grid-area:2/1/auto/-1;grid-template-columns:repeat(auto-fit,minmax(min(100%,5.5rem),1fr));gap:7px;padding-bottom:5px}.coverage-details__chevron{grid-area:1/2}.coverage-details__signal{gap:5px}.coverage-details__signal>i{width:14px}.coverage-details__signal b{font-size:.6875rem}.coverage-details__signal small{font-size:.625rem}}@media (prefers-reduced-motion:reduce){.coverage-details__tabs button:after,.coverage-details__chevron{transition:none}}.landing__chat{gap:6px;max-width:38rem;margin-top:28px;display:grid}.landing__chat-thread{gap:6px;display:grid}.landing__chat-message{border:1px solid var(--line);background:var(--surface);width:max-content;max-width:min(86%,30rem);color:var(--ink);border-radius:16px;padding:8px 14px 6px;position:relative;box-shadow:0 1px #14261c08}.landing__chat-message--left{border-bottom-left-radius:5px}.landing__chat-message--potok{border-color:var(--accent-subtle);background:var(--accent-subtle);border-bottom-right-radius:5px;justify-self:end;max-width:min(92%,34rem)}.landing__chat-author{color:var(--accent);font:600 .75rem/1.2 var(--mono);margin-bottom:2px;display:block}.landing__chat-message p{margin:0;font-size:.9375rem;line-height:1.3}.landing__chat-message time{color:var(--muted);font:500 .75rem/1 var(--mono);text-align:right;margin-top:3px;display:block}.landing__chat-record{border-top:1px solid color-mix(in srgb, var(--pine-accent) 60%, transparent);gap:4px;margin-top:8px;padding-top:8px;display:grid}.landing__chat-record strong{letter-spacing:-.02em;font-size:1.08rem}.landing__chat-record span{color:var(--muted);font-size:.75rem}.landing__situations h2{letter-spacing:-.055em;font-size:clamp(1.75rem,7vw,2.75rem);line-height:1.06}@media (max-width:600px){.landing__chat-message{max-width:92%}}@media (min-width:800px){.landing__chat{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;column-gap:28px;max-width:48rem}.landing__chat-message{max-width:100%}.landing__chat-message--potok{justify-self:stretch;width:auto}}@media (min-width:600px){.landing__situations{width:min(100%,80rem);padding-left:max(42px,8vw);padding-right:max(42px,8vw)}}@media (min-width:1024px){.landing__situations{width:auto;margin:0;padding:clamp(28px,3vw,44px) clamp(32px,4vw,64px)}}@media (min-width:600px){.landing__coverage{width:min(100%,80rem);padding-left:max(42px,8vw);padding-right:max(42px,8vw)}}@media (min-width:1024px){.landing__coverage{width:auto;margin:0;padding:clamp(28px,3vw,44px) clamp(32px,4vw,64px)}}.editorial-note{margin-top:8px}.editorial-takeaway{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0 26px}.editorial-label{color:var(--accent);font:600 .875rem/1.35 var(--mono);text-transform:lowercase;letter-spacing:.06em;margin:0 0 8px}.editorial-takeaway>p:last-child{max-width:42rem;margin:0;font-size:1.1rem;line-height:1.55}.editorial-section{border-bottom:1px solid var(--line);padding:26px 0}.editorial-section h2{margin:0 0 14px}.editorial-section p{margin:0 0 12px;line-height:1.65}.editorial-section p:last-child{margin-bottom:0}.editorial-section ul{gap:8px;margin:14px 0 0;padding-left:20px;line-height:1.55;display:grid}.editorial-formula{background:var(--soft);padding:12px 16px;overflow:auto}.editorial-formula code{font:500 1rem/1.5 var(--mono)}.editorial-diagram__steps{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));list-style:none;gap:8px!important;padding:0!important;display:grid!important}.editorial-diagram__steps li{border:1px solid var(--line);background:var(--soft);gap:10px;min-height:92px;padding:14px;display:grid}.editorial-diagram__steps span{color:var(--accent);font:500 .75rem/1 var(--mono)}.editorial-diagram__steps strong{font-size:.875rem;line-height:1.35}.editorial-memory{border-bottom:0}.editorial-next-step{border-top:1px solid var(--line)}.editorial-sources ul{padding:0;list-style:none}.editorial-sources li{border-top:1px solid var(--line);gap:4px;padding:12px 0;display:grid}.editorial-sources li:last-child{border-bottom:1px solid var(--line)}.editorial-sources a{color:var(--accent);font-weight:700}.editorial-sources span{color:var(--muted);font-size:.8125rem}.notes-index{margin:0 0 40px}.notes-index__rows{border-top:1px solid var(--line)}.notes-index__row{border-bottom:1px solid var(--line);gap:4px;padding:16px 28px 16px 4px;display:grid;position:relative}.notes-index__row:hover{background:var(--soft)}.notes-index__row strong{font-size:.9375rem}.notes-index__row>span:last-of-type{max-width:52rem;color:var(--muted);font-size:.8125rem;line-height:1.45}.notes-index__row b{color:var(--accent);position:absolute;top:50%;right:4px;transform:translateY(-50%)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.lecture-materials{padding-top:26px}.lecture-materials h2{border-bottom:1px solid var(--line);margin:0;padding-bottom:12px}.lecture-materials .materials-list{border-top:0}.lecture-materials .materials-list li>a{min-height:54px}.lecture-materials .materials-list small{text-align:right;max-width:24rem;line-height:1.4}.material-photo-disclosure{border-top:1px solid var(--line);margin-top:4px}.material-photo-disclosure summary{min-height:48px;color:var(--accent);cursor:pointer;align-items:center;font-size:.75rem;font-weight:750;list-style:none;display:flex}.material-photo-disclosure summary::-webkit-details-marker{display:none}.material-photo-disclosure summary:before{content:"+";width:1.1rem;color:var(--muted);font:600 1rem/1 var(--mono)}.material-photo-disclosure[open] summary:before{content:"−"}.material-photo{width:min(100%,34rem);margin:0 0 18px}.material-photo img{width:100%;height:auto;display:block}.page-head__line{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"title search context";align-items:center;gap:10px;padding-bottom:16px;display:grid}.page-head__title-row{grid-area:title;min-width:0}.page-head__search{min-width:48px;max-width:13rem;min-height:48px;color:var(--muted);font:600 .75rem/1.35 var(--mono);text-align:right;cursor:pointer;background:0 0;border:0;grid-area:search;justify-content:flex-end;align-items:center;gap:10px;padding:0;display:none}.page-head__search-label{color:color-mix(in srgb, var(--accent) 45%, var(--canvas));transform:translateY(6px)}.page-head__search svg{width:19px;height:19px;color:var(--accent);flex:none}.page-head__search:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.page-head__context{flex-shrink:0;grid-area:context;align-items:flex-start;display:flex}.page-head__context .calendar-date{border-left:1px solid var(--line);text-align:right;flex-direction:row;align-items:flex-start;gap:10px;padding-left:14px}.mobile-header__search{width:48px;height:48px;color:var(--accent);cursor:pointer;background:0 0;border:0;flex:0 0 48px;justify-content:center;align-items:center;padding:0;display:flex}.mobile-header__actions{align-items:center;gap:4px;display:flex}.page-head__context .calendar-date b{font-size:clamp(1.25rem,5vw,1.625rem)}@media (min-width:640px){.page-head__line--with-context{gap:12px}.page-head__context .calendar-date b{font-size:clamp(1.5rem,6vw,2rem)}}@media (min-width:1024px){.page-head__search{display:inline-flex}}@media (max-width:380px){.page-head__search{max-width:48px}.page-head__search span{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}}@media (min-width:1024px) and (max-height:760px){.app-background{padding:16px}.desktop-rail{width:clamp(225px,17vw,258px);padding-block:18px;inset:16px auto 16px 16px}.app-surface{overscroll-behavior-y:contain;height:calc(100svh - 32px);min-height:calc(100svh - 32px);margin-left:clamp(225px,17vw,258px);padding-top:32px;padding-bottom:32px;overflow-y:auto}}.legal-nav{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px 20px;margin:-16px 0 34px;padding-bottom:16px;display:flex}.legal-nav a{min-height:40px;color:var(--muted);align-items:center;font-size:.8125rem;font-weight:700;display:inline-flex}.legal-nav a.is-active{color:var(--accent)}.legal-document{max-width:44rem}.legal-document section{border-top:1px solid var(--line);padding:26px 0}.legal-document h2{letter-spacing:-.03em;margin:0 0 12px;font-size:1.125rem}.legal-document p{max-width:42rem;margin:0 0 12px;font-size:.9375rem;line-height:1.7}.legal-document a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.legal-document footer{color:var(--muted);flex-wrap:wrap;gap:10px 24px;padding:20px 0;font-size:.75rem;display:flex}.analytics-consent{z-index:5;background:var(--pine);color:var(--pine-light);pointer-events:none;border:1px solid #9fe0b938;border-radius:16px;padding:12px 14px;box-shadow:0 12px 28px #00000029}.analytics-consent--corner{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));left:max(16px,env(safe-area-inset-left));width:auto;max-width:400px;margin:0;position:fixed}.analytics-consent>*{pointer-events:auto}.analytics-consent__copy{pointer-events:none}.analytics-consent p{margin:0 0 8px;font-size:.8125rem;line-height:1.45}.analytics-consent div{flex-wrap:wrap;align-items:center;gap:2px 4px;display:flex}.analytics-consent button,.analytics-consent a{color:#fff;min-width:48px;min-height:48px;font:700 .75rem var(--sans);background:0 0;border:0;border-radius:10px;align-items:center;padding:0 12px;text-decoration:none;transition:background-color .16s,color .16s;display:inline-flex}.analytics-consent button:first-child{background:var(--accent);color:var(--on-accent)}.analytics-consent button:first-child:hover{background:var(--accent-hover)}.analytics-consent button:nth-child(2),.analytics-consent a{color:var(--pine-light);text-underline-offset:3px;text-decoration:underline}.analytics-consent button:nth-child(2):hover,.analytics-consent a:hover{color:#fff}@media (min-width:600px) and (max-width:1023px){.analytics-consent--corner{--consent-edge:clamp(20px,3vw,24px);right:auto;bottom:max(var(--consent-edge),env(safe-area-inset-bottom));left:max(var(--consent-edge),env(safe-area-inset-left));width:min(400px,calc(100vw - 2 * var(--consent-edge)))}}@media (min-width:1024px){body:has(.app-background) .analytics-consent--corner{--consent-shell:max(clamp(24px,2.2vw,32px),calc(32px + (100vw - 1920px) / 2));--consent-rail:clamp(225px,17vw,258px);right:auto;left:calc(var(--consent-shell) + var(--consent-rail) + 24px);width:min(400px,calc(100vw - 2 * var(--consent-shell) - var(--consent-rail) - 48px));bottom:calc(clamp(24px,2.2vw,32px) + 24px)}}@media (min-width:1024px) and (max-width:1199px){body:has(.landing) .analytics-consent--corner{width:auto;max-width:none;bottom:24px;left:24px;right:24px}body:has(.landing) .analytics-consent{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding-block:8px;display:grid}body:has(.landing) .analytics-consent p{margin-bottom:0}body:has(.landing) .analytics-consent div{flex-wrap:nowrap}}@media (min-width:1200px){body:has(.landing) .analytics-consent--corner{--consent-shell:max(clamp(24px,2.2vw,32px),calc(32px + (100vw - 1920px) / 2));right:auto;left:calc(var(--consent-shell) + 24px);width:min(400px,36vw - 80px);bottom:calc(clamp(24px,2.2vw,32px) + 24px)}}.analytics-consent{animation:consent-in .42s var(--ease-soft) both}.analytics-consent--leaving{pointer-events:none;animation:.24s cubic-bezier(.4,0,1,1) both consent-out}@keyframes consent-in{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:none}}@keyframes consent-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(12px)scale(.98)}}@media (prefers-reduced-motion:reduce){.analytics-consent{animation:.2s linear both consent-fade-in}.analytics-consent--leaving{animation:.2s linear both consent-fade-out}}@keyframes consent-fade-in{0%{opacity:0}to{opacity:1}}@keyframes consent-fade-out{0%{opacity:1}to{opacity:0}}.analytics-settings-link{color:var(--accent);font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;text-decoration:underline}.editorial-diagram__visual{border:1px solid var(--line);background:var(--soft);margin:20px 0 24px;padding:18px 8px 4px;overflow:hidden}.editorial-diagram__visual svg{width:100%;min-width:0;height:auto;display:block}.diagram-line{stroke:var(--accent);stroke-width:2px;stroke-dasharray:4 5}.diagram-node{fill:var(--surface);stroke:var(--accent);stroke-width:2px}.editorial-diagram__visual text{fill:var(--accent);font:600 11px var(--mono)}.editorial-diagram__visual foreignObject div{color:var(--ink);font:600 11px/1.25 var(--sans);text-align:center}.editorial-diagram__visual--logic .diagram-node{fill:var(--accent-subtle)}.editorial-diagram__visual--economics .diagram-line{stroke-dasharray:none}.schedule-row a.schedule-row__link{color:var(--ink)}.schedule-row__link{min-width:0;color:inherit;grid-column:1/-1;grid-template-columns:4rem minmax(0,1fr);align-content:start;gap:12px;text-decoration:none;display:grid}.schedule-row__link>div{align-content:start;gap:4px;min-width:0;display:grid}.schedule-row__note{color:var(--accent);font-size:.8125rem;font-weight:750}.schedule-row__shared{color:var(--accent);font-size:.75rem;font-weight:650}.schedule-row__status{color:var(--muted);font-size:.75rem}.schedule__day li>div{align-content:start;gap:4px;min-width:0;display:grid}@media (min-width:600px){.schedule-row__link{grid-template-columns:5rem minmax(0,1fr)}}.editorial-diagram__visual .diagram-grid{fill:var(--surface);stroke:var(--accent);stroke-width:2px}.editorial-diagram__visual .diagram-grid-lines{stroke:var(--line);stroke-width:1px}.editorial-diagram__visual .diagram-axis,.editorial-diagram__visual .diagram-curve{fill:none;stroke:var(--accent);stroke-width:2px}.editorial-diagram__visual .diagram-arrow{stroke:var(--accent);stroke-width:2px;marker-end:url(#arrow)}.editorial-diagram__visual--relation .diagram-relation-edge{fill:none;marker-end:url(#relation-arrow)}.editorial-diagram__visual--relation marker path{fill:var(--accent)}.editorial-diagram__visual .diagram-sheet{fill:var(--surface);stroke:var(--ink);stroke-width:2px}.editorial-diagram__visual .diagram-frame,.editorial-diagram__visual .diagram-titleblock{fill:none;stroke:var(--accent);stroke-width:2px}.editorial-diagram__visual .diagram-dimension-line{fill:none;stroke:var(--muted);stroke-width:1px}.editorial-diagram__visual .diagram-visible-line{fill:none;stroke:var(--ink);stroke-width:2px}.editorial-diagram__visual .diagram-hidden-line{fill:none;stroke:var(--ink);stroke-width:1.25px;stroke-dasharray:7 5}.editorial-diagram__visual .diagram-center-line{fill:none;stroke:var(--accent);stroke-width:1px;stroke-dasharray:10 3 2 3}.editorial-diagram__visual .diagram-projection-guide{fill:none;stroke:var(--muted);stroke-width:1px;stroke-dasharray:3 5}.landing__meta{color:var(--muted);font:500 .8125rem/1.45 var(--sans);letter-spacing:0}.lecture-detail__context{color:var(--muted);flex-wrap:wrap;gap:5px 12px;margin:12px 0 38px;font-size:.9375rem;line-height:1.45;display:flex}.lecture-detail__shared{color:var(--accent);font-weight:650}.lecture-detail__context span+span:before,.lecture-detail__context time:before,.notes-index__context span+span:before,.notes-index__context time:before{color:var(--line);content:"·";margin-right:12px}.lecture-detail__context time,.notes-index__context time{font:600 .8125rem/1.45 var(--mono)}.lecture-row__subject{color:var(--muted);font:700 .75rem/1.35 var(--sans)}.lecture-row__arrow{color:var(--accent)}.notes-index__context{color:var(--muted);flex-wrap:wrap;gap:5px 12px;font-size:.8125rem;line-height:1.4;display:flex}.notes-index__context span+span,.notes-index__context time{position:relative}.notes-index__meta{color:var(--muted);font:500 .8125rem/1.4 var(--sans)}.content-kicker,.notice-row__kind{color:var(--muted);font-family:var(--sans);text-transform:none;letter-spacing:0}.editorial-label{color:var(--muted);font-family:var(--sans)}.schedule-row time{color:var(--ink)}.schedule-pair-badge{color:var(--muted);font:500 .75rem/1.4 var(--sans);white-space:nowrap;background:0 0;border:0;flex:none;display:inline-block}.schedule-row time .schedule-pair-badge,.schedule__day time .schedule-pair-badge,.agenda-table time .schedule-pair-badge{color:var(--muted);opacity:1;order:-1;margin-top:0;margin-bottom:5px}.schedule-lesson-meta{flex-wrap:wrap;align-items:center;gap:4px 7px;min-width:0;margin-bottom:2px;display:flex}.schedule-lesson-time{color:var(--muted);font:500 .75rem/1.3 var(--mono);white-space:nowrap}.week-matrix__lesson span.schedule-pair-badge{font-size:.75rem}.week-matrix .schedule-lesson-time{display:none}@media (prefers-reduced-motion:reduce){.schedule-display-settings__fields,.schedule-display-settings__fields-inner,.schedule-display-settings__chevron{transition:none}}.schedule-hub{grid-template-columns:minmax(0,1fr);gap:24px;display:grid}.schedule-hub__switch{border-bottom:1px solid var(--line);gap:20px;display:flex}.schedule-hub__switch button{min-height:48px;color:var(--muted);font:700 .8125rem/1 var(--sans);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;min-width:48px;min-height:48px;padding:0}.schedule-hub__switch button.is-active{color:var(--ink);border-bottom-color:var(--accent)}.schedule-hub__switch{scrollbar-width:none;overflow-x:auto}.schedule-hub__switch::-webkit-scrollbar{display:none}.week-matrix__toolbar{grid-template-columns:minmax(48px,1fr) auto minmax(48px,1fr);align-items:center;gap:12px;margin-bottom:16px;display:grid}.week-matrix__nav-button{min-width:48px;min-height:48px;color:var(--muted);font:650 .8125rem/1.3 var(--mono);cursor:pointer;transition:color var(--dur-fast) var(--ease-soft),transform var(--dur-fast) var(--ease-soft);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 8px;display:inline-flex}.week-matrix__nav-button--previous{justify-self:start}.week-matrix__nav-button--next{justify-self:end}.week-matrix__nav-button:disabled{opacity:.35;cursor:default}.week-matrix__nav-button:not(:disabled):active{transform:scale(.96)}.week-matrix__nav-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.week-matrix__nav-icon{font-size:1.375rem;font-weight:400;line-height:1}.week-matrix__nav-label{display:none}.week-matrix__week-label{color:var(--ink);font:600 .8125rem/1.3 var(--mono);text-align:center}.week-matrix__scroll{border-top:1px solid var(--line);border-bottom:1px solid var(--line);scrollbar-width:thin;overflow-x:auto}.week-matrix__grid{grid-template-columns:4.25rem repeat(var(--week-days),minmax(9.5rem,1fr));min-width:720px;display:grid}.week-matrix__grid>*{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.week-matrix__row{display:contents}.week-matrix__corner,.week-matrix__time{color:var(--muted);font:600 .875rem/1.35 var(--mono);padding:12px 8px}.week-matrix__time{background:var(--soft);flex-direction:column;align-items:flex-start;gap:2px;display:flex}.week-matrix__time span{opacity:.8;color:var(--muted);font-weight:500}.week-matrix__time b{color:var(--ink);font-weight:700}.week-matrix__time .schedule-pair-badge{color:var(--muted);opacity:1;order:-1;margin-top:0;margin-bottom:5px}.week-matrix__day{color:var(--ink);background:var(--soft);gap:3px;padding:12px 10px;font-size:.875rem;display:grid}.week-matrix__day b{font-size:.8125rem}.week-matrix__day span{color:var(--muted);font:500 .875rem/1.3 var(--mono)}.week-matrix__slot{background:var(--canvas);min-height:84px;padding:7px}.week-matrix__lesson{background:var(--surface,#fff);min-height:68px;color:var(--ink);overflow-wrap:anywhere;align-content:start;gap:4px;padding:9px 8px;font-size:.875rem;line-height:1.3;display:grid}.week-matrix__lesson strong{font-size:.75rem;line-height:1.3}.week-matrix__lesson span{color:var(--muted)}.week-matrix__lesson em{color:var(--accent);font-size:.625rem;font-style:normal}.week-matrix__day.is-today,.week-matrix__slot.is-today{background:var(--accent-subtle)}.week-matrix__day.is-today{color:var(--accent-strong);box-shadow:inset 0 3px 0 var(--accent)}.week-matrix__today-label{color:var(--accent-strong);font:700 .75rem/1.3 var(--sans)}.week-matrix__slot.is-today .week-matrix__lesson{background:0 0}.week-matrix__hint{color:var(--muted);font:500 .875rem/1.4 var(--mono);margin:12px 0 0}.week-matrix--official .week-matrix__lesson{background:0 0;padding:4px;font-size:.75rem}.week-matrix--official .week-matrix__lesson strong{font-size:.75rem}.week-matrix--official .week-matrix__lesson{gap:2px}.week-matrix--official .week-matrix__slot{padding-block:6px}.week-matrix--official .schedule-lesson-meta{margin-bottom:0}.week-matrix--official .week-matrix__lesson span.schedule-pair-badge{font-size:.75rem}.week-three-days{gap:28px;display:grid}.week-three-days__chunk{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}.week-three-days__head,.week-three-days__columns{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.week-three-days__head{background:var(--soft)}.week-three-days__head a{border-right:1px solid var(--line);color:var(--muted);font:600 .75rem/1.2 var(--mono);gap:4px;padding:12px 10px;display:grid}.week-three-days__head strong{color:var(--ink);font:700 1.25rem/1 var(--sans)}.week-three-days__columns>div{border-right:1px solid var(--line);align-content:start;gap:8px;min-height:110px;padding:8px;display:grid}.week-three-days__columns .week-matrix__lesson{min-height:0;font-size:.75rem;line-height:1.4}.week-three-days__empty{color:var(--muted);font:700 1rem/1 var(--mono)}@media (min-width:600px){.week-matrix__nav-button{padding-inline:4px}.week-matrix__nav-label{display:inline}.week-matrix__nav-icon{font-size:1.125rem}.week-matrix__grid{grid-template-columns:5.5rem repeat(var(--week-days),minmax(8.5rem,1fr));min-width:0}.week-matrix__slot{min-height:96px;padding:9px}.week-matrix__lesson{font-size:.75rem}.week-matrix__lesson strong{font-size:.8125rem}.week-three-days__columns>div{min-height:130px;padding:12px}}@media (hover:hover) and (pointer:fine){.week-matrix__nav-button:not(:disabled):hover{color:var(--accent)}.week-matrix__day:hover,.week-matrix__lesson:hover{background:var(--soft)}.week-three-days__head a:hover{color:var(--accent)}}.week-agenda__top,.week-agenda__today-link{min-height:48px;color:var(--accent);font:750 .8125rem/1 var(--sans);cursor:pointer;background:0 0;border:0;align-items:center;padding:8px 0;display:inline-flex}.week-agenda__top{margin-left:auto}.week-agenda__top:hover,.week-agenda__today-link:hover{color:var(--ink)}.week-agenda__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px;margin-bottom:-20px;display:flex}.editorial-sources a{align-items:center;min-height:48px;display:inline-flex}.group-overlay{z-index:20;padding:max(24px, env(safe-area-inset-top)) 24px max(24px, env(safe-area-inset-bottom));color:var(--pine-light);isolation:isolate;background:0 0;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden auto}.group-overlay:before{z-index:0;background:var(--pine);content:"";pointer-events:none;position:absolute;inset:0}.group-overlay--opening:before{animation:group-overlay-wave-open var(--group-wave-duration) var(--group-wave-open-ease) both;will-change:clip-path}.group-overlay__panel{z-index:2;gap:16px;width:min(100%,34rem);display:grid;position:relative}.group-overlay--opening .group-overlay__panel{animation:group-overlay-panel-open var(--motion-expand) var(--ease-soft) calc(var(--group-wave-duration) * var(--wave-panel-in)) both}.group-overlay--leaving:before{animation:group-overlay-wave-close var(--group-wave-duration) var(--ease-soft) .18s both;will-change:clip-path}.group-overlay--leaving .group-overlay__panel{pointer-events:none;animation:.18s cubic-bezier(.4,0,1,1) both group-overlay-panel-close}.group-overlay h2{letter-spacing:-.06em;margin:0;font-size:clamp(2rem,8vw,3rem);font-weight:600;line-height:1}.group-overlay__lead{max-width:34rem;color:color-mix(in srgb, var(--pine-light) 80%, transparent);margin:-2px 0 8px;line-height:1.55}.course-trajectory{min-width:0;color:var(--pine-light);border:0;margin:0;padding:0;position:relative}.course-trajectory legend{width:100%;color:color-mix(in srgb, var(--pine-light) 80%, transparent);font:600 .75rem/1.3 var(--mono);padding:0}.course-trajectory__current{float:right;font:500 .75rem/1.3 var(--mono)}.course-trajectory__track{grid-template-columns:repeat(var(--course-count), minmax(0, 1fr));margin-top:8px;display:grid;position:relative}.course-trajectory__track:before{content:"";top:22px;left:calc(50% / var(--course-count));right:calc(50% / var(--course-count));background:color-mix(in srgb, var(--pine-light) 30%, transparent);height:1px;position:absolute}.course-trajectory__stop{cursor:pointer;flex-direction:column;align-items:center;gap:10px;min-height:64px;padding-top:17px;display:flex;position:relative}.course-trajectory__stop input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.course-trajectory__dot{border:1px solid color-mix(in srgb, var(--pine-light) 65%, transparent);background:var(--pine);border-radius:50%;width:11px;height:11px}.course-trajectory__number{font:500 .875rem/1.3 var(--mono);color:color-mix(in srgb, var(--pine-light) 65%, transparent);transition:color var(--dur-fast)}.course-trajectory__stop input:checked~.course-trajectory__number{color:var(--pine-light)}.course-trajectory__stop input:focus-visible~.course-trajectory__dot{outline:2px solid var(--pine-light);outline-offset:6px}.course-trajectory__marker{top:16px;left:calc((var(--course-index) + .5) * 100% / var(--course-count));background:var(--pine-accent);pointer-events:none;width:13px;height:13px;transition:left var(--dur-base) var(--ease-soft);border-radius:50%;position:absolute;transform:translate(-50%)}@media (hover:hover){.course-trajectory__stop:hover .course-trajectory__number{color:var(--pine-light)}}@media (prefers-reduced-motion:reduce){.course-trajectory__marker,.course-trajectory__number{transition:none}}.group-overlay__field{gap:8px;display:grid;position:relative}.group-overlay__field label{color:color-mix(in srgb, var(--pine-light) 80%, transparent);font:600 .75rem/1.3 var(--mono)}.group-overlay__field:after{border-right:2px solid var(--pine-accent);border-bottom:2px solid var(--pine-accent);content:"";pointer-events:none;width:9px;height:9px;position:absolute;bottom:19px;right:19px;transform:rotate(45deg)translateY(-2px)}.group-overlay__field select{border:1px solid color-mix(in srgb, var(--pine-accent) 34%, transparent);background:color-mix(in srgb, var(--pine-light) 8%, var(--pine));width:100%;min-height:54px;color:var(--pine-light);font:650 1rem/1.2 var(--sans);appearance:none;transition:border-color .16s var(--ease), background-color .16s var(--ease), box-shadow .16s var(--ease);border-radius:16px;outline:none;padding:0 48px 0 18px}.group-overlay__field select:focus-visible{border-color:var(--pine-accent);outline:2px solid var(--pine-accent);outline-offset:-2px}.group-overlay__leader,.group-overlay__direction{color:color-mix(in srgb, var(--pine-light) 80%, transparent);margin:-2px 0 0;font-size:.875rem}.group-overlay__confirm,.group-overlay__cancel{background:var(--pine-accent);min-height:50px;color:var(--pine);font:750 1rem/1.3 var(--sans);text-align:center;cursor:pointer;transition:transform .16s var(--ease), background-color .16s var(--ease), opacity .16s var(--ease);border:1px solid #0000;border-radius:16px;padding:0 18px}.group-overlay__confirm{margin-top:2px}.schedule-load-status{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px;margin:0 0 24px;padding:16px 0;display:flex}.schedule-load-status__copy{gap:4px;min-width:0;display:grid}.schedule-load-status__copy strong{color:var(--ink);font:750 .9375rem/1.35 var(--sans)}.schedule-load-status__copy span{color:var(--muted);font:500 .8125rem/1.5 var(--sans)}.schedule-load-status button{min-width:48px;min-height:48px;color:var(--accent);font:750 .8125rem/1.3 var(--sans);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.schedule-load-status button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.group-overlay__confirm:disabled{opacity:.42;cursor:not-allowed}.group-overlay__confirm:not(:disabled):active{transform:scale(.985)}.group-overlay__cancel{border-color:color-mix(in srgb, var(--pine-accent) 30%, transparent);color:color-mix(in srgb, var(--pine-light) 80%, transparent);background:0 0;font-size:.875rem}.group-overlay--leaving{pointer-events:none}@keyframes group-overlay-wave-open{0%{clip-path:circle(0)}to{clip-path:circle(85vmax)}}@keyframes group-overlay-wave-close{0%{clip-path:circle(85vmax)}to{clip-path:circle(0)}}@keyframes group-overlay-panel-open{0%{opacity:0;transform:translate(12px,8px)scale(.985)}to{opacity:1;transform:none}}@keyframes group-overlay-panel-close{0%{opacity:1;transform:none}to{opacity:0;transform:translate(12px,-5vh)scale(.96)}}.group-context{background:var(--soft);min-height:42px;color:var(--muted);border:0;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-top:12px;padding:8px 14px;font-size:.8125rem;line-height:1.45;display:flex}.group-context--empty{visibility:hidden}.group-context__group{font-weight:inherit}.group-context button{min-width:48px;min-height:48px;color:var(--accent);font:750 .8125rem/1.3 var(--sans);cursor:pointer;background:0 0;border:0;justify-content:flex-end;align-items:center;padding:0;display:inline-flex}@media (min-width:600px){.group-context{grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);gap:3px 24px;padding:12px 18px;display:grid}.group-context__details{display:contents}.group-context__group{color:var(--ink);overflow-wrap:anywhere;grid-area:1/1;font-size:1rem;font-weight:750}.group-context__study{grid-area:2/1;font-size:.75rem}.group-context__leader{text-align:center;overflow-wrap:anywhere;grid-area:1/2/3;padding-block:6px}.group-context button{grid-area:1/3/3;justify-self:end}.group-context__separator{display:none}}@media (min-width:1024px){.group-overlay{padding:48px}.group-overlay__panel{width:min(100%,38rem)}}:root{--surface-radius:clamp(32px,3vw,40px);--surface-shadow:-18px 18px 42px #05100a3d,-3px 4px 12px #05100a24}.app-surface,.landing__paper{box-shadow:none}@media (min-width:1024px){.app-surface,.landing__paper{box-shadow:var(--surface-shadow)}.app-surface,.landing__paper,.landing__hero{border-radius:var(--surface-radius)}}.landing__hero{position:relative;overflow:clip hidden}.app-background{position:relative;overflow:clip}.decorative-flow{z-index:0;pointer-events:none;isolation:isolate;color:var(--decorative-flow-color);mix-blend-mode:normal;position:absolute;inset:0;overflow:hidden}.decorative-flow svg{width:100%;min-width:720px;height:100%;display:block}.decorative-flow--landing{opacity:1}.decorative-flow--app{opacity:.85}.decorative-flow--landing svg{transform-origin:50%;transform:scaleY(-1)}.decorative-flow--app .decorative-flow__path--0{transform:translateY(clamp(500px,70vh,792px))}.landing__hero>:not(.decorative-flow),.app-background>.app-surface,.app-background>.app-surface>*{z-index:1;position:relative}.landing{overflow-x:clip}@media (max-width:599px){.app-background>.decorative-flow{display:none}}@media (min-width:1024px){.landing>.page-reveal--content{animation:none!important;transform:none!important}.landing{overflow-x:visible}.landing__hero{align-self:start;width:calc(36vw - clamp(24px,2.2vw,32px)/1.38889 - clamp(18px,2vw,32px)/2.77778);height:calc(100svh - 2*clamp(24px,2.2vw,32px));min-height:0;position:fixed;top:clamp(24px,2.2vw,32px);left:clamp(24px,2.2vw,32px)}.landing__paper{grid-column:2}.app-background>.decorative-flow{position:fixed;inset:0}}:root{font-variant-emoji:text}.landing__hero-copy{transform:translateY(clamp(1rem,3.5vh,3rem))}@media (min-width:1024px){.landing{overflow-x:clip}.landing>.page-reveal{isolation:isolate;position:relative}.landing__hero{z-index:0;overflow:visible}.landing__hero>.decorative-flow--landing{z-index:0;inset:-18% -48% -18% -16%;overflow:visible}.landing__hero>.decorative-flow--landing svg{width:118%;min-width:960px;height:136%;transform:translate(-4%,-8%)scaleY(-1)}.landing__paper{z-index:1;position:relative}}.notice-group+.notice-group{margin-top:24px}.notice-group__title{color:var(--muted);font:600 12px/1.3 var(--mono);text-transform:lowercase;letter-spacing:.04em;margin:0 0 10px}.group-overlay{isolation:isolate;overflow-x:hidden}.group-overlay>.decorative-flow{opacity:.4}.group-overlay>.decorative-flow svg{min-width:0}.group-overlay__panel{z-index:1;position:relative}@media (max-width:599px){.landing__hero{min-height:min(100svh,40rem);padding:max(20px, env(safe-area-inset-top)) 20px max(28px, env(safe-area-inset-bottom));border-radius:0 0 32px 32px}.landing__hero>.decorative-flow--landing{opacity:.68;inset:0}.landing__hero>.decorative-flow--landing svg{width:100%;min-width:0;height:100%;transform:none}.group-overlay{padding:max(24px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));place-items:center}.group-overlay>.decorative-flow{opacity:.34;inset:0}.group-overlay>.decorative-flow svg{width:100%;height:100%;transform:none}.group-overlay>.decorative-flow .decorative-flow__path--0{transform:translateY(260px)}.group-overlay__panel{gap:14px;width:min(100%,26rem);padding-block:8px}.group-overlay h2{font-size:clamp(2.25rem,12vw,3rem)}.group-overlay__lead{margin:0 0 6px;font-size:.9375rem}.group-overlay__field{gap:7px}.group-overlay__field select{border-radius:16px;min-height:54px}.group-overlay__field:after{bottom:18px;right:18px}.group-overlay__leader,.group-overlay__direction{margin:-2px 0 2px}.group-overlay__confirm,.group-overlay__cancel{width:100%}.group-context{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:0 12px;margin-top:16px;padding:10px 14px;display:grid}.group-context__details{grid-template-columns:minmax(0,1fr);gap:4px;min-width:0;display:grid}.group-context__group{color:var(--ink);overflow-wrap:anywhere;grid-row:1;font-size:1rem;font-weight:750;line-height:1.5}.group-context__study{grid-row:2;font-size:.75rem}.group-context__leader{border-top:1px solid var(--line);overflow-wrap:anywhere;margin-top:6px;padding-top:8px;font-size:.75rem}.group-context__separator{display:none}.group-context button{align-self:start;min-height:48px;margin-block:-10px}.group-context button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}}@media (max-width:599px) and (max-height:760px){.group-overlay{padding-block:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-bottom));place-items:start center}.group-overlay__panel{gap:9px;padding-block:0}.group-overlay h2{font-size:2rem}.group-overlay__lead{margin-bottom:1px;font-size:.8125rem;line-height:1.4}.group-overlay__field{gap:4px}.group-overlay__field select{min-height:48px}.group-overlay__field:after{bottom:16px}.group-overlay__leader,.group-overlay__direction{font-size:.75rem}.group-overlay__confirm,.group-overlay__cancel{min-height:50px!important}}.material-row:before{background:var(--accent);content:"";opacity:0;pointer-events:none;width:2px;transition:opacity var(--dur-fast) var(--ease-soft);position:absolute;top:0;bottom:0;left:0}.material-row>a:first-child{padding-left:8px}@media (hover:hover) and (pointer:fine){.material-row:hover{box-shadow:none}.material-row:hover:before{opacity:1}}.materials-list li>a:before{background:var(--accent);content:"";opacity:0;pointer-events:none;width:2px;transition:opacity var(--dur-fast) var(--ease-soft);position:absolute;top:0;bottom:0;left:0}.materials-list li>a{padding-left:8px}@media (hover:hover) and (pointer:fine){.materials-list li>a:hover{box-shadow:none}.materials-list li>a:hover:before{opacity:1}.lecture-row:hover{box-shadow:none}.lecture-row:hover:before{opacity:1}}.lecture-row:before{background:var(--accent);content:"";opacity:0;pointer-events:none;width:2px;transition:opacity var(--dur-fast) var(--ease-soft);position:absolute;top:0;bottom:0;left:0}.lecture-row{padding-left:8px}@media (hover:hover) and (pointer:fine){.lecture-row:hover{box-shadow:none}.lecture-row:hover:before{opacity:1}}.landing__beta-notice{font-size:.75rem;line-height:1.5!important}.schedule-context{min-height:0;margin:0}.week-matrix--official .week-matrix__lesson,.week-matrix--official .week-matrix__lesson strong,.week-matrix--official .week-matrix__lesson span,.week-matrix--official .week-matrix__lesson em{font-size:.75rem}@media (min-width:1024px){.week-matrix__grid{min-width:1120px}}.desktop-rail__footer a{align-items:center;min-width:48px;min-height:48px;display:inline-flex}@media (max-width:1023px){.app-background>.app-surface>.mobile-header{isolation:isolate;background:var(--canvas);box-shadow:none;overflow:visible}.splash-screen__backdrop{will-change:clip-path}}@media (max-width:599px){.app-background>.app-surface>.mobile-header:before{z-index:-1;top:calc(-1 * env(safe-area-inset-top));height:calc(env(safe-area-inset-top) + 1px);background:var(--canvas);content:"";position:absolute;left:0;right:0}}.editorial-formula{background:var(--soft);white-space:pre-wrap;max-width:100%;margin:16px 0;padding:14px 16px;overflow:auto}.editorial-formula code{font:500 1rem/1.6 var(--mono);text-transform:none}.editorial-inline-formula{background:var(--soft);font:500 .92em/1.4 var(--mono);text-transform:none;padding:.08em .28em}.editorial-diagram__visual{background:0 0;border:0;max-width:32rem;margin-inline:auto;padding:16px}.editorial-diagram__flow{counter-reset:none;gap:22px;max-width:32rem;margin:22px auto 0;padding:0;list-style:none;display:grid}.editorial-diagram__flow-step{border:1px solid color-mix(in srgb,var(--accent) 62%,var(--line));background:var(--surface);grid-template-columns:2.25rem minmax(0,1fr);align-items:center;gap:12px;min-height:54px;padding:10px 14px;display:grid;position:relative}.editorial-diagram__flow-step:not(:last-child):after{background:var(--accent);content:"";width:1px;height:23px;position:absolute;top:100%;left:30px}.editorial-diagram__flow-step:not(:last-child):before{z-index:1;border-right:1px solid var(--accent);border-bottom:1px solid var(--accent);content:"";width:7px;height:7px;position:absolute;top:calc(100% + 16px);left:27px;transform:rotate(45deg)}.editorial-diagram__flow-step span{color:var(--accent);font:600 .75rem/1 var(--mono)}.editorial-diagram__flow-step strong{font-size:.875rem;line-height:1.4}.editorial-diagram__visual text{font:500 12px var(--mono);fill:var(--ink)}.editorial-diagram__visual .diagram-box{fill:var(--soft);stroke:var(--accent);stroke-width:1.5px}.editorial-diagram__visual .diagram-secondary{fill:none;stroke:var(--ink);stroke-width:2px}.editorial-diagram__visual .diagram-guide{fill:none;stroke:var(--muted);stroke-width:1px;stroke-dasharray:4 4}.editorial-diagram__steps{flex-direction:column;gap:0!important;display:flex!important}.editorial-diagram__steps li{border:0;border-top:1px solid var(--line);background:0 0;align-items:baseline;gap:16px;min-height:0;padding:12px 0;display:flex}.editorial-diagram__steps span{min-width:2ch}.editorial-diagram__steps strong{font-weight:500}.learning-explorer{border-bottom:1px solid var(--line);padding:24px 0}.learning-explorer h3{margin:0 0 12px;font-size:1rem}.learning-explorer p{line-height:1.65}.learning-explorer label{font:500 .875rem var(--mono);gap:8px;margin:16px 0;display:grid}.learning-explorer input{accent-color:var(--accent);width:100%;min-height:48px}.learning-explorer input[type=number]{border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;border-radius:0;padding:8px 12px}.learning-explorer strong,.learning-explorer>output{font:500 .9375rem/1.6 var(--mono);overflow-wrap:anywhere;display:block}.learning-explorer__inputs{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);align-items:center;gap:12px;max-width:24rem;display:grid}.learning-explorer__inputs>span{text-align:center}.editorial-section ol{gap:12px;padding-left:24px;line-height:1.65;display:grid}.editorial-formula-block,.editorial-formula-katex{max-width:100%;overflow:auto hidden}.editorial-formula-katex>.katex-display{text-align:left;margin:16px 0;padding:4px 0}.editorial-table-scroll{border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:100%;margin:16px 0;overflow-x:auto}.editorial-table{border-collapse:collapse;width:100%;min-width:32rem;font-size:.875rem;line-height:1.5}.editorial-table th,.editorial-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 12px}.editorial-table th{color:var(--muted);font:650 .75rem/1.4 var(--mono)}.editorial-table tbody tr:last-child td{border-bottom:0}.editorial-content-block{overflow-wrap:anywhere;min-width:0;max-width:100%;margin:18px 0}.editorial-content-block:last-child{margin-bottom:0}.editorial-content-block--paragraph p{max-width:72ch;margin-bottom:0}.editorial-callout{padding:4px 0 4px 16px}.editorial-callout h3,.editorial-example h3{margin:0 0 8px;font-size:1rem;line-height:1.45}.editorial-callout p{color:var(--ink);margin:0;line-height:1.65}.editorial-formula-figure{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}.editorial-formula-figure .editorial-formula-block{margin:0}.editorial-formula-figure figcaption,.editorial-code figcaption{color:var(--muted);font:500 .75rem/1.45 var(--mono);margin-top:8px}.editorial-content-block.editorial-table-scroll{overscroll-behavior-inline:contain;width:100%;margin:18px 0}.editorial-table caption{color:var(--ink);font:650 .8125rem/1.45 var(--sans);text-align:left;padding:0 12px 10px}.editorial-example{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}.editorial-example__part{border-top:1px solid var(--line);grid-template-columns:minmax(6.5rem,8rem) minmax(0,1fr);gap:12px;padding:10px 0;display:grid}.editorial-example__part h4{color:var(--muted);font:600 .75rem/1.5 var(--mono);margin:0}.editorial-example__part p,.editorial-example__part ol{margin:0}.editorial-example__part ol{padding-left:20px}.editorial-code{min-width:0}.editorial-code pre{background:var(--soft);overscroll-behavior-inline:contain;max-width:100%;margin:0;padding:14px 16px;overflow-x:auto}.editorial-code code{font:500 .875rem/1.65 var(--mono);text-transform:none;white-space:pre}.editorial-code-block{background:var(--soft);overscroll-behavior-inline:contain;max-width:100%;margin:18px 0;padding:14px 16px;overflow-x:auto}.editorial-code-block code{font:500 .875rem/1.65 var(--mono);text-transform:none;white-space:pre}.editorial-content-block--diagram{overflow:hidden}.editorial-content-block--bullets ul{margin-top:0}@media (max-width:380px){.editorial-example__part{grid-template-columns:1fr;gap:4px}.editorial-table{min-width:28rem}.editorial-code pre{padding:12px}}.note-divider{background:var(--line);border:0;height:1px;margin:28px 0}.landing__section-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin:0 0 14px;display:flex}.landing__section-heading h2{min-width:0;margin:0}.section-visual{width:clamp(72px,18vw,132px);height:auto;min-height:24px;color:var(--accent);flex:0 0 clamp(72px,18vw,132px);margin-top:.35em;display:block;overflow:visible}.section-visual path{stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.section-visual circle{fill:currentColor}.landing__contact .landing__section-heading h2{max-width:18ch}@media (max-width:380px){.landing__section-heading{gap:12px}.section-visual{flex-basis:64px;width:64px}}@media (min-width:1024px){.section-visual{flex-basis:clamp(96px,12vw,156px);width:clamp(96px,12vw,156px)}}.reading-progress{z-index:31;top:var(--mobile-header-h);background:var(--accent);pointer-events:none;height:3px;transition:width .1s ease-out;position:fixed;left:0}@media (min-width:1024px){.reading-progress{top:0}}.subject-detail h2{letter-spacing:-.03em;margin:0 0 10px;font-size:1.125rem}.subject-schedule{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.subject-schedule>li{border-bottom:1px solid var(--line);grid-template-columns:7rem minmax(0,1fr);gap:14px;padding:16px 4px;display:grid}.subject-schedule time{color:var(--muted);font:600 .75rem/1.4 var(--mono)}.subject-schedule li>div{gap:4px;display:grid}.subject-schedule strong{font-size:.875rem}.subject-schedule p{color:var(--muted);margin:0;font-size:.75rem}.subject-schedule a{color:var(--accent)}.curriculum-overview__lead{color:var(--muted);margin:0;font-size:.8125rem;line-height:1.55}.curriculum-disclaimer{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--ink);border-radius:12px;margin:24px 0 28px;padding:16px 20px;font-size:.875rem;line-height:1.45}.curriculum-disclaimer p{margin:0}.curriculum-semesters{border-bottom:1px solid var(--line)}.curriculum-semester{border-top:1px solid var(--line)}.curriculum-semester>summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto 1.25rem;align-items:center;gap:12px;min-height:56px;padding:0 4px;list-style:none;display:grid}.curriculum-semester>summary::-webkit-details-marker{display:none}.curriculum-semester>summary strong{font-size:.9375rem}.curriculum-semester>summary span{color:var(--muted);font:600 .75rem/1.35 var(--mono)}.curriculum-semester>summary b{color:var(--accent);font:700 1.125rem/1 var(--mono);transition:transform var(--motion-expand) var(--ease-soft)}.curriculum-semester[data-collapsed=false]>summary b{transform:rotate(180deg)}.curriculum-rows,.subject-curriculum__rows{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.curriculum-row,.subject-curriculum__rows li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 4.5rem minmax(8rem,10rem);align-items:baseline;gap:16px;padding:13px 4px;display:grid}.curriculum-row>a,.curriculum-row>span:first-child{font-size:.8125rem;font-weight:700;line-height:1.45}.curriculum-row>a{color:var(--accent)}.curriculum-row__credits,.curriculum-row__assessment,.subject-curriculum__rows span{color:var(--muted);font:600 .75rem/1.4 var(--mono)}.curriculum-source{color:var(--muted);font:600 .75rem/1.45 var(--mono);flex-wrap:wrap;gap:8px 20px;padding:18px 4px 2px;display:flex}.curriculum-source a{color:var(--accent)}.subject-curriculum__heading{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:10px;display:flex}.subject-curriculum__heading h2{margin:0}.subject-curriculum__heading p{color:var(--muted);font:600 .75rem/1.4 var(--mono);text-align:right;margin:0}.subject-curriculum__rows li{grid-template-columns:minmax(0,1fr) 4.5rem minmax(8rem,10rem)}.subject-curriculum__rows strong{font-size:.8125rem}@media (max-width:599px){.curriculum-row,.subject-curriculum__rows li{grid-template-columns:minmax(0,1fr) auto;gap:5px 12px}.curriculum-row>a,.curriculum-row>span:first-child,.subject-curriculum__rows strong{grid-column:1/-1}.curriculum-row__assessment,.subject-curriculum__rows li span:last-child{text-align:right}.subject-curriculum__heading{display:block}.subject-curriculum__heading p{text-align:left;margin-top:5px}}@media (min-width:1024px){.landing__chat{max-width:none}}@media (max-width:600px){.landing__chat,.landing__chat-thread{gap:5px}.landing__chat-message{border-radius:12px;padding:6px 10px 5px}.landing__chat-message--left{border-bottom-left-radius:4px}.landing__chat-message--potok{border-bottom-right-radius:4px}.landing__chat-message p{font-size:.875rem;line-height:1.3}.landing__chat-message time{margin-top:3px}.landing__chat-record{gap:3px;margin-top:6px;padding-top:6px}.landing__chat-record strong{font-size:1rem}.landing__chat-record span{font-size:.75rem}}@media (min-width:800px){.landing__chat{grid-template-columns:minmax(0,1fr);row-gap:20px}.landing__chat-message--potok{justify-self:end;width:max-content;max-width:min(92%,34rem)}}.landing__chat-thread{gap:7px}.landing__chat-message{border-color:color-mix(in srgb,var(--line) 88%,var(--ink));box-shadow:3px 3px 0 color-mix(in srgb,var(--line) 72%,transparent)}.landing__chat-thread .landing__chat-message:nth-child(2){transform:translate(8px)}.landing__chat-message--potok{border-color:color-mix(in srgb,var(--accent) 28%,var(--line));box-shadow:4px 4px 0 color-mix(in srgb,var(--accent) 18%,var(--canvas))}.landing__chat-record{border-top-style:dashed}@media (max-width:600px){.landing__chat-thread .landing__chat-message:nth-child(2){transform:translate(4px)}}@media (min-width:1920px){.landing{padding-left:calc(50vw - 928px)!important;padding-right:calc(50vw - 928px)!important}.landing__hero{width:656.64px!important;left:calc(50vw - 928px)!important}}.landing__contact--telegram,.landing__contact--author{min-height:20rem;padding-bottom:6rem;display:block;position:relative;overflow:hidden}.landing__contact-content{z-index:2;gap:0;max-width:34rem;display:grid;position:relative}.landing__contact-content p{max-width:32rem;color:var(--muted);margin:14px 0 0;line-height:1.6}.landing__contact-content .landing__contact-action{justify-self:start}.landing__contact-handle{z-index:1;max-width:100%;color:color-mix(in srgb, var(--accent) 12%, transparent);font:750 clamp(1.9rem, 8vw, 2rem)/.8 var(--mono);letter-spacing:-.085em;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;bottom:3.5rem;left:auto;right:0}@media (min-width:600px){.landing__contact--telegram,.landing__contact--author{min-height:20rem;padding-bottom:6rem}.landing__contact-handle{font-size:3rem;bottom:2.75rem;right:0}}@media (min-width:1024px){.landing__contact--telegram,.landing__contact--author{min-height:21.5rem;padding-top:40px;padding-bottom:5.5rem}.landing__contact-handle{font-size:4.5rem;line-height:.82;bottom:3rem;right:clamp(1rem,3vw,2.5rem)}.app-surface{max-width:1280px;padding-inline:clamp(32px,3vw,48px)}.app-surface>.page-reveal{width:100%;margin-inline:0}.page-head{margin-bottom:42px}.page-head__line{gap:16px;padding-bottom:22px}.page-head__line--with-context{align-items:center}.calendar-date b{font-size:2rem}.lecture-row{min-height:76px;padding:18px 8px}.material-row{min-height:72px}.schedule-row,.schedule__day li{padding:8px 12px}.content-section{margin-top:32px}.week-list{gap:34px}.schedule__weeks{gap:48px}.materials-list li>a{min-height:60px}.lecture-materials .materials-list li>a{min-height:68px}.week-agenda,.week-agenda__timeline{gap:52px}.schedule__controls{margin-bottom:42px;padding-bottom:28px}.guide-list{gap:34px}}.semester-progress-line{font-family:var(--font-main);color:var(--ink-secondary);text-align:center;justify-content:center;align-items:center;gap:12px;margin-top:-12px;margin-bottom:32px;font-size:14px;font-weight:500;display:flex}.semester-progress-line__chart{flex:none;width:20px;height:20px;transform:rotate(-90deg)}.semester-progress-line__track{fill:none;stroke:var(--line);stroke-width:2.5px}.semester-progress-line__fill{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-dasharray:37.7;stroke-dashoffset:calc(37.7 - (37.7 * var(--progress) / 100));stroke-linecap:round;transition:stroke-dashoffset .8s cubic-bezier(.34,1.56,.64,1)}.semester-progress-line strong{color:var(--ink);font-weight:600}@media (min-width:1024px){.semester-progress-line{margin-top:-16px;margin-bottom:40px;font-size:15px}}.lecture-navigation{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:12px;margin-top:48px;padding-top:24px;display:grid}.lecture-navigation__link{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-direction:column;padding:16px;text-decoration:none;transition:border-color .2s,background .2s;display:flex}.lecture-navigation__link:hover{border-color:var(--accent);background:var(--accent-subtle)}.lecture-navigation__link--next{text-align:right;align-items:flex-end}.lecture-navigation__dir{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:.75rem;font-weight:700}.lecture-navigation__title{color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.95rem;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}@media (max-width:600px){.lecture-navigation{grid-template-columns:1fr}.lecture-navigation__link--next{text-align:left;align-items:flex-start}}.guide-page{flex-direction:column;gap:0;display:flex}.guide-tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--line);gap:0;display:flex;overflow-x:auto}.guide-tabs::-webkit-scrollbar{display:none}.guide-tab{min-height:48px;color:var(--muted);font:600 .8125rem/1 var(--sans);letter-spacing:-.01em;cursor:pointer;white-space:nowrap;transition:color var(--dur-fast) var(--ease-soft), border-color var(--dur-fast) var(--ease-soft);background:0 0;border:none;border-bottom:2px solid #0000;flex:none;align-items:center;margin-bottom:-1px;padding:0 10px;display:inline-flex}.guide-tab--active{color:var(--ink);border-bottom-color:var(--accent)}.guide-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}@media (hover:hover){.guide-tab:not(.guide-tab--active):hover{color:var(--ink)}}.guide-panel{padding-top:0}.guide-section-intro{grid-template-columns:minmax(0,14rem) minmax(0,28rem);align-items:start;gap:24px;padding:24px 4px 12px;display:grid}.guide-section-intro h2{letter-spacing:-.02em;margin:0;font-size:1rem;line-height:1.3}.guide-section-intro p{color:var(--muted);margin:0;font-size:.8125rem;line-height:1.55}.guide-section-body{flex-direction:column;gap:0;display:flex}.guide-subgroup{margin-top:24px}.guide-subgroup:first-child{margin-top:8px}.guide-subgroup__label{color:var(--muted);font:600 .6875rem/1.3 var(--mono);text-transform:lowercase;letter-spacing:.04em;margin:0;padding:0 4px 10px}.guide-document-section+.guide-document-section{margin-top:24px}.guide-document-section h3{letter-spacing:-.02em;margin:0;padding:0 4px 10px;font-size:.9375rem}.guide-faq{flex-direction:column;gap:0;display:flex}.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-item__summary{grid-template-columns:7.25rem minmax(0,1fr) 1.25rem;align-items:center;gap:16px;min-height:58px;margin:0;padding:0 4px;display:grid}.faq-item__topic{color:var(--muted);font:600 .6875rem/1.3 var(--mono)}.faq-item__summary strong{letter-spacing:-.015em;font-size:.875rem;font-weight:700;line-height:1.4}.faq-item__answer{max-width:44rem;color:var(--muted);margin:0;padding:0 4px 18px 8.5rem;font-size:.8125rem;line-height:1.6}.guide-page .guide-list{gap:0}@media (min-width:600px){.guide-tab{padding:0 20px}.guide-subgroup{margin-top:32px}}@media (max-width:599px){.guide-section-intro{padding-top:18px;display:block}.guide-section-intro p{margin-top:6px}.faq-item__summary{grid-template-columns:minmax(0,1fr) 1.25rem;gap:4px 10px;padding:10px 4px}.faq-item__topic{grid-column:1/-1}.faq-item__summary strong{grid-column:1}.faq-item__summary .collapsible-section__marker{grid-area:2/2}.faq-item__answer{padding-left:4px}}@media (max-width:1023px){.guide-tabs{top:var(--mobile-header-h);z-index:20;background:var(--canvas);position:sticky}}.curriculum-overview{interpolate-size:allow-keywords}.curriculum-overview__head{border-bottom:1px solid var(--line);grid-template-columns:minmax(15rem,1.35fr) minmax(24rem,2fr);align-items:end;gap:clamp(24px,5vw,64px);padding:32px 4px 28px;display:grid}.curriculum-overview__identity{min-width:0}.curriculum-overview__head h2{letter-spacing:-.045em;max-width:20ch;margin:0;font-size:clamp(1.25rem,2vw,1.625rem);line-height:1.18}.curriculum-overview__head .curriculum-overview__lead{max-width:34rem;margin:9px 0 0}.curriculum-overview__summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:0;display:grid}.curriculum-overview__summary div{border-left:1px solid var(--line);align-content:start;gap:5px;min-width:0;padding:3px 14px 2px;display:grid}.curriculum-overview__summary div:first-child{border-left:0;padding-left:0}.curriculum-overview__summary dt{color:var(--muted);font:600 .6875rem/1.3 var(--mono)}.curriculum-overview__summary dd{overflow-wrap:anywhere;margin:0;font-size:.8125rem;font-weight:700;line-height:1.4}.curriculum-semester{position:relative}.curriculum-semester:before{background:var(--accent);content:"";opacity:0;transform-origin:top;width:2px;transition:opacity var(--dur-fast) var(--ease-soft),transform var(--motion-expand) var(--ease-soft);position:absolute;top:-1px;bottom:0;left:0;transform:scaleY(.35)}.curriculum-semester[data-collapsed=false]:before{opacity:1;transform:scaleY(1)}.curriculum-semester>summary{min-height:66px;transition:background-color var(--dur-fast) var(--ease-soft);padding-right:8px}.curriculum-semester>summary:before{transition:color var(--dur-fast) var(--ease-soft)}.curriculum-semester[data-collapsed=false]>summary:before{color:var(--accent)}.curriculum-semester>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.curriculum-row{min-height:54px;transition:background-color var(--dur-fast) var(--ease-soft);align-items:center;padding-left:12px;padding-right:8px}.curriculum-row__assessment{text-align:right}.curriculum-source{padding-top:22px}@media (hover:hover){.curriculum-semester>summary:hover,.curriculum-row:hover{background:color-mix(in srgb,var(--soft) 68%,transparent)}.curriculum-row>a:hover{color:var(--accent-hover)}}.subject-detail{max-width:52rem}.subject-detail>section{margin-top:32px}.subject-detail__teachers{color:var(--ink);gap:10px;margin:18px 0 0;font-size:.8125rem;display:flex}.subject-detail__teachers span{color:var(--muted);font:600 .75rem/1.5 var(--mono)}.subject-progress{gap:8px;margin:24px 0 0;display:grid}.subject-progress__label{color:var(--muted);justify-content:space-between;gap:16px;font-size:.8125rem;display:flex}.subject-progress__label span:last-child{font:600 .75rem/1.5 var(--mono)}.subject-progress__track{background:var(--line);appearance:none;border:0;border-radius:2px;width:100%;height:4px;overflow:hidden}.subject-progress__track::-webkit-progress-bar{background:var(--line)}.subject-progress__track::-webkit-progress-value{background:var(--accent)}.subject-progress__track::-moz-progress-bar{background:var(--accent)}.subject-detail__section-head{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:10px;display:flex}.subject-detail__section-head h2{margin:0}.subject-detail__section-head>span{color:var(--muted);font:600 .75rem/1.35 var(--mono)}.subject-notes{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.subject-notes li{border-bottom:1px solid var(--line)}.subject-notes a{min-height:62px;color:var(--ink);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:10px 4px;display:grid}.subject-notes a>span{gap:4px;display:grid}.subject-notes strong{font-size:.875rem}.subject-notes small{color:var(--muted);font-size:.75rem}.subject-notes b{color:var(--accent);font-weight:600}.subject-schedule>li{grid-template-columns:6.25rem minmax(0,1fr);padding:15px 4px}.subject-schedule time{gap:3px;display:grid}.subject-schedule time b{color:var(--ink);font:700 .75rem/1.35 var(--mono)}.subject-schedule time span{color:var(--muted)}.subject-curriculum__rows>li{align-items:center}.subject-curriculum__details{grid-column:1/-1;padding-top:4px}.subject-curriculum__details>summary{width:max-content;min-height:40px;color:var(--accent);cursor:pointer;align-items:center;font-size:.75rem;font-weight:700;list-style:none;display:flex}.subject-curriculum__details>summary::-webkit-details-marker{display:none}.subject-curriculum__details>summary:before{width:1rem;color:var(--muted);font:600 1rem/1 var(--mono);content:"+"}.subject-curriculum__details[open]>summary:before{content:"−"}.subject-curriculum__details>div{border-top:1px solid var(--line);gap:7px;padding:10px 0 6px;display:grid}.subject-curriculum__details b{color:var(--muted);font:600 .6875rem/1.3 var(--mono)}.subject-curriculum__details ul{gap:5px;margin:0;padding-left:18px;display:grid}.subject-curriculum__details li{color:var(--muted);font-size:.75rem;line-height:1.45;border:0!important;padding:0!important;display:list-item!important}.history-course{gap:0;display:grid}.history-course__full{min-height:48px;color:var(--accent);align-items:center;font-size:.75rem;font-weight:750;display:inline-flex}.history-course__block,.history-course__deadlines{border-top:1px solid var(--line);padding:20px 0}.history-course__heading{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.history-course h3{letter-spacing:-.02em;margin:0 0 12px;font-size:.875rem}.history-course__heading span,.history-course__source-note{color:var(--muted);font:600 .6875rem/1.45 var(--mono)}.history-course__topic{max-width:42rem;font-size:1rem;font-weight:650;line-height:1.5}.history-course__block>p{color:var(--muted);margin:8px 0 0;font-size:.8125rem;line-height:1.55}.history-course__dates,.history-course__materials,.history-course__deadlines ul{margin:0;padding:0;list-style:none}.history-course__dates{border-top:1px solid var(--line)}.history-course__dates li{border-bottom:1px solid var(--line);grid-template-columns:4.25rem minmax(0,1fr);gap:14px;padding:10px 4px;font-size:.8125rem;line-height:1.45;display:grid}.history-course__dates time{color:var(--accent);font:700 .75rem/1.5 var(--mono)}.history-course__rules{margin:0}.history-course__rules div{border-top:1px solid var(--line);grid-template-columns:minmax(7.5rem,10rem) minmax(0,1fr);gap:18px;padding:12px 4px;display:grid}.history-course__rules div:last-child{border-bottom:1px solid var(--line)}.history-course__rules dt{color:var(--muted);font:600 .6875rem/1.45 var(--mono)}.history-course__rules dd{margin:0;font-size:.8125rem;line-height:1.55}.history-course__deadlines summary{min-height:48px;color:var(--accent);cursor:pointer;align-items:center;font-size:.8125rem;font-weight:750;list-style:none;display:flex}.history-course__deadlines summary::-webkit-details-marker{display:none}.history-course__deadlines summary:before{width:1.25rem;color:var(--muted);font:600 1rem/1 var(--mono);content:"+"}.history-course__deadlines[open] summary:before{content:"−"}.history-course__deadlines>p{color:var(--muted);margin:0 0 10px;font-size:.75rem;line-height:1.5}.history-course__deadlines li{border-top:1px solid var(--line);justify-content:space-between;gap:16px;padding:8px 4px;font-size:.75rem;display:flex}.history-course__deadlines time{color:var(--muted);font-family:var(--mono)}.history-course__materials{border-top:1px solid var(--line)}.history-course__materials li{border-bottom:1px solid var(--line)}.history-course__materials a{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-height:64px;padding:11px 4px;display:grid}.history-course__materials a>span{gap:4px;display:grid}.history-course__materials strong{font-size:.8125rem;line-height:1.4}.history-course__materials small{color:var(--muted);font-size:.6875rem;line-height:1.45}.history-course__materials b{color:var(--accent);font:700 .6875rem/1 var(--mono)}@media (max-width:599px){.curriculum-overview__head{padding:24px 4px 22px;display:block}.curriculum-overview__summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 0;margin-top:24px}.curriculum-overview__summary div{border-left:1px solid var(--line);padding:0 12px}.curriculum-overview__summary div:first-child,.curriculum-overview__summary div:nth-child(odd){border-left:0;padding-left:0}.curriculum-overview__summary div:last-child{border-top:1px solid var(--line);border-left:0;grid-column:1/-1;padding-top:14px;padding-left:0}.curriculum-overview__summary dd{font-size:.75rem}.curriculum-semester>summary{grid-template-columns:minmax(0,1fr) 1rem;gap:8px;padding-left:4px}.curriculum-semester>summary span{text-align:left;grid-column:1;max-width:none;margin-top:-13px;padding-bottom:12px}.curriculum-semester>summary b{grid-area:1/2/3}.curriculum-row{padding-left:12px}.subject-schedule>li{grid-template-columns:5.5rem minmax(0,1fr);gap:12px}.history-course__heading{display:block}.history-course__heading span{margin:-6px 0 12px;display:block}.history-course__rules div{grid-template-columns:1fr;gap:5px}}.brs-calculator{gap:0;width:min(100%,36rem);display:grid}.brs-subject{border-top:1px solid var(--line);gap:10px;padding:18px 0;display:grid}.brs-subject:last-of-type{border-bottom:1px solid var(--line)}.brs-subject__main{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.brs-subject__result{grid-template-columns:minmax(0,7rem) minmax(0,1fr) 48px;align-items:center;gap:8px;display:grid}.brs-subject input,.brs-subject select{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;min-height:48px;color:var(--ink);font:500 .9375rem/1.3 var(--sans);border-radius:10px;padding:0 12px}.brs-subject__name{text-transform:lowercase}.brs-subject__assessment{color:var(--muted)}.brs-subject__score{font-family:var(--mono)!important}.brs-subject__prediction{color:var(--muted);font-size:.8125rem;line-height:1.35}.brs-subject__prediction.is-danger{color:var(--danger,#b83f47)}.brs-subject__prediction.is-success{color:var(--accent)}.brs-subject__remove{width:48px;height:48px;color:var(--muted);cursor:pointer;font:400 1.25rem/1 var(--sans);background:0 0;border:0;border-radius:10px;place-items:center;padding:0;display:grid}.brs-calculator__actions{flex-wrap:wrap;align-items:center;gap:8px;padding-top:18px;display:flex}.brs-calculator__add,.brs-calculator__reset{cursor:pointer;min-height:48px;font:650 .8125rem/1 var(--sans);border:0;border-radius:10px;padding:0 14px}.brs-calculator__add{background:var(--accent-subtle);color:var(--accent)}.brs-calculator__reset{color:var(--muted);background:0 0}.brs-calculator__note{color:var(--muted);margin:18px 0 0;font-size:.8125rem;line-height:1.5}.schedule-lesson-title__link{min-height:24px}.day-agenda__share{min-width:48px;min-height:48px;color:var(--accent);cursor:pointer;font:650 .8125rem/1 var(--sans);background:0 0;border:0;justify-content:center;align-items:center;margin:-12px -8px -12px 8px;padding:0 8px;display:inline-flex}.day-agenda__share:focus-visible{outline:2px solid var(--accent);outline-offset:-3px;border-radius:8px}.desktop-rail__footer .desktop-rail__footer-group--compact a,.mobile-menu__footer .mobile-menu__footer-group--compact a{height:48px;min-height:48px}@media (min-width:480px){.brs-subject__main{grid-template-columns:minmax(0,1fr) 8rem}}.lecture-detail,.subject-detail,.legal-document{width:100%;max-width:none}.schedule-agenda:not(.schedule-agenda--blocks):not(.schedule-agenda--table) .schedule-row{padding-right:28px}.schedule-row__timeline{background:color-mix(in srgb, var(--accent) 18%, var(--line));pointer-events:none;width:2px;position:absolute;top:-1px;bottom:-1px;right:9px}.schedule-row__timeline-fill{height:100%;transform:scaleY(var(--timeline-fill,0));transform-origin:top;transition:transform var(--dur-fast) var(--ease-soft);background:#147a50;position:absolute;inset:0 0 auto}.schedule-row__timeline-marker{left:50%;top:calc(var(--timeline-fill,0) * 100%);width:7px;height:7px;transition:top var(--dur-fast) var(--ease-soft);background:#147a50;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.schedule-row--current{background:color-mix(in srgb, var(--accent-subtle) 34%, transparent)}.schedule-row--next{background:color-mix(in srgb, var(--accent-subtle) 18%, transparent)}@media (min-width:600px){.schedule-agenda:not(.schedule-agenda--blocks):not(.schedule-agenda--table) .schedule-row{padding-right:32px}}@media (prefers-reduced-motion:reduce){.schedule-row__timeline-fill,.schedule-row__timeline-marker{transition:none}}.since-last-visit{border-top:1px solid var(--line);padding-top:16px}.since-last-visit__head{margin-bottom:10px}.since-last-visit h2{letter-spacing:-.025em;margin:0;font-size:1rem;font-weight:750;line-height:1.4}.since-last-visit ul{margin:0;padding:0;list-style:none}.since-last-visit li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 48px;align-items:center;gap:8px;min-height:52px;display:grid}.since-last-visit li[hidden]{display:none}.since-last-visit__copy{overflow-wrap:anywhere;min-width:0}.since-last-visit__copy>a,.since-last-visit__copy>strong{color:var(--ink);letter-spacing:-.015em;padding-block:12px;font-size:.9375rem;font-weight:600;line-height:1.4;display:block}.since-last-visit__copy>a{transition:color var(--dur-fast) var(--ease-soft)}.since-last-visit__copy>a:hover{color:var(--accent)}.since-last-visit__copy .editorial-formula-katex{max-width:100%;display:block;overflow-x:auto}.since-last-visit__clear,.since-last-visit__dismiss,.since-last-visit__toggle{min-height:48px;color:var(--muted);font:600 .8125rem/1.4 var(--sans);cursor:pointer;transition:color var(--dur-fast) var(--ease-soft), background-color var(--dur-fast) var(--ease-soft);background:0 0;border:0;border-radius:10px}.since-last-visit__dismiss{place-items:center;width:48px;padding:0;display:grid}.since-last-visit__actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.since-last-visit__toggle{background:var(--soft);color:var(--accent);justify-content:center;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.since-last-visit__toggle svg{transition:transform var(--dur-fast) var(--ease-soft);flex-shrink:0}.since-last-visit__toggle[aria-expanded=true] svg{transform:rotate(180deg)}.since-last-visit__clear{margin-left:auto;padding:0 10px}.since-last-visit__clear:hover,.since-last-visit__dismiss:hover{background:var(--soft);color:var(--ink)}.since-last-visit__toggle:hover{background:color-mix(in srgb, var(--accent) 10%, var(--canvas))}.since-last-visit__clear:focus-visible,.since-last-visit__dismiss:focus-visible,.since-last-visit__toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.since-last-visit__revealed{animation:visit-reveal .28s var(--ease-soft) both}@keyframes visit-reveal{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.since-last-visit__revealed{animation:none}.since-last-visit__toggle svg{transition:none}}.notice-list,.guide-rows{border-top:1px solid var(--line)}.notice-row,.guide-row{border-bottom:1px solid var(--line);grid-template-columns:2.25rem minmax(0,1fr) auto;align-items:start;gap:16px;padding:18px 12px;display:grid}.guide-row{align-items:center;min-height:68px}.notice-row--highlighted,.guide-row--highlighted{background:var(--soft);border:0;border-radius:12px;margin:6px 0}.notice-row__icon,.guide-row__icon{width:2rem;height:2rem;color:var(--accent);place-items:center;display:grid}.notice-row__icon svg,.guide-row__icon svg{width:1.75rem;height:1.75rem}.notice-row__icon--empty,.guide-row__icon--empty{visibility:hidden}.notice-row h4{margin:0;font-size:.9375rem;font-weight:750}.notice-row p{color:var(--muted);margin:4px 0 0;font-size:.8125rem;line-height:1.5}.notice-row__due{color:var(--accent);font:650 12px/1.3 var(--mono);white-space:nowrap;padding-top:3px}.guide-row__copy{gap:4px;display:grid}.guide-row__copy h4{margin:0;font-size:.875rem}.guide-row__copy span{color:var(--muted);font-size:.75rem;line-height:1.35}.content-action__arrow{vertical-align:-.125em;flex-shrink:0;margin-left:4px;display:inline-block}@media (max-width:600px){.notice-row{grid-template-columns:2rem minmax(0,1fr);gap:12px;padding-inline:8px}.notice-row__due{grid-column:2}.guide-row{grid-template-columns:2rem minmax(0,1fr) auto;gap:8px 12px;padding:12px 4px}.guide-row a{grid-column:3;justify-self:start;min-width:48px}.guide-row:has(.guide-row__icon--empty){grid-template-columns:minmax(0,1fr) auto}.guide-row__icon--empty{display:none}.guide-row:has(.guide-row__icon--empty) a{grid-column:2}.guide-row__copy{min-width:0}.guide-row a{white-space:normal;overflow-wrap:anywhere;max-width:8rem}.guide-subgroup,.guide-document-section+.guide-document-section{margin-top:16px}.guide-section-intro{padding-block:12px 8px}.faq-item__summary{padding-block:8px}.faq-item__answer{padding-bottom:12px}}@keyframes konami-wave{0%{transform:translateY(0)rotate(0)}25%{transform:translateY(-3px)rotate(.5deg)}50%{transform:translateY(0)rotate(0)}75%{transform:translateY(3px)rotate(-.5deg)}to{transform:translateY(0)rotate(0)}}body.konami-wave{animation:4s ease-in-out infinite konami-wave;overflow-x:hidden}.since-last-visit__description{-webkit-line-clamp:2;color:var(--muted);-webkit-box-orient:vertical;margin:-6px 0 10px;font-size:.8125rem;font-weight:400;line-height:1.45;display:-webkit-box;overflow:hidden}.group-overlay__panel{margin-block:auto}.group-overlay__reveal{opacity:0;transition:grid-template-rows .36s var(--ease-soft), opacity .28s ease, margin .36s var(--ease-soft);grid-template-rows:0fr;margin-block:-8px;display:grid}.group-overlay__reveal[data-expanded=true]{opacity:1;grid-template-rows:1fr;margin-block:0}.group-overlay__reveal-inner{min-height:0;overflow:hidden}.group-overlay__context{animation:group-context-in .32s var(--ease-soft) both;gap:6px;display:grid}.group-overlay__context:empty{display:none}@starting-style{.group-overlay__reveal[data-expanded=true]{opacity:0;grid-template-rows:0fr}}@keyframes group-context-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (max-width:599px){.group-overlay{padding:max(24px, env(safe-area-inset-top)) 24px max(24px, env(safe-area-inset-bottom));place-items:center}.group-overlay__panel{gap:12px;max-width:24rem}.group-overlay h2,.group-overlay__lead{text-align:center}.group-overlay h2{font-size:clamp(2rem,9vw,2.5rem)}.group-overlay__lead{margin-bottom:10px;font-size:.875rem;line-height:1.5}.group-overlay__field select{min-height:52px;font-size:1rem}}@media (max-height:540px){.group-overlay{place-items:start center}}@media (prefers-reduced-motion:reduce){.group-overlay__reveal{transition:none}.group-overlay__context{animation:none}}.loading-region{--loading-visible-height:calc(100svh - var(--mobile-header-h) - 24px - max(48px, env(safe-area-inset-bottom)));min-height:var(--loading-visible-height);position:relative}@media (min-width:600px) and (max-width:1023px){.loading-region{--loading-visible-height:calc(100svh - 20px - var(--mobile-header-h) - 44px - 64px)}}@media (min-width:1024px){.loading-region{--loading-visible-height:calc(100svh - 2 * clamp(24px, 2.2vw, 32px) - 2 * clamp(40px, 6vh, 64px))}}@media (min-width:1024px) and (max-height:760px){.loading-region{--loading-visible-height:calc(100svh - 96px)}}.loading-region__content{transition:filter .36s var(--ease-soft), opacity .36s var(--ease-soft)}.loading-region[data-loading=true] .loading-region__content{filter:blur(5px);opacity:.28;pointer-events:none}.loading-region__veil{padding-top:var(--loading-logo-top,max(0px, calc((var(--loading-visible-height) - 48px) / 2)));background:color-mix(in srgb, var(--surface) 35%, transparent);opacity:1;pointer-events:none;place-items:start center;transition:opacity .3s;display:grid;position:absolute;inset:0}.loading-region__veil[aria-hidden=true]{opacity:0}.loading-region__veil .animated-logo__line{animation:1.8s ease-in-out infinite loading-flow}.loading-region__veil .animated-logo__line:nth-child(2){animation-delay:.15s}.loading-region__veil .animated-logo__line:nth-child(3){animation-delay:.3s}@keyframes loading-flow{0%,to{opacity:.35;transform:translate(-1px)}50%{opacity:1;transform:translate(1px)}}@media (prefers-reduced-motion:reduce){.loading-region__content,.loading-region__veil{transition:none}.loading-region__veil .animated-logo__line{animation:none}}.loading-region__veil[aria-hidden=true] .animated-logo__line{animation:none}.coverage-activity{color:var(--muted);font:500 .75rem/1.35 var(--mono);text-align:center;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:0 .35em;display:flex}.coverage-activity b{font-weight:500}.coverage-activity[data-numeric=true] b{color:var(--accent);font-weight:600}.coverage-activity small{font:inherit}.coverage-activity__explanation{max-width:56rem;color:var(--muted);margin:18px 0 0;font-size:.75rem;line-height:1.55}.coverage-details__identity{justify-items:start;gap:6px;display:grid}.coverage-details__identity>.coverage-activity{text-align:left;justify-content:flex-start}@media (max-width:599px){.coverage-matrix__course>.coverage-activity{overflow-wrap:normal;-webkit-hyphens:none;hyphens:none;max-width:100%;font-size:.75rem}.coverage-matrix__course>.coverage-activity small{display:none}.coverage-matrix__course>.coverage-activity[data-numeric=true]{font-size:.75rem}.coverage-matrix__course>.coverage-glyph{width:2.35rem;height:2.35rem}}.guide-collapse>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.guide-collapse__heading{justify-content:space-between;align-items:center;gap:16px;min-height:48px;padding:8px 4px;display:flex}.guide-collapse__heading h2,.guide-collapse__heading h3{letter-spacing:-.02em;margin:0;padding:0;font-size:1rem}.guide-collapse__heading .guide-subgroup__label{letter-spacing:.04em;font-size:.6875rem}.guide-collapse>.collapsible-section__content>.collapsible-section__inner{overflow:hidden}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--on-accent:var(--pine);--canvas:var(--pine);--surface:color-mix(in srgb,var(--pine) 95%,#fff);--ink:#fff;--muted:color-mix(in srgb,var(--pine) 35%,#fff);--line:color-mix(in srgb,var(--pine) 75%,#fff);--soft:color-mix(in srgb,var(--pine) 90%,#fff);--accent:var(--pine-accent);--danger:#dfa9ac}html[data-motion=reduce] *,html[data-motion=reduce] :before,html[data-motion=reduce] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-delay:0s!important}.utility-links{width:100%;color:var(--pine-light);position:relative}.appearance-settings{min-width:0;min-height:0;color:var(--pine-light);font:500 .875rem/1.5 var(--sans)}.appearance-settings h2{font:700 1.125rem/1.3 var(--sans);letter-spacing:-.025em;margin:0 0 20px}.appearance-settings label{gap:8px;margin-bottom:16px;display:grid}.appearance-settings select{border:1px solid color-mix(in srgb,var(--pine-light) 25%,var(--pine));background:var(--sidebar-hover);width:100%;min-height:48px;color:var(--pine-light);font:600 .875rem/1.4 var(--sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;cursor:pointer;transition:border-color .18s var(--ease-soft),background-color .18s var(--ease-soft);border-radius:10px;padding:10px 12px}.appearance-settings select:hover{border-color:var(--pine-accent);background:var(--sidebar-hover)}.appearance-settings :is(select,button):focus-visible{outline:2px solid var(--pine-accent);outline-offset:3px}.appearance-settings label.appearance-settings__motion{border-top:1px solid color-mix(in srgb,var(--pine-light) 25%,var(--pine));cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:48px;margin:0;padding-block:8px;display:flex}.appearance-settings__switch{flex:none;width:40px;height:24px;position:relative}.appearance-settings .appearance-settings__switch input{z-index:1;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.appearance-settings__switch>span{border:1px solid color-mix(in srgb,var(--pine-light) 35%,var(--pine));background:var(--sidebar-hover);width:100%;height:100%;transition:background-color .18s var(--ease-soft),border-color .18s var(--ease-soft);border-radius:12px;display:block}.appearance-settings__switch>span:after{content:"";background:var(--pine-light);width:16px;height:16px;transition:transform .18s var(--ease-soft),background-color .18s var(--ease-soft);border-radius:50%;position:absolute;top:4px;left:4px}.appearance-settings__switch input:checked+span{border-color:var(--pine-accent);background:var(--pine-accent)}.appearance-settings__switch input:checked+span:after{background:var(--pine);transform:translate(16px)}.appearance-settings__switch input:focus-visible+span{outline:2px solid var(--pine-accent);outline-offset:4px}.appearance-settings__reset{border:0;border-top:1px solid color-mix(in srgb,var(--pine-light) 25%,var(--pine));width:100%;min-height:48px;color:var(--pine-accent);text-align:left;font:600 .8125rem/1.45 var(--sans);cursor:pointer;transition:color .18s var(--ease-soft);background:0 0;margin-top:12px;padding:10px 0}.appearance-settings__reset:hover{color:var(--pine-light)}.appearance-settings__reset:active{color:var(--pine-accent)}.appearance-settings p{color:color-mix(in srgb,var(--pine-light) 75%,var(--pine));margin:8px 0 0;font-size:.75rem;line-height:1.5}html[data-theme=dark] :is(.app-surface,.mobile-header,.lecture-detail,.note-document){background-color:var(--surface);color:var(--ink)}html[data-theme=dark] :is(.notes-filter-panel,.notes-active-filters button,.schedule__controls select){background:var(--surface)}html[data-theme=dark] :is(.group-context,.notice-row--highlighted,.guide-row--highlighted){background:var(--accent-subtle)}@media (min-width:1024px){.desktop-rail{padding-inline:24px}.desktop-rail .section-nav--desktop{margin-top:48px;padding-left:4px}.desktop-rail__footer{padding-top:32px}}.utility-links__settings{font-size:16px}.utility-links__settings .appearance-settings{font-size:14px}.appearance-settings h2{font-size:18px}.appearance-settings__theme{border:0;min-width:0;margin:0 0 20px;padding:0}.appearance-settings__theme legend{margin-bottom:8px}.appearance-settings__themes{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.appearance-settings__themes button{min-width:0;min-height:44px;color:color-mix(in srgb,var(--pine-light) 75%,var(--pine));cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;padding:0;transition:background-color .24s,color .24s,border-color .24s;display:grid}.appearance-settings__themes button:hover{background:var(--sidebar-hover);color:var(--pine-accent)}.appearance-settings__themes button[aria-pressed=true]{background:var(--sidebar-hover);color:var(--pine-accent);border-color:color-mix(in srgb,var(--pine-light) 35%,var(--pine))}.appearance-settings__themes button:active svg{transform:scale(.92)}.appearance-settings__themes svg{transition:transform .18s}.appearance-settings__size>span:first-child{justify-content:space-between;gap:8px;display:flex}.appearance-settings__size output{font:500 13px/1.5 var(--mono);color:var(--pine-accent)}.appearance-settings__size input{width:100%;min-width:0;height:32px;accent-color:var(--pine-accent);cursor:ew-resize;margin:0}.appearance-settings__size input:focus-visible{outline:2px solid var(--pine-accent);outline-offset:3px}.appearance-settings__size-limits{color:color-mix(in srgb,var(--pine-light) 75%,var(--pine));font:12px/1.4 var(--mono);justify-content:space-between;display:flex}.appearance-settings__reset{font-size:13px}.appearance-settings p{font-size:12px}@media (prefers-reduced-motion:no-preference){html:not([data-motion=reduce]) :is(body,.app-surface,.mobile-header,.lecture-detail,.note-document){transition:background-color .26s,color .26s}}.notice-row__action{min-height:44px;color:var(--accent);align-items:center;gap:4px;margin-top:4px;font-size:.8125rem;font-weight:750;display:inline-flex}.utility-links__update-status{color:var(--pine-light);margin:0 0 12px;font-size:13px;line-height:1.5}.utility-links__row button:disabled{cursor:wait;opacity:.6}.lecture-detail__toolbar{align-items:center;gap:12px;margin-bottom:12px;display:flex}.lecture-detail__toolbar .back-link{min-width:0;margin:0}.lecture-detail__heading{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:20px;margin:0 0 12px;display:grid}.lecture-detail__heading h1{letter-spacing:-.045em;overflow-wrap:anywhere;text-wrap:balance;min-width:0;margin:0;font-size:clamp(1.75rem,4vw,2.5rem);line-height:1.16}.lecture-detail__date{color:var(--muted);flex-direction:column;align-items:flex-end;gap:6px;margin:4px 0 0;font-size:.75rem;display:flex}.lecture-detail__date .calendar-date{text-align:left;border:0;align-items:center;min-width:0;padding:0}.lecture-detail__context{align-items:baseline;gap:6px 14px;margin:0 0 12px;font-size:.8125rem;line-height:1.5}.lecture-detail__context span+span:before,.lecture-detail__context time:before{content:none}.lecture-detail__context time{white-space:nowrap;color:var(--ink)}.lecture-detail__shared{color:var(--muted);flex-basis:100%;font-size:.75rem;font-weight:500}.lecture-detail__actions{flex-wrap:wrap;align-items:flex-start;gap:0 20px;margin:0 0 12px;display:flex}.lecture-detail__actions .lecture-share-button,.lecture-detail__actions .note-print-action>button{width:auto;min-height:48px;color:var(--accent);font:650 .8125rem/1.4 var(--sans);text-align:left;background:0 0;border:0;border-radius:0;justify-content:flex-start;align-items:center;margin:0;padding:0;text-decoration:none;display:inline-flex}.lecture-detail__actions .lecture-favorite-button--saved{color:var(--accent);font-weight:800}.lecture-detail__actions .note-print-action{gap:0;min-width:0;max-width:100%;position:relative}.lecture-detail__actions .note-print-hint{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.lecture-detail__actions .note-print-error{max-width:22ch;margin-bottom:8px}@media (hover:hover){.lecture-detail__actions :is(.lecture-share-button,.note-print-action>button):hover{text-underline-offset:4px;text-decoration:underline}}.lecture-detail>section{padding:20px 0}.lecture-detail>section>h2{margin-bottom:12px}.lecture-detail .editorial-note{margin-top:0}.lecture-detail .editorial-section{border-bottom:0;padding:22px 0}.lecture-detail .editorial-section h2{margin-bottom:12px;font-size:1.125rem;line-height:1.4}.lecture-detail .editorial-section p{max-width:68ch;line-height:1.75}.lecture-detail .editorial-takeaway{border-bottom:0;padding:20px 0 22px}.lecture-detail .editorial-takeaway>p:last-child{max-width:60ch;font-size:1.0625rem;line-height:1.65}.lecture-detail .editorial-label{color:var(--accent);font-size:.75rem}.lecture-detail .editorial-example{border-bottom:0;margin-top:20px;padding:16px 0 0}.lecture-detail .editorial-example h3{margin-bottom:12px}.lecture-detail .editorial-example__part{padding:12px 0;line-height:1.7}.lecture-detail .editorial-example__part ol{gap:8px;display:grid}.lecture-detail .table-of-contents{margin-top:0;padding:0 0 12px}.lecture-detail .table-of-contents .section-heading{margin:0}.lecture-detail .table-of-contents h2{font-size:.875rem}.lecture-detail .toc-list{margin:8px 0 0}.lecture-detail .toc-link{padding:8px 0;font-size:.875rem}.lecture-detail .lecture-detail__empty-section{padding:20px 0}.lecture-detail .lecture-detail__empty-section h2{border:0;margin-bottom:8px;padding:0}.lecture-detail .lecture-materials .empty-state{border:0;padding:0;font-size:.875rem;line-height:1.6}.lecture-detail .lecture-materials:has(>.empty-state) h2{border:0;padding:0}.lecture-detail__empty-section .empty-state{border:0;margin:0;padding:0;font-size:.875rem;line-height:1.6}.lecture-detail--empty .lecture-contribution{padding:12px 0}@media (max-width:599px){.lecture-detail__heading{grid-template-columns:minmax(0,1fr);gap:14px}.lecture-detail__heading .lecture-detail__date{grid-row:1;justify-self:start;align-items:flex-start;margin:0}.lecture-detail__heading h1{font-size:clamp(1.625rem,6.5vw,2rem)}.lecture-detail__actions{gap:0 16px}.lecture-detail__actions .lecture-share-button,.lecture-detail__actions .note-print-action>button{font-size:.75rem}.lecture-detail .editorial-example__part{grid-template-columns:minmax(0,1fr);gap:6px}}.app-update-overlay{width:100%;max-width:none;height:100%;max-height:none;color:var(--ink);background:0 0;border:0;outline:none;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.app-update-overlay[open]{place-items:center;display:grid}.app-update-overlay::backdrop{background:color-mix(in srgb, var(--surface) 76%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:app-update-veil-in .3s var(--ease-soft) both}.app-update-overlay__logo{animation:app-update-logo-in .3s var(--ease-soft) both}.app-update-overlay__logo .animated-logo__line{animation:1.8s ease-in-out infinite loading-flow}.app-update-overlay__logo .animated-logo__line--2{animation-delay:.15s}.app-update-overlay__logo .animated-logo__line--3{animation-delay:.3s}@keyframes app-update-veil-in{0%{opacity:0}to{opacity:1}}@keyframes app-update-logo-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}html[data-motion=reduce] .app-update-overlay__logo,html[data-motion=reduce] .app-update-overlay__logo .animated-logo__line,html[data-motion=reduce] .app-update-overlay::backdrop{animation:none}@media (prefers-reduced-motion:reduce){.app-update-overlay__logo,.app-update-overlay__logo .animated-logo__line,.app-update-overlay::backdrop{animation:none}}@media (min-width:1024px){.app-background{padding-inline:24px}.desktop-rail{width:232px;padding-inline:32px;left:max(24px,50vw - 756px)}.app-surface{margin-left:max(256px,50vw - 524px);margin-right:0}}.app-background :is(a,button,label,input,select,summary){touch-action:manipulation}@media (hover:none) and (pointer:coarse){.app-background :is(.lecture-row,.materials-list li>a,.material-row>a,.back-link):active{background-color:var(--soft)}.schedule-row:has(a:active){background-color:var(--soft)}.schedule-display-settings__toggle:active{transform:scale(.95)}.week-matrix__nav-button:not(:disabled):active{background-color:var(--soft)}}@media (prefers-reduced-motion:reduce){.schedule-display-settings__toggle:active{transform:none}}html[data-motion=reduce] .schedule-display-settings__toggle:active{transform:none}.katex,.editorial-code-block,.tiptap pre{text-transform:none}.app-update-overlay [role=status]{text-align:center;flex-direction:column;align-items:center;gap:20px;width:min(360px,100% - 48px);display:flex}.app-update-overlay__stage{font:600 16px/1.5 var(--sans);margin:0}.app-update-overlay__hint{color:var(--muted);font:400 14px/1.6 var(--sans);text-wrap:balance;margin:0}.app-update-overlay__cancel{min-height:48px;color:var(--ink);font:500 14px/1.5 var(--sans);cursor:pointer;background:0 0;border:0;border-radius:12px;padding:10px 16px}.app-update-overlay__cancel:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (hover:hover) and (pointer:fine){.app-update-overlay__cancel:hover{background:var(--surface)}}.schedule-hub__switch{gap:clamp(12px,2vw,24px);min-width:0}.schedule-hub__switch button{white-space:nowrap;flex:none;line-height:1.4}.schedule-hub [role=tabpanel][hidden]{display:none}.schedule-view-action{border:1px solid var(--line);background:var(--surface);min-width:48px;min-height:48px;color:var(--ink);font:700 .8125rem/1.4 var(--sans);cursor:pointer;border-radius:8px;padding:10px 14px}.schedule-view-action:disabled{opacity:.4;cursor:default}.schedule-view-action:hover:not(:disabled){border-color:var(--accent)}.schedule-subject-view,.month-schedule{gap:20px;min-width:0;display:grid}.schedule-subject-view__layout{gap:24px;min-width:0;display:grid}.schedule-subject-view__picker{min-width:0}.schedule-subject-view__picker label{color:var(--muted);margin-bottom:8px;font-size:.8125rem;display:block}.schedule-subject-view__picker select{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;max-width:100%;min-height:48px;color:var(--ink);font:600 .875rem/1.4 var(--sans);text-overflow:ellipsis;border-radius:8px;padding:10px 32px 10px 12px}.schedule-subject-view__list{display:none}.schedule-subject-view__content{min-width:0}.schedule-subject-view__heading{gap:16px;margin:0 0 24px;display:grid}.schedule-subject-view__heading h2{overflow-wrap:anywhere;margin:0}.schedule-period{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:16px;display:flex}.schedule-period button{min-height:48px;color:var(--muted);font:700 .8125rem/1.4 var(--sans);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 0}.schedule-period button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--accent)}.schedule-subject-view__day{margin-bottom:28px}.schedule-subject-view__day h3{flex-wrap:wrap;align-items:baseline;gap:10px;margin:0 0 10px;font-size:.9375rem;line-height:1.5;display:flex}.month-schedule__toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.month-schedule__navigation{flex:auto;justify-content:space-between;align-items:center;gap:12px;display:flex}.month-schedule__navigation h2{text-align:center;margin:0;font-size:1.125rem}.month-schedule__grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.month-schedule__weekday{text-align:center;color:var(--muted);background:var(--soft);font:600 .8125rem/1.4 var(--sans);border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:10px 0}.month-schedule__day,.month-schedule__blank{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);min-width:0;min-height:76px}.month-schedule__day{color:var(--ink);font-family:var(--sans);cursor:pointer;flex-direction:column;align-items:center;gap:5px;padding:10px 2px;display:flex;position:relative}.month-schedule__day:hover:not(:disabled){background:var(--soft)}.month-schedule__number{font:600 .9375rem/1.4 var(--mono)}.month-schedule__day.is-today .month-schedule__number{color:var(--accent-strong);text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:2px}.month-schedule__day:disabled{background:var(--soft);color:var(--muted);cursor:default}.month-schedule__day:disabled .month-schedule__number{opacity:.45}.month-schedule__count,.month-schedule__cancelled{color:var(--muted);font-size:.75rem;line-height:1.4}.month-schedule__hours{color:var(--muted);font:400 .75rem/1.4 var(--mono);display:none}.month-schedule__legend{color:var(--muted);margin:0;font-size:.75rem;line-height:1.6}.month-schedule__details{border-top:1px solid var(--line);min-width:0;padding-top:12px}.schedule-hub button:focus-visible,.schedule-subject-view select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (min-width:640px){.month-schedule__day,.month-schedule__blank{min-height:104px}.month-schedule__count{font-size:.75rem}.month-schedule__hours{display:block}}@media (min-width:1200px){.schedule-subject-view__layout{grid-template-columns:minmax(180px,28%) minmax(0,1fr);gap:32px}.schedule-subject-view__picker>label,.schedule-subject-view__picker>select{display:none}.schedule-subject-view__list{border-top:1px solid var(--line);display:grid}.schedule-subject-view__list button{text-align:left;border:0;border-bottom:1px solid var(--line);min-height:64px;color:var(--ink);font:600 .8125rem/1.5 var(--sans);cursor:pointer;overflow-wrap:anywhere;background:0 0;gap:6px;padding:14px 12px;display:grid}.schedule-subject-view__list button span{color:var(--muted);font-size:.75rem;font-weight:400}.schedule-subject-view__list button[aria-pressed=true]{background:var(--accent-subtle)}}.month-schedule__details .week-agenda__today-label{margin-left:8px;display:inline-block}@media (max-width:479px){.schedule-hub__switch{-webkit-overflow-scrolling:touch;flex:1}}.landing__answers{gap:32px;margin-top:30px;display:grid}.landing__answer{border-bottom:1px solid var(--line);gap:22px;padding-bottom:28px;display:grid}.landing__answer:last-child{border-bottom:0;padding-bottom:0}.landing__answer .landing__chat-message{width:fit-content;max-width:92%}.landing__answer-copy h3{letter-spacing:-.035em;margin:0;font-size:clamp(1.2rem,4.8vw,1.5rem);font-weight:650;line-height:1.25}.landing__answer-copy p{max-width:30rem;margin:8px 0 0;line-height:1.5}.landing__answer-action{min-height:48px;color:var(--accent);align-items:center;gap:16px;margin-top:8px;font-weight:750;display:inline-flex}@media (min-width:800px){.landing__answer{grid-template-columns:minmax(0,.9fr) minmax(0,1fr);align-items:start;gap:28px}.landing__answer .landing__chat-message{max-width:100%;margin-top:3px}}.schedule-subject-view__context{color:var(--muted);font:500 .8125rem/1.6 var(--sans);margin:0}.schedule-subject-view__context a{color:var(--muted);text-underline-offset:3px}.schedule-subject-view__day h3 a{color:var(--ink)}.schedule-subject-view .schedule-row{padding:14px 12px}.schedule-subject-view .schedule-row__shared{color:var(--muted);font-weight:500}.schedule-subject-view .schedule-lesson-title__link{color:var(--ink)}.month-schedule>.schedule-context{color:var(--muted);font-weight:500;line-height:1.6}.month-schedule__details .week-agenda__day-heading{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:12px;display:flex}.month-schedule__details .week-agenda__day-heading h2{margin:0;font-size:1.125rem;line-height:1.5}@media (max-width:1199px){.schedule-subject-view__title{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}.month-schedule__details .week-agenda__day-heading{align-items:flex-start}.month-schedule__details .week-agenda__day-heading h2{flex-wrap:wrap;align-items:baseline;gap:8px 12px;display:flex}.month-schedule__details .week-agenda__today-label{margin-left:0}@media (min-width:600px) and (max-width:1023px){.landing>.page-reveal{background:var(--canvas);border-radius:24px;overflow:hidden}.landing__hero{border-bottom-right-radius:32px;border-bottom-left-radius:32px}}.landing__answer-copy p{margin-top:0}.landing__chat-message--right{border-bottom-right-radius:5px}.landing__answer--reverse .landing__chat-message{justify-self:end}@media (max-width:799px){.landing__answer--reverse .landing__answer-copy{text-align:right}}@media (min-width:800px){.landing__answer--reverse{grid-template-columns:minmax(0,1fr) minmax(0,.9fr)}.landing__answer--reverse .landing__chat-message{grid-area:1/2}.landing__answer--reverse .landing__answer-copy{grid-area:1/1}}.landing__author-handle{font-size:clamp(1.5rem,7vw,2rem)}@media (min-width:600px){.landing__author-handle{font-size:2.75rem}}@media (min-width:1024px){.landing__contact--author{padding-bottom:7rem}.landing__author-handle{font-size:clamp(2.5rem,4vw,3.5rem)}}.page-head__title-toggle{min-width:48px;min-height:48px;color:inherit;font:inherit;letter-spacing:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:block}@media (min-width:1024px){body:has(.app-background) .analytics-consent--corner{width:min(400px,100vw - 96px + -1*max(256px,50vw - 524px));left:calc(48px + max(256px,50vw - 524px))}}.working-content{position:relative}.working-content__heading{z-index:2;position:absolute;inset:0 0 auto}@media (max-width:599px){.page-head__line--with-context{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.page-head__line--with-context .page-head__title-row{flex:auto;min-width:min-content;max-width:100%}.page-head__line--with-context h1,.page-head__title-toggle{overflow-wrap:normal;word-break:normal;font-size:clamp(1.75rem,7vw,2.25rem);line-height:1.1}.page-head__line--with-context .page-head__context{flex:none;margin-left:auto}.page-head__context .calendar-date{border-left:1px solid var(--line);text-align:right;flex-direction:row;align-items:center;gap:8px;padding-left:12px}}.app-surface :is(.schedule-agenda ol,.schedule__day ol,.schedule-row,.schedule__day li,.notice-list,.notice-row,.guide-rows,.guide-row,.lecture-list,.lecture-row,.material-row,.materials-list,.materials-list li,.notes-index__rows,.notes-index__row,.curriculum-rows,.curriculum-row){border-image:linear-gradient(to right, transparent 16px, var(--line) 16px, var(--line) calc(100% - 16px), transparent calc(100% - 16px)) 1 0}.week-matrix__scroll,.week-three-days__chunk,.month-schedule__grid{border-radius:var(--block-radius)}.month-schedule__grid{overflow:hidden}.week-agenda__day.is-today,.notice-row--highlighted,.guide-row--highlighted{border-radius:var(--block-radius)}.schedule-row,.schedule__day li,.week-matrix__lesson,.lecture-row,.material-row,.materials-list li>a,.notes-index__row,.curriculum-row{border-radius:var(--control-radius)}.lecture-row:before{border-radius:2px;top:12px;bottom:12px}.week-matrix__lesson{transition:background-color var(--dur-fast) var(--ease-soft)}.week-matrix__day{position:relative}.week-matrix__day:before{content:"";border-radius:var(--control-radius);pointer-events:none;transition:background-color var(--dur-fast) var(--ease-soft);position:absolute;inset:4px}.week-matrix__day>*{position:relative}@media (hover:hover) and (pointer:fine){.week-matrix__day:hover{background:var(--soft)}.week-matrix__day.is-today:hover{background:var(--accent-subtle)}.week-matrix__day:hover:before{background:color-mix(in srgb, var(--accent) 8%, transparent)}}.week-matrix__lesson:focus-within,.schedule-row:focus-within{background:var(--soft)}.week-matrix__day:focus-visible{outline-offset:-4px;border-radius:var(--control-radius)}.day-agenda__share{border-radius:8px}.schedule-subject-view__picker select{border-radius:var(--control-radius)}.editorial-formula,.editorial-diagram__steps li,.editorial-diagram__visual,.editorial-code pre,.editorial-code-block{border-radius:var(--block-radius)}.editorial-inline-formula{border-radius:8px}.learning-explorer input[type=number]{border-radius:var(--control-radius)}.schedule-subject-view__list button{border-radius:var(--control-radius);transition:background-color var(--dur-fast) var(--ease-soft)}@media (hover:hover) and (pointer:fine){.schedule-subject-view__list button:hover{background:var(--soft)}}.month-schedule__day:before{content:"";pointer-events:none;transition:background-color var(--dur-fast) var(--ease-soft);border-radius:8px;position:absolute;inset:4px}.month-schedule__day>*{position:relative}.month-schedule__day[aria-pressed=true]{background:var(--surface);box-shadow:none}.month-schedule__day[aria-pressed=true]:before{background:var(--accent-subtle);box-shadow:inset 0 0 0 2px var(--accent)}.month-schedule__day:focus-visible{outline-offset:-4px;border-radius:8px}.app-surface :is(.page-head__line,.collapsible-section,.empty-state,.notes-filter-controls,.schedule-display-settings,.schedule-load-status,.since-last-visit,.next-note,.week-three-days__chunk,.lecture-detail section,.lecture-materials h2,.editorial-takeaway,.editorial-section,.editorial-next-step,.editorial-formula-figure,.editorial-example,.learning-explorer,.legal-nav,.legal-document section,.curriculum-overview__head,.curriculum-semesters,.curriculum-semester,.history-course__block,.history-course__deadlines,.coverage-details__course>header,.coverage-details__empty,.schedule-calendar-export__help,.material-photo-disclosure){border-block:0}.app-surface .week-agenda__day:not(.is-today),.app-surface :is(.schedule-agenda ol,.schedule__day ol,.lecture-list,.materials-list,.notice-list,.guide-rows,.notes-index__rows,.subject-schedule,.subject-notes,.curriculum-rows,.subject-curriculum__rows,.history-course__dates,.history-course__materials,.editorial-sources li:first-child,.history-course__rules div:first-child,.material-row:first-child,.brs-subject:first-of-type){border-top:0}.app-surface :is(.schedule-row:last-child,.schedule__day li:last-child,.lecture-row:last-child,.material-row:last-child,.materials-list li:last-child,.notice-row:last-child,.guide-row:last-child,.notes-index__row:last-child,.subject-schedule>li:last-child,.subject-notes li:last-child,.curriculum-row:last-child,.subject-curriculum__rows li:last-child,.history-course__dates li:last-child,.history-course__materials li:last-child,.history-course__rules div:last-child,.editorial-sources li:last-child,.since-last-visit li:last-child,.faq-item:last-child,.brs-subject:last-of-type),.landing__answer{border-bottom:0}@media (hover:hover) and (pointer:fine){.month-schedule__day:hover:not(:disabled){background:var(--surface)}.month-schedule__day:hover:not(:disabled):before{background:var(--soft)}}.calendar-date b,.calendar-date>span>span{white-space:nowrap}@media (max-width:599px){.calendar-date{flex-direction:row;align-items:center;min-width:0;display:flex}.page-head__context .calendar-date{align-items:center;gap:6px}.calendar-date>span{text-align:left;flex-direction:column;align-items:flex-start;gap:0;font-size:max(.75rem,.8em);line-height:1.2;display:flex}.page-head__context .calendar-date>span{text-align:right;align-items:flex-end}}.schedule-row time,.schedule__day time,.agenda-table time,.week-matrix__time{font-variant-numeric:tabular-nums;gap:3px;line-height:1.4}.schedule-row time>span:not(.schedule-pair-badge),.schedule__day time>span:not(.schedule-pair-badge),.agenda-table time>span:not(.schedule-pair-badge),.week-matrix__time>span:not(.schedule-pair-badge){opacity:1;font-weight:500}.week-matrix__time{background:var(--canvas)}
