.lantern{pointer-events:none;z-index:30;will-change:transform, opacity;width:1400px;height:1400px;transform:translate3d(var(--lx,-2000px), var(--ly,-2000px), 0);mix-blend-mode:screen;opacity:0;transition:opacity .6s var(--ease-standard,ease);background:radial-gradient(closest-side,#cbb68c3d 0%,#cbb68c21 22%,#a6b6ab0d 45%,#a6b6ab00 66%);margin:-700px 0 0 -700px;position:fixed;top:0;left:0}html[data-pointer=fine]:not([data-motion=reduce]) .lantern.is-on{opacity:var(--lantern-op,.55)}html[data-pointer=coarse] .lantern,html[data-motion=reduce] .lantern{display:none}body:has([data-lens]) .lantern{transition-duration:.2s}html[data-pointer] body:has([data-lens]:hover) .lantern.is-on{opacity:0}html[data-pointer=fine] :is(.platcard,.triage-card,.fs-prog,.bm-card,.bm-path,.navwall-prog,.sch-scen__card,.sch-coop__card,.sch-duo__card,.rir-exp__card,.rir-arc__card,.ri-cohorts__card,.pp-card,.tmua-resources__card,.g5__card,.ws-tcard,.ws-ccard,.esat-mock__modcard,.cf-card){position:relative}html[data-pointer=fine] :is(.pcard,.platcard,.hc-card,.triage-card,.fs-prog,.am-service,.am-next__card,.bm-card,.bm-path,.navwall-prog,.sch-scen__card,.sch-coop__card,.sch-duo__card,.rir-exp__card,.rir-arc__card,.ri-cohorts__card,.pp-card,.tmua-resources__card,.g5__card,.ws-tcard,.ws-ccard,.esat-mock__modcard,.cf-card){--spot:#7e9a8af2;--spot-fill:#7e9a8a0d}html[data-pointer=fine] :is(.pcard,.platcard,.hc-card,.triage-card,.fs-prog,.am-service,.am-next__card,.bm-card,.bm-path,.navwall-prog,.sch-scen__card,.sch-coop__card,.sch-duo__card,.rir-exp__card,.rir-arc__card,.ri-cohorts__card,.pp-card,.tmua-resources__card,.g5__card,.ws-tcard,.ws-ccard,.esat-mock__modcard,.cf-card):after,html[data-pointer=fine] :is(.pcard,.platcard,.hc-card,.triage-card,.fs-prog,.am-service,.am-next__card,.bm-card,.bm-path,.navwall-prog,.sch-scen__card,.sch-coop__card,.sch-duo__card,.rir-exp__card,.rir-arc__card,.ri-cohorts__card,.pp-card,.tmua-resources__card,.g5__card,.ws-tcard,.ws-ccard,.esat-mock__modcard,.cf-card):before{content:"";border-radius:inherit;pointer-events:none;opacity:calc(1 - clamp(0, var(--md,600) / 520, 1));position:absolute;inset:0}html[data-pointer=fine] :is(.pcard,.platcard,.hc-card,.triage-card,.fs-prog,.am-service,.am-next__card,.bm-card,.bm-path,.navwall-prog,.sch-scen__card,.sch-coop__card,.sch-duo__card,.rir-exp__card,.rir-arc__card,.ri-cohorts__card,.pp-card,.tmua-resources__card,.g5__card,.ws-tcard,.ws-ccard,.esat-mock__modcard,.cf-card):after{z-index:2;background:radial-gradient(420px circle at var(--mx,-999px) var(--my,-999px), var(--spot), transparent 62%);-webkit-mask-composite:xor;padding:1.5px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}html[data-pointer=fine] :is(.pcard,.platcard,.hc-card,.triage-card,.fs-prog,.am-service,.am-next__card,.bm-card,.bm-path,.navwall-prog,.sch-scen__card,.sch-coop__card,.sch-duo__card,.rir-exp__card,.rir-arc__card,.ri-cohorts__card,.pp-card,.tmua-resources__card,.g5__card,.ws-tcard,.ws-ccard,.esat-mock__modcard,.cf-card):before{background:radial-gradient(420px circle at var(--mx,-999px) var(--my,-999px), var(--spot-fill), transparent 62%)}html[data-pointer=fine] .night :is(.pcard,.platcard,.hc-card,.triage-card,.fs-prog,.am-service,.am-next__card,.bm-card,.bm-path,.navwall-prog,.sch-scen__card,.sch-coop__card,.sch-duo__card,.rir-exp__card,.rir-arc__card,.ri-cohorts__card,.pp-card,.tmua-resources__card,.g5__card,.ws-tcard,.ws-ccard,.esat-mock__modcard,.cf-card){--spot:#cbb68cf2;--spot-fill:#cbb68c0d}.night{background:linear-gradient(180deg, var(--sage-900) 0%, #1b2e24 100%);color:#f2f0e7;--text-heading:#f2f0e7;--text-body:#f2f0e7cc;--text-muted:#f2f0e7a3;--text-faint:#f2f0e775;--border-hairline:#f2f0e71f;--surface-card:#ffffff09;--brand-primary:#cbb68c;--brand-highlight:#cbb68c;--text-link:#cbb68c;--text-link-hover:#f2f0e7;position:relative;overflow:hidden}.night.night--midnight{--border-hairline:#e8ecf524;background:linear-gradient(#161f33 0%,#1b2740 100%)}.night__stage{z-index:0;position:absolute;inset:0}.night>:where(:not(.night__stage,.hero-motion__stage,.hero-motion__scrim)){z-index:1;position:relative}.night .eyebrow{color:#cbb68c}.night .gold-rule{background:#cbb68c}.night .cta-hero{color:#1f261f;background:#f2f0e7;border-color:#0000}.night .cta-hero:hover{background:#fff;border-color:#0000}.night .cta-hero__icon{background:var(--sage-700);color:#eef2ea}.night .cta-hero:hover .cta-hero__icon{background:var(--sage-800);color:#eef2ea}.night .arrow-link{color:#cbb68c}.night .arrow-link:hover{color:#f2f0e7}.night .figure__num,.night .figure__suffix{color:#f2f0e7;text-shadow:0 0 18px #cbb68c59}.night .figure__rule{background:#cbb68c}.night .figure__pop{--surface-card:#fcfaf4;--border-hairline:#e4dccb;--text-heading:#1f261f;--text-body:#3b4238;--brand-primary:#3d614d;color:#3b4238}.academics.night{z-index:2;background:linear-gradient(180deg, var(--sage-900) 0%, #1b2e24 55%, var(--sage-900) 100%);overflow:clip visible}.builders.night{background:linear-gradient(180deg, var(--sage-900) 0%, #1b2e24 100%);border-top-color:#f2f0e714;border-bottom-color:#f2f0e714}.night .contrast__divider,.night .contrast__list li{border-color:#f2f0e71f}.night .contrast__col--seen .contrast__label{color:#f2f0e7a3}.night .contrast__col--built .contrast__label{color:#cbb68c}.night .contrast__divider{background:#f2f0e71f}.night .contrast__list li{color:#f2f0e7cc}.night .contrast__col--seen li:before,.night .contrast__col--built li:before{color:#cbb68c}.night .contrast__col--seen li:before{opacity:.6}.site-footer.night{background:var(--sage-900);color:var(--text-on-dark);--text-heading:inherit;--text-body:inherit;--text-muted:inherit;--text-faint:inherit;--border-hairline:inherit;--surface-card:inherit;--brand-primary:inherit;--brand-highlight:inherit;--text-link:inherit;--text-link-hover:inherit;position:relative;overflow:hidden}.site-footer.night>.site-footer__inner{z-index:1;position:relative}
.hs-btn{width:32px;height:32px;color:var(--text-muted);transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);border-radius:50%;flex:0 0 32px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.hs-btn svg{display:block}.hs-btn:hover{background:var(--sage-50);color:var(--text-heading);text-decoration:none}.hs-btn:focus-visible{box-shadow:var(--ring);outline:none}.site-header:is([data-header=night],[data-header=midnight]) .hs-btn{color:#f2f0e7}.site-header:is([data-header=night],[data-header=midnight]) .hs-btn:hover{color:#fff;background:#ffffff14}@media (max-width:760px){.hs-btn{order:1}}@media (min-width:1280px) and (max-width:1399px){.ws-site:not(.lang-zh) .site-header__navrow{gap:12px}.ws-site:not(.lang-zh) .navrow__divider{display:none}}.hs-scrim{z-index:80;background:#1f261f29;position:fixed;inset:0}.hs-dialog{z-index:80;box-sizing:border-box;background:var(--surface-raised);width:min(640px,100% - 32px);max-height:76vh;color:var(--text-body);border:1px solid var(--border-hairline);box-shadow:var(--shadow-xl);font-family:var(--font-sans);border-radius:16px;flex-direction:column;display:flex;position:fixed;top:12vh;left:50%;overflow:hidden;transform:translate(-50%)}.hs-dialog *,.hs-dialog :before,.hs-dialog :after{box-sizing:border-box}.hs-sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hs-head{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-hairline);display:flex}.hs-head__icon{color:var(--text-faint);flex:0 0 20px}.hs-input{min-width:0;font:inherit;color:var(--text-heading);background:0 0;border:0;outline:none;flex:auto;padding:6px 0;font-size:17px;line-height:1.4}.hs-input::placeholder{color:var(--text-faint)}.hs-close{width:28px;height:28px;color:var(--text-faint);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:20px;line-height:1;display:inline-flex}.hs-close:hover{background:var(--surface-sunken);color:var(--text-heading)}.hs-close:focus-visible{box-shadow:var(--ring);outline:none}.hs-body{min-height:0;padding:var(--space-2) 0;overscroll-behavior:contain;flex:auto;overflow-y:auto}.hs-group+.hs-group{margin-top:var(--space-2)}.hs-group__h{align-items:baseline;gap:var(--space-2);padding:var(--space-2) var(--space-4) var(--space-1);font-size:var(--text-overline);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--text-faint);display:flex}.lang-zh .hs-group__h{letter-spacing:.08em}.hs-group__n{font-weight:var(--weight-regular);letter-spacing:0;color:var(--text-faint)}.hs-item{padding:8px var(--space-4) 8px calc(var(--space-4) + 10px);color:var(--text-heading);cursor:pointer;flex-direction:column;gap:2px;text-decoration:none;display:flex;position:relative}.hs-item:before{content:"";left:var(--space-4);background:0 0;border-radius:3px;width:3px;height:18px;margin-top:-9px;position:absolute;top:50%}.hs-item:hover{color:var(--text-heading);text-decoration:none}.hs-item[aria-selected=true]{background:var(--sage-50)}.hs-item[aria-selected=true]:before{background:var(--sage-400)}.hs-item:focus-visible{background:var(--sage-50);box-shadow:inset 0 0 0 2px var(--border-focus);outline:none}.hs-item__t{font-size:var(--text-body);line-height:1.4}.hs-item__s{font-size:var(--text-caption);color:var(--text-muted);line-height:1.4}.hs-mark{color:var(--brand-primary);font-weight:var(--weight-semibold);background:0 0}.hs-more{padding:6px var(--space-4) 8px calc(var(--space-4) + 10px);font-size:var(--text-body-sm);color:var(--text-link);text-decoration:none;display:block}.hs-more:hover{color:var(--text-link-hover);text-decoration:underline}.hs-more[aria-selected=true]{background:var(--sage-50);color:var(--text-link-hover)}.hs-more:focus-visible{background:var(--sage-50);box-shadow:inset 0 0 0 2px var(--border-focus);outline:none}.hs-chips{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-2);border-top:1px solid var(--border-hairline);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.hs-chips__l{font-size:var(--text-caption);color:var(--text-faint);margin-right:var(--space-1)}.hs-chip{border:1px solid var(--border-hairline);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-body);font:inherit;font-size:var(--text-caption);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard);padding:4px 12px}.hs-chip:hover{border-color:var(--sage-300);background:var(--sage-50);color:var(--text-heading)}.hs-chip:focus-visible{box-shadow:var(--ring);outline:none}.hs-none{padding:var(--space-5) var(--space-4) var(--space-4)}.hs-none__p{font-size:var(--text-body-sm);color:var(--text-muted);margin:0}.hs-none__exits{margin:var(--space-3) 0 0;gap:var(--space-2) var(--space-4);font-size:var(--text-body-sm);flex-wrap:wrap;display:flex}.hs-none__exits a{color:var(--text-link);text-decoration:underline}.hs-none__exits a:hover{color:var(--text-link-hover)}.hs-skel{padding:var(--space-4);flex-direction:column;gap:14px;display:flex}.hs-skel span{background:var(--surface-sunken);border-radius:7px;height:14px;display:block}.hs-skel span:first-child{width:62%}.hs-skel span:nth-child(2){width:78%}.hs-skel span:nth-child(3){width:48%}.hs-err{align-items:center;gap:var(--space-3);padding:var(--space-4);font-size:var(--text-body-sm);color:var(--danger-600);flex-wrap:wrap;display:flex}.hs-retry{border:1px solid var(--border-strong);border-radius:var(--radius-pill);color:var(--text-heading);font:inherit;font-size:var(--text-caption);cursor:pointer;background:0 0;padding:4px 12px}.hs-retry:hover{background:var(--surface-sunken)}.hs-foot{padding:var(--space-2) var(--space-4);border-top:1px solid var(--border-hairline);font-size:var(--text-caption);color:var(--text-faint);flex:none}@media (prefers-reduced-motion:no-preference){.hs-scrim{animation:hs-fade var(--duration-fast) var(--ease-out) both}.hs-dialog{animation:hs-rise var(--duration-base) var(--ease-out) both}@keyframes hs-fade{0%{opacity:0}to{opacity:1}}@keyframes hs-rise{0%{opacity:0;transform:translate(-50%)translateY(6px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes hs-rise-sheet{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}}@media (max-width:760px){.hs-dialog{width:100%;max-width:none;height:100dvh;max-height:none;box-shadow:none;border:0;border-radius:0;inset:0;transform:none}.hs-head{padding-top:calc(var(--space-3) + env(safe-area-inset-top,0px))}.hs-foot{display:none}@media (prefers-reduced-motion:no-preference){.hs-dialog{animation-name:hs-rise-sheet}}}.hs-page{max-width:760px;padding-top:var(--space-10)}.hs-page__form{gap:var(--space-3);margin-bottom:var(--space-6);display:flex}.hs-page__input{border:1px solid var(--border-hairline);border-radius:var(--radius-pill);background:var(--surface-card);min-width:0;font:inherit;font-size:var(--text-body);color:var(--text-heading);transition:border-color var(--duration-fast) var(--ease-standard), box-shadow .25s var(--ease-standard);flex:auto;padding:10px 18px}.hs-page__input:hover{border-color:var(--sage-300)}.hs-page__input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-primary) 18%, transparent);outline:none}.hs-page .hs-list{border:1px solid var(--border-hairline);border-radius:var(--radius-lg);background:var(--surface-card);padding:var(--space-2) 0}.hs-page .hs-item__t{font-size:var(--text-body-lg)}.hs-page .hs-none{padding-left:0;padding-right:0}@media (max-width:760px){.hs-page__form{flex-direction:column}}
