@font-face{font-family:Suite UI;src:url(/design-assets/fonts/suite-ui-latin.woff2) format("woff2");font-weight:100 900;font-display:swap}:root{--brand:#243469;--ink:#0a1226;--muted:#515c73;--subtle:#6b7588;--line:#dde4ef;--soft-line:#edf1f7;--soft:#f4f7fc;--page:1280px;--gutter:clamp(20px,4vw,64px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--ink);font-family:Suite UI,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.6;word-break:normal;overflow-wrap:normal;-webkit-hyphens:none;hyphens:none;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p{margin:0}a{color:inherit}button,a{font:inherit}button{color:inherit}img{display:block;max-width:100%;height:auto}[id]{scroll-margin-top:100px}.skip-link{position:fixed;left:16px;top:-100px;z-index:150;padding:10px 18px;border:1px solid var(--line);border-radius:8px;background:#fff}.skip-link:focus{top:12px}.page-hero{--hero-accent-rgb:102,130,181;--hero-grid-opacity:.09;--hero-glow-opacity:.15;position:relative;display:grid;min-height:400px;isolation:isolate;overflow:hidden;border-bottom:1px solid var(--soft-line);background:#fff}.page-hero__background{display:none;position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent)}.page-hero__glow,.page-hero__grid{position:absolute;top:0;right:0;bottom:0;left:0}.page-hero__glow{background:radial-gradient(ellipse at 0% 50%,rgba(var(--hero-accent-rgb),var(--hero-glow-opacity)),transparent 52%),radial-gradient(ellipse at 100% 50%,rgba(var(--hero-accent-rgb),var(--hero-glow-opacity)),transparent 52%)}.page-hero__grid{background-image:linear-gradient(to right,rgba(52,72,112,var(--hero-grid-opacity)) 1px,transparent 1px),linear-gradient(to bottom,rgba(52,72,112,var(--hero-grid-opacity)) 1px,transparent 1px);background-size:24px 24px}@supports ((mask-image:linear-gradient(#000,transparent)) or (-webkit-mask-image:linear-gradient(#000,transparent))){.page-hero__background{display:block}}.page-hero__content{position:relative;z-index:1;display:grid;align-content:center;justify-items:center;width:100%;max-width:900px;margin:auto;padding:64px 24px;text-align:center}.page-hero__text{position:relative;isolation:isolate;display:grid;justify-items:center;width:fit-content;min-width:0;max-width:100%}.page-hero__text:before{content:"";position:absolute;top:-12px;right:-24px;bottom:-12px;left:-24px;z-index:-1;border-radius:24px;background:#fff;opacity:.7;filter:blur(20px);pointer-events:none}.page-hero h1{font-size:clamp(32px,4vw,48px);font-weight:700;line-height:1.18;letter-spacing:-.035em;text-wrap:balance}.page-hero p{max-width:760px;margin-top:24px;color:var(--muted);font-size:16px;line-height:1.6}.content-section{display:grid;grid-template-columns:minmax(250px,3fr) minmax(0,7fr);gap:clamp(40px,4vw,64px);padding:88px max(var(--gutter),calc((100vw - var(--page))/2));border-top:1px solid var(--soft-line)}.page-hero+.content-section{border-top:0}.section-heading{align-self:start;position:sticky;top:112px;padding-top:8px}.section-heading h2{font-size:clamp(28px,calc(24px + 1vw),32px);font-weight:600;line-height:1.25;letter-spacing:-.025em;text-wrap:balance}.section-body{min-width:0;max-width:980px;color:var(--muted)}.subsection+.subsection{margin-top:64px}.subsection h3{margin-bottom:24px;color:var(--ink);font-size:24px;font-weight:600;line-height:1.3;letter-spacing:-.02em}.subsection h4{margin:32px 0 16px;color:var(--ink);font-size:18px;font-weight:600;line-height:1.4}.detail-block{margin-top:34px}.detail-block+.detail-block{margin-top:48px}.section-body p+p{margin-top:18px}.description-list{display:grid;gap:20px;margin:0;padding:0;list-style:none}.description-list li{display:grid;gap:6px}.description-list strong{color:var(--ink);font-weight:600}.description-list span{color:var(--muted)}.tool-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin:0;padding:0;list-style:none}.tool-links a,.text-link{text-decoration-line:underline;text-decoration-style:dotted;text-decoration-thickness:1px;text-underline-offset:4px}.tool-links a:hover,.tool-links a:focus-visible,.text-link:hover,.text-link:focus-visible{color:#06f}.table-wrap{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:22px;background:#fff;overscroll-behavior-x:contain}table{width:100%;min-width:620px;border-collapse:collapse;table-layout:auto;text-align:left}th,td{padding:18px 20px;border-bottom:1px solid var(--soft-line);font-size:14px;line-height:1.6;text-align:left;vertical-align:top}thead th{background:var(--soft);color:var(--subtle);font-size:12px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}tbody th{color:var(--ink);font-weight:600}tbody td{color:var(--muted)}tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}.language-tag{display:inline-flex;align-items:center;justify-content:center;width:auto;height:45px;padding:0 16px;border-radius:13px;font-size:14px;font-weight:700;line-height:1;white-space:nowrap}.language-tag--cpp{background:#e8f2f8;color:#176b9c}.language-tag--csharp{background:#f0ecf9;color:#7654b5}.language-tag--java{background:#fcede8;color:#c4512d}.language-tag--kotlin{background:#f4ecfa;color:#9255c6}.language-tag--python{background:#eaf3f7;color:#3776ab}.language-tool-table{min-width:0}.language-tool-table th,.language-tool-table td{vertical-align:middle}.language-tool-table tbody th{width:1%;white-space:nowrap}.language-tags{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.language-tag--qualified{gap:4px}.language-tag__qualifier{font-size:12px;font-weight:400;line-height:1.25}.language-tool-link{display:inline-flex;align-items:center;gap:8px;min-height:24px;color:var(--ink);font-size:14px;font-weight:500;line-height:1.5;text-decoration:none;white-space:nowrap;transition:color .16s ease}.language-tool-link:hover,.language-tool-link:focus-visible{color:#06f}.language-tool-link svg{display:block;flex:none;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}blockquote{margin:28px 0 0;padding:0 0 0 22px;border-left:2px solid var(--line);color:var(--muted)}.vendor-list{padding:20px;border:1px solid var(--soft-line);border-radius:12px;background:var(--soft);line-height:1.8}.last-updated{padding:32px max(var(--gutter),calc((100vw - var(--page))/2)) 64px;color:var(--subtle);font-size:13px}:focus-visible{outline:2px solid var(--brand);outline-offset:3px}@media (max-width:860px){.page-hero{--hero-grid-opacity:.075;--hero-glow-opacity:.12}.page-hero__content{padding:48px 20px}.content-section{display:block;padding:72px 20px}.section-heading{position:static;margin-bottom:42px;padding-top:0}.subsection+.subsection{margin-top:56px}th,td{padding:14px;font-size:14px}.last-updated{padding:28px 20px 48px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.concept-page .site-header{display:block;position:sticky;top:0;z-index:100;height:68px;padding:0;color:#0a1226;background:#ffffffd1;-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid #eef1f7}.site-header .container-wide{max-width:none;padding-inline:32px}.site-header .header-inner{display:flex;align-items:center;gap:32px;height:68px}.site-header ul{padding:0;margin:0;list-style:none}.brand-logo{display:flex;align-items:center;flex-shrink:0;color:#002878}.brand-logo img{width:58px;height:16px}.header-menu{margin-right:auto}.menu-toggle{display:none}.nav-items{display:flex;gap:24px}.nav-dropdown{position:relative}.nav-trigger,.nav-link{display:flex;align-items:center;gap:4px;padding:0;border:0;border-radius:999px;background:transparent;color:#364153;font:inherit;font-size:14px;font-weight:400;line-height:20px;cursor:pointer}.nav-trigger>img{width:12px;height:12px}.nav-trigger:hover,.nav-link:hover{background:#f4f7fc;color:#0a1226}.site-header .nav-panel{display:none;position:absolute;top:100%;left:0;min-width:230px;padding:12px;border:1px solid #e2e7f0;border-radius:14px;background:#fff}.nav-dropdown:hover>.nav-panel,.nav-dropdown:focus-within>.nav-panel{display:block}.nav-dropdown.is-dismissed>.nav-panel{display:none}.nav-group-label{display:block;padding:8px 10px;font-size:12px;color:#5b677c}.nav-panel a{display:block;padding:9px 10px;border-radius:8px;font-size:15px;line-height:1.65}.nav-panel a:hover,.nav-panel a:focus-visible{background:#f4f7fc}.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.header-demo{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 16px;border:1px solid #e2e7f0;border-radius:999px;background:#fff;color:#0a1226;font:inherit;font-size:14px;font-weight:400;cursor:pointer}.header-demo:hover{background:#f4f7fc}:focus-visible{outline:2px solid #243469;outline-offset:3px}@media (max-width: 920px){.concept-page .site-header{height:auto}.site-header .header-inner{position:relative;flex-wrap:wrap;gap:10px;height:auto;min-height:68px;padding-block:12px}.header-menu{order:3;margin:0}.header-menu:not([open])>.main-nav{display:none}.menu-toggle{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #e2e7f0;border-radius:8px;cursor:pointer;list-style:none}.menu-toggle::-webkit-details-marker{display:none}.menu-icon{display:block;position:relative;width:16px;height:12px;border-block:1px solid currentColor}.menu-icon:after{content:"";position:absolute;left:0;right:0;top:5px;border-top:1px solid currentColor}.main-nav{position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 68px);overflow-y:auto;padding:12px clamp(20px,3.4vw,48px) 20px;border-bottom:1px solid #e2e7f0;background:#fff}.nav-items{flex-wrap:wrap;gap:8px}.nav-dropdown{flex:1 1 180px}.site-header .nav-panel{position:static;min-width:0}.header-actions{margin-left:auto}.header-actions .btn{padding-inline:12px;font-size:13px}}@media (min-width: 921px){.header-menu::details-content{content-visibility:visible}.header-menu:not([open])>.main-nav{display:block}}@media (max-width: 360px){.site-header .container-wide{padding-inline:12px}.site-header .header-inner{gap:6px}.header-actions .btn{padding-inline:8px}}
