.ft-course-catalog{container-type:inline-size;min-width:0}.ft-courses-overview{display:grid;position:relative;grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr);align-items:stretch;gap:20px 32px;padding:28px;border:1px solid var(--ft-line);border-radius:16px;background:var(--ft-surface)}.ft-courses-overview-copy h4{margin:0 0 14px;color:var(--ft-accent-text);font-size:15px;font-weight:500;line-height:1.5}.ft-courses-overview h2,.ft-courses-overview h3{margin:0 0 12px;font-size:24px;line-height:1.333333;letter-spacing:-.02em}.ft-courses-overview-copy p{margin:12px 0 0;max-width:44em;color:var(--ft-muted);font-size:14px;line-height:1.8}.ft-courses-overview-copy .ft-courses-overview-systems{margin-top:20px;font-size:12px}.ft-courses-coverage{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0 0;padding:0;list-style:none}.ft-courses-coverage li{padding:4px 8px;border-radius:6px;background:var(--ft-soft);color:var(--ft-muted);font-size:11px;line-height:1.5}.ft-courses-overview-stats{display:grid;grid-column:1;grid-row:2;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:0;padding:20px 0 0;border-top:1px solid var(--ft-line-subtle)}.ft-courses-overview-stats>div{display:flex;flex-direction:column;gap:6px}.ft-courses-overview-stats dt{color:var(--ft-muted);font-size:12px;line-height:1.5}.ft-courses-overview-stats dd{order:-1;margin:0;color:var(--ft-text);font-size:26px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.2;letter-spacing:-.03em}.ft-courses-overview-tree{--ft-bg:#1a1a1a;--ft-surface:#242424;--ft-text:#e6e6e6;--ft-muted:#b3b3b3;--ft-line:#2f2f2f;--ft-soft:#2e2e2e;--ft-line-strong:#3d3d3d;--ft-accent:#7ea2ff;min-width:0;grid-column:2;grid-row:1/span 2;height:100%;min-height:400px;overflow:hidden;border-radius:12px;background:var(--ft-surface)}.ft-courses-overview-tree .ft-tree-live{grid-template-rows:minmax(0,1fr) 64px}.ft-courses-overview-tree .ft-tree-roots{padding:0 8px}.ft-courses-overview-tree .ft-tree-roots small{display:none}.ft-courses-overview+.ft-courses-subjects{margin-top:20px}@container (max-width: 850px){.ft-courses-overview{gap:24px;padding:24px;grid-template-columns:minmax(0,1.3fr) minmax(200px,1fr)}.ft-courses-overview-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:20px 0 0}}@container (max-width: 620px){.ft-courses-overview{grid-template-columns:minmax(0,1fr)}.ft-courses-overview-tree{grid-column:1;grid-row:3;height:340px;min-height:0}}@container (max-width: 480px){.ft-courses-overview{padding:20px;gap:20px;grid-template-columns:minmax(0,1fr)}.ft-courses-overview h2,.ft-courses-overview h3{font-size:22px}.ft-courses-overview-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.ft-courses-overview-tree{height:310px}}.ft-courses-subjects{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.ft-courses-subject{--ft-subject:var(--ft-muted);--ft-order:0;position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;min-height:180px;padding:16px;border:1px solid var(--ft-line);border-radius:16px;background:var(--ft-surface);color:var(--ft-text);font:inherit;text-align:left;cursor:pointer}.ft-courses-subject:hover{border-color:color-mix(in srgb,var(--ft-subject) 50%,var(--ft-line))}.ft-courses-subject:focus-visible,.ft-route-node:focus-visible{outline:2px solid var(--ft-info);outline-offset:3px}.ft-courses-subject-mark{width:42px;height:42px;flex:0 0 42px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:color-mix(in srgb,var(--ft-subject) 18%,var(--ft-surface));color:color-mix(in srgb,var(--ft-subject) 72%,var(--ft-text));font-size:16px;font-weight:700}.ft-courses-subject strong{display:block;font-size:16px;font-weight:650;line-height:1.5}.ft-courses-subject-count{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px;color:var(--ft-muted);font-size:12px;line-height:1.5}.ft-courses-subject-count>span{white-space:nowrap}.ft-courses-subject-count>i{font-style:normal}.ft-courses-subject-arrow{position:absolute;top:23px;right:16px;color:var(--ft-muted)}.ft-courses-subject:hover .ft-courses-subject-arrow{color:var(--ft-accent-text)}.ft-courses-subject-domains{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:var(--ft-muted);font-size:12px;line-height:1.5;overflow-wrap:anywhere}@container (max-width: 1000px){.ft-courses-subjects{grid-template-columns:repeat(3,minmax(0,1fr))}}@container (max-width: 620px){.ft-courses-subjects{grid-template-columns:repeat(2,minmax(0,1fr))}}.ft-courses-subject-stages{display:flex;align-items:flex-end;gap:3px;height:18px;margin-top:auto;padding-top:6px}.ft-courses-subject-stages i{--ft-stage:0;width:14px;height:calc(4px + var(--ft-stage) * 12px);border-radius:2px;background:color-mix(in srgb,var(--ft-subject) calc(25% + var(--ft-stage) * 55%),transparent)}.ft-home-curriculum{width:min(1200px,calc(100% - 48px));margin:48px auto 110px;scroll-margin-top:72px}.ft-courses-overview{box-shadow:none}.ft-courses-overview h2,.ft-courses-overview h3{font-family:var(--ft-font-display);font-weight:600}.ft-courses-subject{text-decoration:none}.ft-courses-subject[data-linked=true]{border-color:color-mix(in srgb,var(--ft-subject) 55%,var(--ft-line))}.ft-course-tree-loading{display:grid;place-items:center;height:100%;min-height:300px;padding:24px;color:var(--ft-muted);font-size:12px}.ft-courses-overview-tree{background:var(--ft-bg);color:var(--ft-text);color-scheme:dark}.ft-courses-overview-tree .ft-tree-live{height:100%;background:var(--ft-bg)}.ft-courses-overview-tree .ft-tree-roots button{font-size:10px;gap:6px;min-height:44px;color:var(--ft-muted);background:transparent}.ft-courses-overview-tree .ft-tree-roots button[aria-pressed=true]{color:var(--ft-text)}.ft-courses-overview-tree .ft-tree-roots i{width:29px;height:29px;color:var(--ft-text)}.ft-courses-overview-tree .ft-tree-motion{color:var(--ft-muted);border-color:var(--ft-line);background:var(--ft-bg)}.ft-courses-overview-tree .ft-tree-tooltip{background:color-mix(in srgb,var(--ft-bg) 96%,transparent);border-color:var(--ft-line-strong)}.ft-courses-overview-tree .ft-tree-tooltip strong{color:var(--ft-text)}.ft-courses-overview-tree .ft-tree-tooltip>span{color:var(--ft-muted)}.ft-courses-overview-tree :focus-visible{outline-color:var(--ft-accent)}@media (max-width:540px){.ft-home-curriculum{width:calc(100% - 32px);margin-bottom:72px}}.ft-home-curriculum .ft-courses-overview-copy h2{font-size:32px;line-height:1.375}.ft-course-catalog{display:flex;flex-direction:column}.ft-course-overview-detail{order:-1}@media (max-width:600px){.ft-course-overview-detail{order:1;margin-top:16px}.ft-courses-subjects{margin-top:0}.ft-course-overview-detail .ft-courses-overview{margin-top:16px}}.ft-knowledge-tree{--ft-bg:#1a1a1a;--ft-surface:#242424;--ft-surface-sunken:#2e2e2e;--ft-text:#e6e6e6;--ft-muted:#b3b3b3;--ft-ink-3:#999999;--ft-line:#2f2f2f;--ft-line-strong:#3d3d3d;--ft-hover:#2e2e2e;--ft-brand:#7ea2ff;--ft-brand-hover:#a0bbff;--ft-brand-soft:#1d2847;--ft-accent:var(--ft-brand);--ft-button-text:#0c1430;--ft-hint:#e2b04f;width:min(1280px,calc(100% - 48px));margin:48px auto 170px;padding:34px 30px 28px;display:grid;grid-template-columns:minmax(256px,.9fr) minmax(0,2.2fr) minmax(260px,.94fr);gap:28px;color:var(--ft-text);background:var(--ft-bg);border-radius:22px;position:relative;isolation:isolate;scroll-margin-top:64px}.ft-knowledge-tree.ft-knowledge-tree--page{width:100%;margin:0}.ft-knowledge-tree:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(ellipse at 52% 72%,color-mix(in srgb,var(--ft-brand) 12%,transparent),transparent 60%);z-index:-1}.ft-tree-home-title{grid-column:1/-1;padding:2px 24px 8px;text-align:center}.ft-tree-home-title h2{max-width:880px;margin:0 auto;color:var(--ft-text);font:600 32px/1.375 var(--ft-font-display);letter-spacing:-.042em;text-wrap:balance}.ft-tree-intro{padding:0;min-width:0}.ft-tree-eyebrow{margin:0 0 14px;font:450 15px/1.35 var(--ft-font-sans);letter-spacing:-.02em;color:var(--ft-muted)}.ft-tree-intro h2{margin:0;font:600 32px/1.375 var(--ft-font-display);letter-spacing:-.045em;color:var(--ft-text)}.ft-tree-page-title{min-width:0;text-align:center}.ft-tree-page-title h2{margin:0;font:600 clamp(28px,2.2vw,36px)/1.1 var(--ft-font-display);letter-spacing:-.045em;color:var(--ft-text);white-space:nowrap}.ft-tree-title-line{white-space:nowrap}.ft-tree-title-line>span{color:var(--ft-accent)}.ft-tree-description{color:var(--ft-muted);margin:18px 0 0;font-size:12px;line-height:1.9}.ft-tree-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 0;margin:38px 0 30px;min-width:0}.ft-knowledge-tree:not(.ft-knowledge-tree--page) .ft-tree-totals{margin-top:10px}.ft-tree-totals>div{display:flex;flex-direction:column-reverse;gap:4px;min-width:0;padding-left:8px;border-left:1px solid var(--ft-line)}.ft-tree-totals>div:first-child{padding-left:0;border:0}.ft-tree-totals dt{font-size:9px;line-height:1.25;color:var(--ft-muted)}.ft-tree-totals dd{margin:0;font-size:18px;font-weight:450;font-variant-numeric:tabular-nums;letter-spacing:-.03em;line-height:1.15;white-space:nowrap}.ft-tree-subjects{border:1px solid var(--ft-line);border-radius:15px;padding:10px;background:color-mix(in srgb,var(--ft-surface) 30%,transparent)}.ft-home .ft-tree-subjects button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:44px;padding:10px 12px;border:1px solid transparent;background:transparent;color:var(--ft-muted);border-radius:9px;font-size:12px;cursor:pointer;transition:background .2s,color .2s}.ft-tree-subjects button>span:first-child{display:flex;align-items:center;gap:12px}.ft-tree-subjects button>span:last-child{color:var(--ft-muted);font-size:11px;font-variant-numeric:tabular-nums}.ft-tree-subjects i{width:10px;height:10px;border-radius:50%;background:var(--ft-accent);box-shadow:0 0 10px color-mix(in srgb,var(--ft-accent) 24%,transparent)}.ft-home .ft-tree-subjects button[aria-pressed=true]{border-color:color-mix(in srgb,var(--ft-accent) 65%,transparent);color:var(--ft-text);background:color-mix(in srgb,var(--ft-accent) 12%,var(--ft-bg))}.ft-tree-subjects button:hover{background:var(--ft-hover)}.ft-tree-intro>.ft-tree-phases{width:100%;margin:0 0 12px;padding:4px;gap:2px;flex-wrap:nowrap}.ft-tree-intro>.ft-tree-phases button{flex:1 1 0;min-width:0;padding-inline:3px}.ft-tree-footnote{margin:26px 2px 0;color:var(--ft-muted);font-size:11px;line-height:1.9}.ft-tree-center{min-width:0}.ft-tree-stage{height:650px;position:relative}.ft-tree-has-domain{grid-template-columns:minmax(0,1fr) 170px;-moz-column-gap:12px;column-gap:12px}.ft-tree-has-domain .ft-tree-roots{grid-column:1}.ft-tree-domain-names{overflow:auto;min-height:0;scrollbar-width:thin;scrollbar-color:var(--ft-line-strong) transparent;border-left:1px solid var(--ft-line);padding-left:10px}.ft-tree-domain-names>p{position:sticky;top:0;z-index:1;background:var(--ft-bg);margin:0 0 8px;padding:8px 0;font-size:12px;line-height:1.6}.ft-tree-domain-names>p>span{display:block;font-size:9px;color:var(--ft-muted)}.ft-tree-domain-names ol{list-style:none;padding:0;margin:0}.ft-home .ft-tree-domain-names button{display:flex;align-items:flex-start;gap:7px;width:100%;padding:8px 4px;text-align:left;border:0;border-radius:5px;color:var(--ft-muted);background:none;font-size:10px;line-height:1.7;cursor:pointer}.ft-tree-domain-names small{color:var(--ft-accent);font-size:8px;padding-top:2px}.ft-tree-domain-names em{display:block;font-style:normal;color:var(--ft-muted);font-size:8px}.ft-home .ft-tree-domain-names button[aria-pressed=true]{background:var(--ft-hover);color:var(--ft-text)}.ft-tree-domain-names button[data-dimmed=true]{opacity:.4}.ft-tree-domain-names button:hover{background:var(--ft-hover)}.ft-tree-phases{display:flex;justify-content:center;align-items:center;gap:5px;margin:23px auto 0;width:-moz-fit-content;width:fit-content;padding:5px 10px;border:1px solid var(--ft-line);border-radius:30px}.ft-tree-phases>span{margin-right:8px;color:var(--ft-muted);font-size:10px}.ft-home .ft-tree-phases button{min-height:32px;min-width:36px;padding:5px 8px;background:transparent;border:1px solid transparent;border-radius:20px;color:var(--ft-muted);font-size:11px;cursor:pointer}.ft-home .ft-tree-phases button[aria-pressed=true]{color:var(--ft-text);border-color:color-mix(in srgb,var(--ft-accent) 60%,transparent);background:color-mix(in srgb,var(--ft-accent) 18%,transparent)}.ft-tree-phase-description{text-align:center;margin:10px 0 0;color:var(--ft-muted);font-size:9px;line-height:1.7}.ft-tree-preview-panel{min-width:0;align-self:start;min-height:650px;max-height:742px;overflow:auto;border:1px solid var(--ft-line);border-radius:17px;background:color-mix(in srgb,var(--ft-surface) 40%,transparent);scrollbar-width:thin;scrollbar-color:var(--ft-line-strong) transparent}.ft-tree-overview{padding:30px 20px 20px}.ft-tree-panel-kicker{color:var(--ft-muted);font-size:10px;margin:0 0 16px;letter-spacing:.06em}.ft-tree-overview h3{margin:0;font:600 24px/1.333333 var(--ft-font-display)}.ft-tree-overview-copy{margin:16px 0 12px;font-size:12px;line-height:1.9;color:var(--ft-muted)}.ft-tree-overview-count{font-size:10px;color:var(--ft-muted);line-height:1.9;margin:0 0 24px}.ft-tree-domain-list{border-radius:10px;padding:14px 10px;background:color-mix(in srgb,var(--ft-surface-sunken) 50%,transparent)}.ft-tree-domain-list h4{font-size:11px;font-weight:400;display:flex;justify-content:space-between;margin:0 2px 12px}.ft-tree-domain-list h4>span{color:var(--ft-accent)}.ft-home .ft-tree-domain-list button{width:100%;display:flex;align-items:center;gap:9px;text-align:left;border:0;border-radius:5px;padding:11px 3px;background:none;color:var(--ft-muted);font-size:11px;cursor:pointer}.ft-tree-domain-list button>i{width:7px;height:7px;border-radius:50%;background:var(--ft-accent);flex-shrink:0}.ft-tree-domain-list button>span{flex:1}.ft-tree-domain-list small{font-size:10px;color:var(--ft-muted)}.ft-tree-domain-list button:hover{background:var(--ft-hover)}.ft-tree-domain-list button:disabled{opacity:.3;cursor:default}.ft-tree-domain-list>p{font-size:9px;color:var(--ft-muted);line-height:1.7;margin:14px 2px 0}.ft-tree-panel-note{margin:22px 0 0;padding-top:20px;border-top:1px solid var(--ft-line);color:var(--ft-muted);font-size:10px;line-height:1.9}.ft-tree-loading{margin:60px 20px;color:var(--ft-muted);text-align:center;font-size:12px}.ft-node-panel{color:var(--ft-text)}.ft-node-header{position:relative;padding:24px 20px 20px;border-bottom:1px solid var(--ft-line)}.ft-node-meta{margin:0 26px 12px 0;color:var(--ft-muted);font-size:10px;line-height:1.8}.ft-node-header h2{margin:0;font:600 21px/1.6 var(--ft-font-display)}.ft-node-definition{margin:13px 0 0;color:var(--ft-muted);font-size:11px;line-height:1.9}.ft-home .ft-node-close{display:grid;place-items:center;position:absolute;top:12px;right:8px;width:32px;height:32px;background:none;border:0;color:var(--ft-muted);cursor:pointer}.ft-node-body{padding:22px 20px}.ft-node-body h3{margin:0 0 13px;color:var(--ft-text);font-size:13px;font-weight:500;line-height:1.6}.ft-node-learning section+section,.ft-node-standards{margin-top:26px}.ft-node-goals{margin:0;padding-left:14px;color:var(--ft-muted);font-size:11px;line-height:1.9}.ft-node-goals li+li{margin-top:7px}.ft-node-goals li::marker{color:var(--ft-accent)}.ft-node-evidence{display:grid;gap:14px;margin:0}.ft-node-evidence>div{display:grid;grid-template-columns:25px minmax(0,1fr);gap:9px}.ft-node-evidence dt{color:var(--ft-accent);font-size:10px;line-height:1.9}.ft-node-evidence dd{margin:0;border-left:1px solid var(--ft-line);padding-left:9px;font-size:11px;line-height:1.9;color:var(--ft-muted)}.ft-home .ft-node-expand{display:flex;gap:8px;align-items:center;min-height:36px;margin-top:8px;padding:4px 0;background:none;border:0;color:var(--ft-accent);font-size:10px;cursor:pointer}.ft-node-expand[aria-expanded=true] svg{transform:rotate(180deg)}.ft-node-related{font-size:11px;color:var(--ft-muted);line-height:1.9;margin:0}.ft-node-topics ul{list-style:none;margin:0;padding:0}.ft-home .ft-node-topics button{display:flex;justify-content:space-between;gap:9px;width:100%;min-height:38px;padding:8px 0;border:0;background:none;color:var(--ft-muted);font-size:11px;text-align:left;line-height:1.8;cursor:pointer}.ft-node-topics svg{flex-shrink:0;margin-top:4px}.ft-node-group-link{font-size:10px;color:var(--ft-muted);line-height:1.8;margin:20px 0 0}.ft-home .ft-node-group-link button{color:var(--ft-muted);font-size:inherit;border:0;background:none;text-decoration:underline;cursor:pointer}.ft-node-standards>h3{display:flex;align-items:center;gap:8px}.ft-node-standard-context{font-size:10px;color:var(--ft-muted);line-height:1.8;margin:0 0 12px}.ft-node-standard-scroll{max-height:340px;overflow:auto;padding:14px;border-left:2px solid var(--ft-accent);background:var(--ft-hover);border-radius:5px;scrollbar-width:thin;scrollbar-color:var(--ft-line-strong) transparent;overscroll-behavior:contain}.ft-node-standard-scroll article+article{border-top:1px solid var(--ft-line);margin-top:18px;padding-top:18px}.ft-standard-source{font-size:9px;color:var(--ft-muted);line-height:1.8;margin:0 0 9px}.ft-standard-text{font-size:11px;color:var(--ft-muted);line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.ft-standard-status{font-size:9px;color:var(--ft-hint);line-height:1.8;margin:10px 0 0}.ft-node-muted,.ft-node-standard-empty p,.ft-node-standard-empty span{font-size:11px;color:var(--ft-muted);line-height:1.8}.ft-node-footer{padding:14px 16px;border-top:1px solid var(--ft-line);position:sticky;bottom:0;background:var(--ft-bg)}.ft-home .ft-node-build{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:42px;border:1px solid color-mix(in srgb,var(--ft-accent) 60%,transparent);border-radius:9px;background:color-mix(in srgb,var(--ft-accent) 25%,var(--ft-hover));color:var(--ft-text);font-size:11px;cursor:pointer}.ft-node-state{color:var(--ft-muted);font-size:11px;line-height:1.8}.ft-home .ft-node-state button{border:1px solid var(--ft-line-strong);border-radius:6px;background:none;color:var(--ft-text);min-height:36px;padding:5px 10px;font-size:11px}.ft-knowledge-tree button:focus-visible,.ft-knowledge-tree input:focus-visible,.ft-node-standard-scroll:focus-visible,.ft-tree-drawing canvas:focus-visible{outline:2px solid var(--ft-accent);outline-offset:3px}@media (min-width:1600px){.ft-tree-stage{height:710px}.ft-tree-preview-panel{min-height:710px;max-height:800px}}@media (max-width:1199px){.ft-knowledge-tree{grid-template-columns:210px minmax(0,1fr);gap:22px;padding:30px 22px}.ft-knowledge-tree--page .ft-tree-page-title{grid-column:1/-1;text-align:center}.ft-tree-preview-panel{grid-column:1/-1;min-height:0;max-height:550px}.ft-tree-overview{display:grid;grid-template-columns:1fr 1fr;-moz-column-gap:40px;column-gap:40px}.ft-tree-overview .ft-tree-domain-list{grid-column:2;grid-row:1/6}.ft-node-body{display:grid;grid-template-columns:1fr 1fr;gap:30px}.ft-node-standards{margin-top:0}.ft-tree-intro h2{font-size:32px}}@media (max-width:1050px){.ft-knowledge-tree{width:calc(100% - 64px)}}@media (max-width:639px){.ft-knowledge-tree{display:block;width:calc(100% - 48px);margin:40px auto 90px;padding:28px 18px;border-radius:15px}.ft-tree-home-title{padding:0 2px 20px}.ft-tree-home-title h2{font-size:clamp(30px,9vw,40px)}.ft-tree-intro h2{font-size:clamp(32px,10vw,44px)}.ft-tree-totals{margin:26px 0 20px}.ft-knowledge-tree:not(.ft-knowledge-tree--page) .ft-tree-totals{margin-top:0}.ft-tree-totals dt{font-size:11px}.ft-tree-subjects{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:7px}.ft-home .ft-tree-subjects button{font-size:11px;padding:8px}.ft-tree-subjects button>span:first-child{gap:7px}.ft-tree-intro>.ft-tree-phases{margin:0 0 12px}.ft-tree-footnote{display:none}.ft-tree-center{margin-top:26px}.ft-tree-stage{height:540px}.ft-tree-live{grid-template-rows:minmax(0,1fr) 74px}.ft-tree-has-domain{grid-template-columns:1fr;grid-template-rows:minmax(330px,1fr) 180px 74px}.ft-tree-stage:has(.ft-tree-has-domain){height:636px}.ft-tree-domain-names{border:1px solid var(--ft-line);border-radius:8px;padding:10px}.ft-tree-domain-names ol{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.ft-home .ft-tree-domain-names button{min-height:44px;font-size:11px}.ft-tree-phases{gap:2px;padding:5px}.ft-home .ft-tree-phases button{min-width:0;min-height:38px;padding:4px 3px}.ft-tree-phases>span{margin:0 3px}.ft-tree-phase-description{font-size:10px}.ft-tree-preview-panel{margin-top:25px;max-height:680px}.ft-node-body,.ft-tree-overview{display:block}.ft-node-standards{margin-top:25px}.ft-node-header h2{font-size:24px}.ft-node-definition,.ft-node-evidence dd,.ft-node-goals,.ft-node-related,.ft-standard-text{font-size:13px}.ft-home .ft-node-topics button{font-size:13px;min-height:44px}.ft-home .ft-node-close{width:44px;height:44px}.ft-tree-roots small{display:none}.ft-home .ft-tree-roots button{font-size:9px}}.ft-tree-loading:before{content:"";display:inline-block;width:12px;height:12px;margin-right:9px;vertical-align:-2px;border:1px solid var(--ft-line);border-top-color:var(--ft-accent);border-radius:50%;animation:ft-tree-loading-turn 1s linear infinite}@keyframes ft-tree-loading-turn{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.ft-tree-loading:before{animation:none}}@media (min-width:1200px){.ft-knowledge-tree{height:calc(100svh - 80px);min-height:0;padding-top:28px;padding-bottom:24px;grid-template-rows:auto minmax(0,1fr)}.ft-knowledge-tree:not(.ft-knowledge-tree--page)>.ft-tree-center,.ft-knowledge-tree:not(.ft-knowledge-tree--page)>.ft-tree-intro,.ft-knowledge-tree:not(.ft-knowledge-tree--page)>.ft-tree-preview-panel{grid-row:2;min-height:0}.ft-knowledge-tree.ft-knowledge-tree--page{flex:1 1 auto;width:100%;height:auto;min-height:0;margin:0;padding:0 12px 8px;grid-template-rows:minmax(0,1fr);align-items:stretch;overflow:hidden}.ft-knowledge-tree--page .ft-tree-page-title{position:absolute;top:10px;left:0;right:0;z-index:2;padding:0;pointer-events:none}.ft-knowledge-tree .ft-tree-totals{margin-top:0;flex:none}.ft-tree-center{min-height:0;display:flex;flex-direction:column}.ft-tree-stage{height:auto;flex:1;min-height:0}.ft-tree-preview-panel{height:100%;min-height:0;max-height:100%}.ft-tree-intro{display:flex;flex-direction:column;min-height:0;overflow:auto;scrollbar-width:thin}.ft-knowledge-tree--page .ft-tree-center,.ft-knowledge-tree--page .ft-tree-intro,.ft-knowledge-tree--page .ft-tree-preview-panel{grid-row:1;min-height:0;height:auto;max-height:none;align-self:stretch}.ft-knowledge-tree--page .ft-tree-intro{display:flex;flex-direction:column;overflow:hidden;padding-top:48px}.ft-knowledge-tree--page .ft-tree-subjects{flex:1 1 auto;min-height:0;overflow:auto}.ft-knowledge-tree--page .ft-tree-center,.ft-knowledge-tree--page .ft-tree-stage{position:relative}.ft-knowledge-tree--page .ft-tree-preview-panel{margin-top:48px;max-height:none}.ft-knowledge-tree .ft-tree-phases{display:flex;flex-wrap:nowrap;justify-content:stretch;align-items:center;flex:none;gap:1px;width:100%;margin:0 0 10px;padding:3px 4px}.ft-knowledge-tree .ft-tree-phases button{flex:1 1 0;min-width:0;min-height:28px;padding:4px 0;border:1px solid transparent;border-radius:20px;background:transparent;color:var(--ft-muted);font-size:10px;cursor:pointer}.ft-knowledge-tree .ft-tree-phases button[aria-pressed=true]{color:var(--ft-text);border-color:color-mix(in srgb,var(--ft-accent) 60%,transparent);background:color-mix(in srgb,var(--ft-accent) 18%,transparent)}.ft-knowledge-tree .ft-tree-live{grid-template-rows:minmax(0,1fr) 58px;height:100%}.ft-knowledge-tree .ft-tree-roots small{display:none}}@media (min-width:1200px) and (max-height:800px){.ft-tree-intro h2{font-size:30px}.ft-tree-totals{margin:22px 0 18px}.ft-tree-description{margin-top:12px}.ft-tree-footnote{margin-top:16px}}.ft-knowledge-tree[data-layout=home]{--ft-bg:inherit;--ft-text:inherit;--ft-muted:inherit;--ft-line:inherit;--ft-hover:inherit;--ft-accent:inherit;--ft-button-text:inherit;--ft-surface:inherit;--ft-surface-sunken:inherit;--ft-line-strong:inherit;--ft-ink-3:inherit;--ft-brand:inherit;--ft-brand-hover:inherit;--ft-brand-soft:inherit;--ft-hint:inherit;box-sizing:border-box;width:min(1280px,calc(100% - 48px));height:var(--ft-feature-height);min-height:0;margin:40px auto 112px;padding:var(--ft-feature-inset);border-radius:var(--ft-feature-radius);grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-template-rows:minmax(0,1fr);gap:var(--ft-feature-gap);background:var(--ft-feature-surface);color:var(--ft-text);scroll-margin-top:80px}.ft-knowledge-tree[data-layout=home]:before{display:block;background:radial-gradient(ellipse at 79% 24%,color-mix(in srgb,var(--ft-brand) 13%,transparent),transparent 43%),radial-gradient(ellipse at 87% 36%,color-mix(in srgb,var(--ft-ink-3) 7%,transparent),transparent 27%)}.ft-knowledge-tree[data-layout=home][data-theme=light]:before{background:radial-gradient(ellipse at 79% 24%,color-mix(in srgb,var(--ft-brand-soft) 36%,transparent),transparent 43%),radial-gradient(ellipse at 87% 36%,color-mix(in srgb,var(--ft-surface) 33%,transparent),transparent 27%)}.ft-tree-sidebar{min-width:0;min-height:0;padding:4px 4px 4px 0}.ft-tree-sidebar .ft-tree-home-title{padding:0;text-align:left}.ft-tree-sidebar .ft-tree-home-title h2{color:var(--ft-text);font-family:var(--ft-font-display);font-size:32px;line-height:1.375;letter-spacing:-.035em;text-wrap:balance}.ft-tree-sidebar .ft-tree-intro{display:block;overflow:visible;margin-top:28px}.ft-tree-sidebar .ft-tree-totals{margin:0 0 24px}.ft-tree-sidebar .ft-tree-totals>div{border-color:var(--ft-line);padding-left:14px}.ft-tree-sidebar .ft-tree-totals>div:first-child{padding-left:0}.ft-tree-sidebar .ft-tree-totals dd{font-size:24px}.ft-tree-sidebar .ft-tree-totals dt{color:var(--ft-muted);font-size:11px}.ft-tree-sidebar .ft-tree-footnote,.ft-tree-sidebar .ft-tree-phase-description{display:none}.ft-tree-sidebar .ft-tree-preview-panel{height:auto;min-height:0;max-height:none;margin:24px 0 0;overflow:visible;border:0;border-top:1px solid var(--ft-line);border-radius:0;background:none}.ft-tree-sidebar .ft-tree-overview{display:block;padding:20px 0 0}.ft-tree-sidebar .ft-tree-panel-kicker{display:none}.ft-tree-sidebar .ft-tree-overview h3{font:600 22px/1.4 var(--ft-font-display)}.ft-tree-sidebar .ft-tree-overview-copy{margin:10px 0 0;color:var(--ft-muted);font-size:14px;line-height:1.85}.ft-tree-sidebar .ft-tree-overview-count{margin:12px 0 0;color:var(--ft-muted);font-size:12px;line-height:1.8}.ft-tree-domain-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;font-size:11px;cursor:pointer;color:var(--ft-muted)}.ft-tree-domain-disclosure>summary:after{content:"+"}.ft-tree-domain-disclosure[open]>summary:after{content:"−"}.ft-tree-domain-disclosure>summary span{margin-left:auto;color:var(--ft-accent)}.ft-tree-domain-disclosure>summary:focus-visible{outline:2px solid var(--ft-accent);outline-offset:2px}.ft-knowledge-tree--page .ft-tree-domain-disclosure>summary,.ft-tree-sidebar .ft-tree-domain-list h4{display:none}.ft-tree-sidebar .ft-node-header{padding:20px 0 12px}.ft-tree-sidebar .ft-node-close{top:12px;right:0}.ft-tree-sidebar .ft-node-body{display:block;padding:16px 0}.ft-tree-sidebar .ft-node-body[hidden]{display:none}.ft-tree-sidebar .ft-node-standards{margin-top:24px}.ft-tree-sidebar .ft-node-footer{position:static;padding:12px 0 0;border:0;background:none}.ft-tree-sidebar .ft-node-header{border-bottom:0}.ft-tree-sidebar .ft-node-close{width:44px;height:44px}.ft-tree-sidebar .ft-node-meta{margin-right:44px}.ft-tree-sidebar .ft-node-standard-scroll{max-height:none;overflow:visible}@media (min-width:900px){.ft-knowledge-tree[data-layout=home][data-has-selection=true]{height:auto;min-height:var(--ft-feature-height)}.ft-knowledge-tree[data-layout=home][data-has-selection=true]>.ft-tree-center{height:calc(var(--ft-feature-height) - var(--ft-feature-inset) * 2);position:sticky;top:72px;align-self:start}}.ft-knowledge-tree[data-layout=home][data-theme=light]{--ft-bg:#f8f8f7;--ft-text:#1a1a1a;--ft-muted:#4d4d4d;--ft-line:#ebebea;--ft-hover:#f3f3f3;--ft-accent:#2f5bea;--ft-button-text:#ffffff;background:var(--ft-feature-surface);color:var(--ft-text);color-scheme:light}.ft-knowledge-tree[data-theme=light]:before{background:none}.ft-knowledge-tree[data-theme=light] .ft-tree-sidebar :is(.ft-tree-home-title h2,.ft-tree-overview h3,.ft-node-panel,.ft-node-body h3,.ft-tree-tooltip strong){color:var(--ft-text)}.ft-knowledge-tree[data-theme=light] .ft-tree-sidebar :is(.ft-tree-home-title p,.ft-tree-totals dt,.ft-tree-overview-copy,.ft-tree-overview-count,.ft-tree-domain-disclosure>summary,.ft-tree-domain-list small,.ft-tree-domain-list>p,.ft-node-meta,.ft-node-definition,.ft-node-goals,.ft-node-evidence dd,.ft-node-related,.ft-node-standard-context,.ft-standard-source,.ft-node-muted,.ft-node-state,.ft-node-group-link,.ft-tree-tooltip>span,.ft-tree-loading){color:var(--ft-muted)}.ft-knowledge-tree[data-theme=light] .ft-tree-sidebar :is(.ft-tree-subjects,.ft-tree-phases,.ft-tree-preview-panel,.ft-tree-totals>div,.ft-node-header,.ft-node-evidence dd,.ft-node-standard-scroll article+article){border-color:var(--ft-line)}.ft-knowledge-tree[data-theme=light] .ft-tree-sidebar .ft-tree-subjects{background:color-mix(in srgb,var(--ft-surface-sunken) 50%,transparent)}.ft-knowledge-tree[data-theme=light] .ft-tree-sidebar :is(.ft-tree-subjects button,.ft-tree-phases button,.ft-tree-domain-list button,.ft-node-topics button,.ft-node-close,.ft-node-group-link button,.ft-tree-roots button){color:var(--ft-text)}.ft-knowledge-tree[data-theme=light] .ft-tree-sidebar .ft-tree-subjects button>span:last-child{color:var(--ft-muted)}.ft-knowledge-tree[data-theme=light] .ft-tree-sidebar :is(.ft-tree-subjects button,.ft-tree-phases button)[aria-pressed=true]{color:var(--ft-text);background:color-mix(in srgb,var(--ft-accent) 14%,var(--ft-bg));border-color:color-mix(in srgb,var(--ft-accent) 45%,var(--ft-line-strong))}.ft-knowledge-tree[data-theme=light] .ft-tree-sidebar :is(.ft-tree-subjects button,.ft-tree-domain-list button,.ft-node-topics button):hover{background:var(--ft-hover)}.ft-knowledge-tree[data-theme=light] .ft-tree-sidebar :is(.ft-tree-domain-list,.ft-node-standard-scroll){background:var(--ft-surface-sunken)}.ft-knowledge-tree[data-theme=light] .ft-tree-sidebar :is(.ft-standard-text,.ft-node-standard-empty p,.ft-node-standard-empty span){color:var(--ft-text)}.ft-knowledge-tree[data-theme=light] .ft-tree-sidebar .ft-standard-status{color:var(--ft-hint)}.ft-knowledge-tree[data-theme=light] .ft-tree-sidebar :is(.ft-node-expand,.ft-node-evidence dt,.ft-tree-domain-disclosure>summary span){color:var(--ft-accent)}.ft-knowledge-tree[data-theme=light] .ft-tree-sidebar .ft-node-build{color:var(--ft-text);background:var(--ft-hover);border-color:var(--ft-line)}.ft-knowledge-tree[data-theme=light] .ft-tree-sidebar .ft-tree-tooltip{background:color-mix(in srgb,var(--ft-bg) 96%,transparent);border-color:var(--ft-line);box-shadow:0 8px 24px rgb(26 26 26/.08)}.ft-knowledge-tree[data-theme=light] .ft-tree-sidebar .ft-tree-roots i{color:var(--ft-text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ft-line-strong) 15%,transparent)}.ft-knowledge-tree[data-theme=light] .ft-tree-sidebar .ft-tree-roots button[aria-pressed=true]{color:var(--ft-accent)}.ft-knowledge-tree[data-theme=light] .ft-tree-sidebar :is(button,summary,canvas):focus-visible{outline-color:var(--ft-accent)}.ft-knowledge-tree[data-layout=home]>.ft-tree-center{grid-column:2;grid-row:1;min-height:0;width:100%;margin:0;display:flex;flex-direction:column;overflow:hidden;padding:18px 16px 14px;border:0;border-radius:0;background:transparent;color:var(--ft-text)}.ft-knowledge-tree[data-layout=home] .ft-tree-stage{flex:1;height:auto;min-height:0;margin-top:-54px}.ft-knowledge-tree[data-layout=home] .ft-tree-live{height:100%;grid-template-rows:minmax(0,1fr) 62px}.ft-knowledge-tree[data-layout=home] .ft-tree-roots small{display:none}.ft-knowledge-tree[data-layout=home] .ft-tree-roots i{color:var(--ft-text);box-shadow:0 0 18px color-mix(in srgb,var(--ft-accent) 14%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--ft-text) 15%,transparent)}.ft-knowledge-tree[data-layout=home] .ft-tree-roots button{color:var(--ft-muted);font-size:11px}.ft-knowledge-tree[data-layout=home] .ft-tree-roots button:is(:hover,[aria-pressed=true]){color:var(--ft-text)}.ft-knowledge-tree[data-layout=home] .ft-tree-roots button[aria-pressed=true] i{outline:1px solid var(--ft-accent);outline-offset:3px}.ft-knowledge-tree[data-layout=home] .ft-tree-tooltip{background:color-mix(in srgb,var(--ft-feature-surface) 94%,var(--ft-bg));border-color:var(--ft-line);box-shadow:0 6px 20px #00000014}.ft-knowledge-tree[data-layout=home] .ft-tree-tooltip strong{color:var(--ft-text)}.ft-knowledge-tree[data-layout=home] .ft-tree-tooltip>span{color:var(--ft-muted)}.ft-knowledge-tree[data-layout=home] .ft-tree-center :is(button,canvas):focus-visible{outline-color:var(--ft-accent)}.ft-knowledge-tree[data-layout=home] .ft-tree-center>.ft-tree-phases{display:none}.ft-knowledge-tree[data-layout=home] .ft-tree-sidebar .ft-tree-phases{width:100%;margin:0;padding:3px;gap:1px;border:1px solid var(--ft-line);background:transparent}.ft-knowledge-tree[data-layout=home] .ft-tree-sidebar .ft-tree-phases button{flex:1 1 0;min-height:32px;min-width:0;padding:4px;color:var(--ft-muted);font-size:12px}.ft-knowledge-tree[data-layout=home] .ft-tree-sidebar .ft-tree-phases button[aria-pressed=true]{background:var(--ft-accent);border-color:transparent;color:var(--ft-button-text);box-shadow:none}@media (max-width:899px){.ft-knowledge-tree[data-layout=home]{height:auto;min-height:0;grid-template-columns:minmax(0,1fr);grid-template-rows:auto;gap:28px;padding:36px 28px 28px}.ft-tree-sidebar{overflow:visible;padding:0}.ft-tree-sidebar .ft-tree-home-title{text-align:center}.ft-knowledge-tree[data-layout=home]>.ft-tree-center{grid-column:1;grid-row:auto;height:500px}}@media (max-width:639px){.ft-knowledge-tree[data-layout=home]{display:flex;flex-direction:column;gap:18px;margin:0 auto 80px;padding:32px 0 0;border-radius:22px}.ft-knowledge-tree[data-layout=home] .ft-tree-sidebar{display:contents}.ft-knowledge-tree[data-layout=home] .ft-tree-sidebar>.ft-tree-intro{display:block;margin:0;padding:0 22px}.ft-knowledge-tree[data-layout=home] .ft-tree-sidebar .ft-tree-intro>.ft-tree-phases{display:none}.ft-knowledge-tree[data-layout=home] .ft-tree-sidebar .ft-tree-totals{margin:0}.ft-knowledge-tree[data-layout=home] .ft-tree-sidebar .ft-tree-totals dt{font-size:10px}.ft-knowledge-tree[data-layout=home] .ft-tree-sidebar .ft-tree-totals dd{font-size:22px}.ft-knowledge-tree[data-layout=home] .ft-tree-sidebar>.ft-tree-preview-panel{display:none}.ft-tree-sidebar .ft-tree-home-title{padding:0 22px;text-align:center}.ft-tree-sidebar .ft-tree-home-title h2{font-size:30px}.ft-knowledge-tree[data-layout=home]>.ft-tree-center{order:1;flex:none;height:580px;padding:12px 8px;border-radius:0}.ft-knowledge-tree[data-layout=home] .ft-tree-center>.ft-tree-phases{display:flex;flex:none;position:relative;z-index:1;width:min(340px,100%);margin:0 auto;padding:2px;gap:0;background:transparent;border-color:var(--ft-line)}.ft-knowledge-tree[data-layout=home] .ft-tree-center>.ft-tree-phases button{flex:1 1 0;min-width:0;min-height:32px;color:var(--ft-muted);font-size:10px}.ft-knowledge-tree[data-layout=home] .ft-tree-center>.ft-tree-phases button[aria-pressed=true]{background:var(--ft-accent);border-color:transparent;color:var(--ft-button-text)}.ft-knowledge-tree[data-layout=home][data-has-selection=true] .ft-tree-sidebar>.ft-tree-preview-panel{display:block;order:2;margin:0 22px 24px}.ft-knowledge-tree[data-layout=home] .ft-tree-stage{margin-top:-48px}.ft-knowledge-tree[data-layout=home] .ft-tree-roots button{font-size:9px}}.ft-home .ft-tree-live .ft-tree-roots button{color:var(--ft-muted)}.ft-home .ft-tree-live .ft-tree-roots button:is(:hover,[aria-pressed=true]){color:var(--ft-accent)}.ft-home .ft-tree-live .ft-tree-roots i{color:var(--ft-text);background:var(--ft-brand-soft)!important}.ft-home .ft-tree-live .ft-tree-roots small{color:var(--ft-muted)}.ft-home .ft-tree-viewport .ft-tree-motion{color:var(--ft-muted);background:var(--ft-surface);border-color:var(--ft-line)}.ft-home .ft-tree-live button:focus-visible,.ft-home .ft-tree-viewport .ft-tree-motion:focus-visible{outline-color:var(--ft-accent)}.ft-home .ft-tree-viewport:has(canvas:focus-visible){outline-color:var(--ft-accent)}.ft-home .ft-tree-tooltip{background:var(--ft-surface);border-color:var(--ft-line-strong)}.ft-home .ft-tree-tooltip strong{color:var(--ft-text)}.ft-home .ft-tree-tooltip>span{color:var(--ft-muted)}