.imo-fam--documents{--fam:#2563eb}.imo-fam--spreadsheets{--fam:#15803d}.imo-fam--presentations{--fam:#c2410c}.imo-fam--fixed{--fam:#b91c1c}.imo-fam--images{--fam:#0e7490}.imo-fam--books{--fam:#4d7c0f}.imo-fam--email{--fam:#be185d}.imo-fam--bibliography{--fam:#475569}.imo-fam--markup{--fam:#7c3aed}.imo-fam--web{--fam:#b45309}.imo-fam--other{--fam:#64748b}[data-theme="dark"] .imo-fam--documents{--fam:#7aa2ff}[data-theme="dark"] .imo-fam--spreadsheets{--fam:#4ade80}[data-theme="dark"] .imo-fam--presentations{--fam:#fb923c}[data-theme="dark"] .imo-fam--fixed{--fam:#f87171}[data-theme="dark"] .imo-fam--images{--fam:#5ed3e6}[data-theme="dark"] .imo-fam--books{--fam:#a3e635}[data-theme="dark"] .imo-fam--email{--fam:#f472b6}[data-theme="dark"] .imo-fam--bibliography{--fam:#a5b1c6}[data-theme="dark"] .imo-fam--markup{--fam:#c4a5ff}[data-theme="dark"] .imo-fam--web{--fam:#fbbf24}[data-theme="dark"] .imo-fam--other{--fam:#94a3b8}.imo-fmap{--fmap-hl:var(--imo-p-browser);padding-block:56px 24px}.imo-fmap[data-active-surface="dotnet"]{--fmap-hl:var(--imo-p-dotnet)}.imo-fmap[data-active-surface="cli"]{--fmap-hl:var(--imo-p-cli)}.imo-fmap[data-active-surface="studio"]{--fmap-hl:var(--imo-p-studio)}.imo-fmap[data-active-surface="powershell"]{--fmap-hl:var(--imo-p-powershell)}.imo-fmap__head{max-width:760px;margin-bottom:20px}.imo-fmap__head h2{font-family:var(--imo-font-display);font-size:clamp(1.6rem,1.2rem + 1.6vw,2.4rem);line-height:1.15;margin:0 0 10px;color:var(--imo-text)}.imo-fmap__head h2 span{color:var(--imo-text-secondary)}.imo-fmap__head p{margin:0;color:var(--imo-text-secondary);line-height:1.6}.imo-fmap__surfaces{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.imo-fmap__surface{--s:var(--imo-accent);display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;border:1px solid var(--imo-border);background:var(--imo-surface);color:var(--imo-text);font:inherit;font-size:var(--imo-font-size-sm);cursor:pointer;transition:border-color var(--imo-duration) var(--imo-ease),background var(--imo-duration) var(--imo-ease)}.imo-fmap__surface i{width:8px;height:8px;border-radius:50%;background:var(--s)}.imo-fmap__surface--dotnet{--s:var(--imo-p-dotnet)}.imo-fmap__surface--browser{--s:var(--imo-p-browser)}.imo-fmap__surface--cli{--s:var(--imo-p-cli)}.imo-fmap__surface--studio{--s:var(--imo-p-studio)}.imo-fmap__surface--powershell{--s:var(--imo-p-powershell)}.imo-fmap__surface--extension{--s:var(--imo-p-extension)}button.imo-fmap__surface:hover{border-color:var(--s)}.imo-fmap__surface.is-active{border-color:var(--s);background:color-mix(in srgb,var(--s) 14%,var(--imo-surface))}.imo-fmap__count{color:var(--imo-text-muted);font-variant-numeric:tabular-nums}.imo-fmap__count:not(:empty)::before{content:"· "}.imo-fmap__surface.is-pending{cursor:default;color:var(--imo-text-muted);border-style:dashed;background:transparent}.imo-fmap__surface.is-pending i{opacity:.5}.imo-fmap__surface small{font-size:var(--imo-font-size-xs)}.imo-fmap__board{position:relative;display:grid;align-items:start;border:1px solid var(--imo-border);border-radius:var(--imo-radius-xl);background:var(--imo-bg-elevated);overflow:hidden}.imo-fmap__side{position:relative;z-index:1;display:grid;gap:14px;align-content:start;padding:20px;min-width:0}.imo-fmap__panel{display:grid;gap:10px;align-content:start;min-width:0}.imo-fmap__title{margin:0;font-family:var(--imo-font-display);font-size:var(--imo-font-size-xl);color:var(--imo-text);display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}.imo-fmap__title small{font-family:var(--imo-font-body);font-size:var(--imo-font-size-xs);font-weight:500;color:var(--imo-text-muted)}.imo-fmap__hint{margin:0;font-size:var(--imo-font-size-sm);color:var(--imo-text-secondary);line-height:1.55}.imo-fmap__label{font-size:var(--imo-font-size-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--imo-text-muted)}.imo-fmap__list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.imo-fmap__row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:8px 10px;border-radius:var(--imo-radius);border:1px solid var(--imo-border);background:var(--imo-surface)}.imo-fmap__row.is-hl{border-color:color-mix(in srgb,var(--fmap-hl) 50%,var(--imo-border))}.imo-fmap__path{padding:8px;border-radius:var(--imo-radius-lg);background:var(--imo-bg-alt)}.imo-fmap__body{display:grid;min-width:0}.imo-fmap__body strong{font-size:var(--imo-font-size-sm);color:var(--imo-text)}.imo-fmap__pkg{font-family:var(--imo-font-mono);font-size:var(--imo-font-size-xs);color:var(--imo-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.imo-fmap__badges{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.imo-fmap__badge{--s:var(--imo-text-secondary);font-size:11px;line-height:1;padding:4px 6px;border-radius:999px;color:var(--s);background:color-mix(in srgb,var(--s) 13%,transparent)}.imo-fmap__badge--dotnet{--s:var(--imo-p-dotnet)}.imo-fmap__badge--browser{--s:var(--imo-p-browser)}.imo-fmap__badge--cli{--s:var(--imo-p-cli)}.imo-fmap__badge--studio{--s:var(--imo-p-studio)}.imo-fmap__badge--powershell{--s:var(--imo-p-powershell)}.imo-fmap__try{font-size:var(--imo-font-size-xs);font-weight:600;color:var(--imo-p-browser);text-decoration:none;white-space:nowrap}.imo-fmap__try::after{content:" →"}.imo-fmap__try:hover{text-decoration:underline}.imo-fmap__next{display:grid;gap:8px;margin-top:6px;padding-top:14px;border-top:1px solid var(--imo-border)}.imo-fmap__tools{display:flex;flex-wrap:wrap;gap:6px}.imo-fmap__tool{font-size:var(--imo-font-size-xs);font-weight:600;padding:5px 10px;border-radius:999px;text-decoration:none;color:var(--imo-p-browser);background:color-mix(in srgb,var(--imo-p-browser) 11%,transparent);border:1px solid color-mix(in srgb,var(--imo-p-browser) 35%,transparent)}.imo-fmap__tool::after{content:" →"}.imo-fmap__tool:hover{background:color-mix(in srgb,var(--imo-p-browser) 20%,transparent)}.imo-fmap__links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px}.imo-fmap__link{--s:var(--imo-accent);display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:start;height:100%;box-sizing:border-box;padding:9px 11px;border-radius:var(--imo-radius);border:1px solid var(--imo-border);background:var(--imo-surface);color:var(--imo-text);text-decoration:none;transition:border-color var(--imo-duration) var(--imo-ease),transform var(--imo-duration) var(--imo-ease)}.imo-fmap__link:hover{border-color:var(--s);transform:translateY(-1px)}.imo-fmap__link i{width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--s)}.imo-fmap__link span{display:grid;gap:2px;min-width:0}.imo-fmap__link b{font-size:var(--imo-font-size-sm);font-weight:600;overflow-wrap:break-word}.imo-fmap__link b::after{content:" →";color:var(--imo-text-muted)}.imo-fmap__link small{font-size:var(--imo-font-size-xs);color:var(--imo-text-muted)}.imo-fmap__link--dotnet{--s:var(--imo-p-dotnet)}.imo-fmap__link--browser{--s:var(--imo-p-browser)}.imo-fmap__link--cli{--s:var(--imo-p-cli)}.imo-fmap__link--studio{--s:var(--imo-p-studio)}.imo-fmap__link--powershell{--s:var(--imo-p-powershell)}.imo-fmap__code{margin:0;padding:10px 12px;border-radius:var(--imo-radius);background:var(--imo-code-bg);border:1px solid var(--imo-code-border);color:var(--imo-code-text);font:12.5px/1.6 var(--imo-font-mono);overflow-x:auto;white-space:pre}.imo-fmap__formats{position:relative;z-index:1;padding:20px;min-width:0}.imo-fmap__family+.imo-fmap__family{margin-top:12px}.imo-fmap__family h3{display:flex;align-items:center;gap:7px;margin:0 0 6px;font-size:var(--imo-font-size-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--imo-text-muted)}.imo-fmap__dot{width:9px;height:9px;border-radius:50%;background:var(--fam);flex:none}.imo-fmap__chips,.imo-fmap__minis{display:flex;flex-wrap:wrap;gap:6px}.imo-fmap__chip,.imo-fmap__mini{font:inherit;font-size:var(--imo-font-size-sm);padding:5px 10px;border-radius:var(--imo-radius-sm);border:1px solid var(--imo-border);background:var(--imo-surface);color:var(--imo-text);cursor:pointer;transition:border-color var(--imo-duration) var(--imo-ease),background var(--imo-duration) var(--imo-ease)}.imo-fmap__mini{font-size:var(--imo-font-size-xs);padding:4px 9px;border-radius:999px}.imo-fmap__chip:hover:not(:disabled),.imo-fmap__mini:hover{border-color:var(--fam)}.imo-fmap__chip.is-active{border-color:var(--fam);background:color-mix(in srgb,var(--fam) 18%,var(--imo-surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--fam) 22%,transparent)}.imo-fmap__chip:disabled{cursor:default;color:color-mix(in srgb,var(--imo-text-muted) 70%,transparent);border-color:color-mix(in srgb,var(--imo-border) 60%,transparent);background:var(--imo-bg-elevated)}.imo-fmap :is(.imo-fmap__chip,.imo-fmap__mini,.imo-fmap__surface,.imo-fmap__legend button,select,.imo-fmap__try,.imo-fmap__tool,.imo-fmap__link):focus-visible{outline:2px solid var(--imo-accent);outline-offset:2px}.imo-fmap__edge{fill:none;stroke:var(--imo-border-strong);stroke-width:1.1;opacity:.55;transition:opacity .32s var(--imo-ease),stroke-width .32s var(--imo-ease),stroke .32s var(--imo-ease)}.imo-fmap__edge.is-hl{stroke:var(--fmap-hl);opacity:.8;stroke-width:1.6}.imo-fmap__edge.is-drawing{animation:imo-fmap-draw .6s var(--imo-ease) forwards}@keyframes imo-fmap-draw{to{stroke-dashoffset:0}}.imo-fmap--radial .imo-fmap__board{grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr)}.imo-fmap--radial .imo-fmap__formats{display:none}.imo-fmap--radial .imo-fmap__side{border-left:1px solid var(--imo-border);background:var(--imo-bg-alt);align-self:stretch}.imo-fmap__canvas{padding:12px;min-width:0}.imo-fmap__svg{display:block;width:100%;height:auto}.imo-fmap__svg.is-focus .imo-fmap__edge{opacity:.06}.imo-fmap__svg.is-focus .imo-fmap__edge.is-out{opacity:.95;stroke-width:2.2}.imo-fmap__svg.is-focus .imo-fmap__edge:not(.is-hl).is-out{stroke:var(--imo-text-secondary)}.imo-fmap__svg.is-focus .imo-fmap__edge.is-in{opacity:.6;stroke-dasharray:4 4;stroke:var(--imo-text-muted);stroke-width:1.4}.imo-fmap__svg.is-focus .imo-fmap__edge.is-on{opacity:1;stroke-width:3.6;stroke:var(--imo-accent);stroke-dasharray:none}.imo-fmap__node circle{fill:var(--fam);stroke:var(--imo-bg-elevated);stroke-width:2;cursor:pointer}.imo-fmap__node text{font:600 17px var(--imo-font-body);fill:var(--imo-text);cursor:pointer}.imo-fmap__node{transition:opacity .32s var(--imo-ease)}.imo-fmap__node circle{transition:stroke .2s var(--imo-ease),stroke-width .2s var(--imo-ease)}.imo-fmap__edges{animation:imo-fmap-in .45s var(--imo-ease)}.imo-fmap__node.is-idle{opacity:.3}.imo-fmap__node.is-idle circle,.imo-fmap__node.is-idle text{cursor:default}.imo-fmap__svg.is-focus .imo-fmap__node{opacity:.28}.imo-fmap__svg.is-focus .imo-fmap__node.is-hot{opacity:1}.imo-fmap__node.is-picked circle{stroke:var(--imo-text);stroke-width:3}.imo-fmap__node:focus{outline:0}.imo-fmap__node:focus-visible circle{stroke:var(--imo-accent);stroke-width:4}.imo-fmap__fam{font:700 13px var(--imo-font-body);letter-spacing:.1em;text-transform:uppercase;fill:var(--fam)}.imo-fmap__hub{font:800 30px var(--imo-font-display);fill:var(--imo-text)}.imo-fmap__hubsub{font:500 15px var(--imo-font-body);fill:var(--imo-text-muted)}.imo-fmap__pulse{fill:var(--fmap-hl)}.imo-fmap__pick{display:grid;grid-template-columns:1fr 1fr;gap:10px}.imo-fmap__pick label{display:grid;gap:5px;font-size:var(--imo-font-size-xs);font-weight:600;color:var(--imo-text-muted)}.imo-fmap__pick select{font:inherit;font-size:var(--imo-font-size-sm);font-weight:400;padding:8px 10px;border-radius:var(--imo-radius);border:1px solid var(--imo-border);background:var(--imo-surface);color:var(--imo-text);min-width:0}.imo-fmap__legend{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;padding:4px 8px 8px}@media(min-width:861px){.imo-fmap--radial .imo-fmap__side{contain:size;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}}.imo-fmap__legend button{display:inline-flex;gap:6px;align-items:center;font:inherit;font-size:var(--imo-font-size-xs);padding:5px 9px;border-radius:999px;border:1px solid var(--imo-border);background:transparent;color:var(--imo-text);cursor:pointer}.imo-fmap__legend button[aria-pressed="false"]{opacity:.45;text-decoration:line-through}@keyframes imo-fmap-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes imo-fmap-bar{from{transform:scaleX(0)}to{transform:scaleX(1)}}.imo-fmap__panel.is-swap{animation:imo-fmap-in .28s var(--imo-ease)}.imo-fmap__tourbtn{position:absolute;top:14px;left:14px;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;border:1px solid color-mix(in srgb,var(--imo-accent) 55%,var(--imo-border));background:color-mix(in srgb,var(--imo-accent) 10%,var(--imo-surface));color:var(--imo-text);font:inherit;font-size:var(--imo-font-size-sm);font-weight:600;cursor:pointer;transition:background var(--imo-duration) var(--imo-ease),border-color var(--imo-duration) var(--imo-ease)}.imo-fmap__tourbtn:hover{background:color-mix(in srgb,var(--imo-accent) 20%,var(--imo-surface))}.imo-fmap__tourbtn i{width:0;height:0;border-left:9px solid var(--imo-accent);border-block:5.5px solid transparent}.imo-fmap__tourbtn[aria-pressed="true"] i{width:9px;height:9px;border:0;border-radius:2px;background:var(--imo-accent)}.imo-fmap :is(.imo-fmap__tourbtn):focus-visible{outline:2px solid var(--imo-accent);outline-offset:2px}.imo-fmap--list .imo-fmap__tourbtn{display:none}.imo-fmap__canvas{position:relative}.imo-fmap__caption{--cap:var(--imo-accent);position:absolute;left:20px;right:20px;bottom:14px;display:none;gap:2px;padding:10px 16px 12px;overflow:hidden;border:1px solid color-mix(in srgb,var(--cap) 40%,var(--imo-border));border-radius:var(--imo-radius-lg);background:color-mix(in srgb,var(--imo-bg-elevated) 86%,transparent);backdrop-filter:blur(6px);pointer-events:none}.imo-fmap__caption[class*="imo-fam--"]{--cap:var(--fam)}.imo-fmap__caption--dotnet{--cap:var(--imo-p-dotnet)}.imo-fmap__caption--browser{--cap:var(--imo-p-browser)}.imo-fmap__caption--cli{--cap:var(--imo-p-cli)}.imo-fmap__caption--studio{--cap:var(--imo-p-studio)}.imo-fmap__caption--powershell{--cap:var(--imo-p-powershell)}.imo-fmap__caption.is-swap{animation:imo-fmap-in .3s var(--imo-ease)}.imo-fmap__capkind{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cap)}.imo-fmap__captitle{font:700 1.35rem/1.2 var(--imo-font-display);color:var(--imo-text)}.imo-fmap__capnote{font-size:var(--imo-font-size-sm);color:var(--imo-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.imo-fmap__caption i{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--cap);transform-origin:left;transform:scaleX(0)}.imo-fmap.is-touring .imo-fmap__caption{display:grid}.imo-fmap.is-touring .imo-fmap__legend{visibility:hidden}.imo-fmap--list .imo-fmap__board{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);column-gap:clamp(32px,6vw,96px)}.imo-fmap__wires{position:absolute;inset:0;width:100%;height:100%;z-index:0;overflow:visible;pointer-events:none}.imo-fmap__wires .imo-fmap__edge{opacity:.7;stroke:color-mix(in srgb,var(--imo-text-secondary) 60%,transparent);stroke-width:1.4}.imo-fmap__wires .imo-fmap__edge.is-hl{stroke:var(--fmap-hl);stroke-width:2;opacity:1}.imo-fmap--list .imo-fmap__outs{max-height:26rem;overflow-y:auto;overscroll-behavior:contain;padding-right:4px;scrollbar-width:thin}@media(max-width:1100px){.imo-fmap--radial .imo-fmap__outs{max-height:26rem;overflow-y:auto;overscroll-behavior:contain;padding-right:4px;scrollbar-width:thin}}@media(min-width:861px) and (max-width:1100px){.imo-fmap--radial .imo-fmap__board{grid-template-columns:minmax(0,1fr)}.imo-fmap--radial .imo-fmap__side{contain:none;overflow:visible;border-left:0;border-top:1px solid var(--imo-border)}.imo-fmap--radial .imo-fmap__svg{max-width:800px;margin-inline:auto}}@media(max-width:860px){.imo-fmap--radial .imo-fmap__board,.imo-fmap--list .imo-fmap__board{grid-template-columns:minmax(0,1fr)}.imo-fmap--radial .imo-fmap__canvas,.imo-fmap--radial .imo-fmap__legend,.imo-fmap__wires,.imo-fmap__tourbtn{display:none}.imo-fmap--radial .imo-fmap__formats{display:block}.imo-fmap--radial .imo-fmap__side{border-left:0;border-top:1px solid var(--imo-border)}.imo-fmap--list .imo-fmap__side{border-top:1px solid var(--imo-border)}.imo-fmap__formats,.imo-fmap__side{padding:16px}}@media(max-width:520px){.imo-fmap__row{grid-template-columns:minmax(0,1fr) auto;row-gap:6px;padding:7px 10px}.imo-fmap__pkg{display:none}.imo-fmap__try{grid-column:2;grid-row:1}.imo-fmap__badges{grid-column:1/-1;grid-row:2;justify-content:flex-start}}@media(prefers-reduced-motion:reduce){.imo-fmap__edge.is-drawing,.imo-fmap__edges,.imo-fmap__panel.is-swap,.imo-fmap__caption.is-swap{animation:none}.imo-fmap__edge,.imo-fmap__node{transition:none}}