:root{--color-white:#fff;--color-black:#000;--color-player-bg:#101218;--color-gray-dark:#323232;--color-gray-med:#777;--color-gray-light:#b2b2b2;--color-gray-xlight:#d9d9d9;--color-accent:#2b71f0;--color-success:#34c759;--color-error:#ff3b30;--color-error-alt:#d73a49;--color-overlay-dark:#000000d9;--color-overlay-light:#ffffff1a;--color-glass-bg:#ebebf099;--color-kbd-border:#00000026;--color-tooltip-kbd-border:#fff3;--color-bg:var(--color-white);--color-surface:#f2f2f7;--color-surface-border:#00000026;--color-text-primary:var(--color-black);--color-text-secondary:var(--color-gray-dark);--color-text-muted:var(--color-gray-med);--color-card-bg:var(--color-surface);--color-card-border:#00000010;--font-family:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace}body{font-family:var(--font-family);color:var(--color-black);-webkit-font-smoothing:antialiased}h1{letter-spacing:-.04em;font-size:39px;font-weight:550;line-height:1}h2{letter-spacing:-.02em;font-size:36px;font-weight:600;line-height:1}h3{letter-spacing:-.02em;font-size:20px;font-weight:600;line-height:1.1}h4{letter-spacing:-.04em;color:var(--color-gray-med);font-size:22px;font-weight:300;line-height:1}.p1{letter-spacing:-.02em;font-size:18px;font-weight:400;line-height:1.2}.p2{letter-spacing:-.02em;color:var(--color-gray-med);font-size:17px;font-weight:300;line-height:1.1}.p3-footer{letter-spacing:-.01em;color:var(--color-gray-med);opacity:var(--opacity-medium);font-size:14px;font-weight:400;line-height:1.3}:root{--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-xxl:32px;--space-xxxl:40px;--space-xxxxl:80px;--space-xxxxxl:100px;--z-base:10;--z-above:20;--z-dropdown:50;--z-fixed:100;--z-overlay:1000;--z-modal:2000;--z-max:10000;--btn-active-scale:.95;--btn-hover-scale:1.02;--btn-hover-scale-lg:1.05}html.a11y-high-contrast{--color-bg:#000;--color-surface:#000;--color-surface-border:#fff;--color-black:#fff;--color-text-primary:#fff;--color-text-secondary:#fff;--color-text-muted:#fff;--color-gray-dark:#fff;--color-gray-med:#fff;--color-gray-light:#fff;--color-card-bg:#000;--color-card-border:#fff;--border-width-thin:2px;--border-width-medium:3px;--color-kbd-border:#fff;--color-tooltip-kbd-border:#fff}html.a11y-forced-colors{--color-bg:Canvas;--color-surface:Canvas;--color-text-primary:CanvasText;--color-text-secondary:CanvasText;--color-text-muted:GrayText;--color-card-bg:Canvas;--color-card-border:CanvasText;--color-surface-border:CanvasText;--border-width-thin:1px;--a11y-focus-outline:3px solid Highlight;--a11y-focus-offset:2px}html.a11y-large-text{--font-scale-multiplier:1.25}html.a11y-large-text h1{font-size:48px!important}html.a11y-large-text h2{font-size:40px!important}html.a11y-large-text h3{font-size:28px!important}html.a11y-large-text .p1{font-size:22px!important}html.a11y-large-text .p2{font-size:20px!important}html.a11y-dyslexia *{letter-spacing:.05em!important;word-spacing:.1em!important;font-family:Comic Sans MS,Comic Sans,cursive,sans-serif!important}html.a11y-reduce-motion{--btn-active-scale:1;--btn-hover-scale:1;--btn-hover-scale-lg:1;--component-transition:all 0s linear!important}html.a11y-reduce-motion *,html.a11y-reduce-motion :before,html.a11y-reduce-motion :after{scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important;animation-duration:0s!important;animation-delay:0s!important}html.a11y-focus-mode{--a11y-focus-outline:4px solid var(--color-accent);--a11y-focus-offset:4px;--preview-focus-outline:4px solid var(--color-accent)}:root{--overlay-glass-bg:#0000001a;--overlay-glass-blur:6px}.foundation-glass{background:var(--overlay-glass-bg);-webkit-backdrop-filter:blur(var(--overlay-glass-blur))}:root{--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-xl:24px;--radius-pill:100px;--radius-circle:50%;--anim-fast:.2s;--anim-normal:.3s;--anim-slow:.4s;--anim-spring:cubic-bezier(.34, 1.56, .64, 1);--anim-linear:linear;--ease-standard:ease;--ease-fluid:cubic-bezier(.16, 1, .3, 1);--component-transition:all var(--anim-normal) var(--ease-fluid);--size-height-xs:24px;--size-height-sm:32px;--size-height-md:40px;--size-height-lg:48px;--size-height-xl:56px;--size-icon-sm:16px;--size-icon-md:20px;--size-icon-lg:24px;--size-icon-xl:32px;--size-max-width-xs:320px;--size-max-width-sm:480px;--size-max-width-md:768px;--size-max-width-lg:1024px;--size-max-width-xl:1280px;--shadow-none:none;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a;--shadow-inset:inset 0 2px 4px 0 #0000000f;--breakpoint-xs:320px;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-xxl:1536px;--grid-columns-mobile:4;--grid-columns-tablet:8;--grid-columns-desktop:12;--grid-gutter:24px;--opacity-solid:1;--opacity-high:.85;--opacity-medium:.6;--opacity-low:.38;--opacity-faint:.12;--opacity-disabled:.38;--opacity-transparent:0;--border-width-none:0px;--border-width-thin:1px;--border-width-medium:2px;--border-width-thick:4px;--border-style-solid:solid;--border-style-dashed:dashed;--border-style-dotted:dotted;--surface-canvas:var(--color-bg);--surface-card:var(--color-card-bg);--surface-raised:var(--color-bg);--surface-overlay:var(--color-bg);--surface-glass:var(--overlay-glass-bg);--surface-modal:var(--color-bg);--surface-shadow-level-0:var(--shadow-none);--surface-shadow-level-1:var(--shadow-sm);--surface-shadow-level-2:var(--shadow-md);--surface-shadow-level-3:var(--shadow-lg);--surface-shadow-level-4:var(--shadow-md);--surface-shadow-level-5:var(--shadow-xl)}.surface-canvas{background-color:var(--surface-canvas)}.surface-card{background-color:var(--surface-card);border:var(--border-width-thin) var(--border-style-solid) var(--color-card-border);box-shadow:var(--surface-shadow-level-1)}.surface-raised{background-color:var(--surface-raised);border:var(--border-width-thin) var(--border-style-solid) var(--color-card-border);box-shadow:var(--surface-shadow-level-2)}.surface-overlay{background-color:var(--surface-overlay);box-shadow:var(--surface-shadow-level-3);z-index:var(--z-dropdown)}.surface-glass{background:var(--surface-glass);-webkit-backdrop-filter:blur(var(--overlay-glass-blur));border-bottom:var(--border-width-thin) var(--border-style-solid) var(--color-card-border)}.surface-modal{background-color:var(--surface-modal);box-shadow:var(--surface-shadow-level-5);border-radius:var(--radius-lg);z-index:var(--z-modal)}.form-field{gap:var(--space-xs);width:100%;font-family:var(--font-family);flex-direction:column;display:flex}.form-label{color:var(--color-black);letter-spacing:-.01em;font-size:14px;font-weight:600}.input-control{box-sizing:border-box;width:100%;height:var(--size-height-md);padding:0 var(--space-md);font-family:var(--font-family);color:var(--color-black);background:var(--custom-bg,var(--color-bg));border:var(--border-width-thin) var(--border-style-solid) var(--color-gray-light);border-radius:var(--custom-radius,var(--radius-md));transition:border-color var(--anim-fast) var(--ease-fluid), box-shadow var(--anim-fast) var(--ease-fluid);font-size:16px}.input-control-sm{height:var(--size-height-sm);padding:0 var(--space-sm);font-size:14px}.input-control-lg{height:var(--size-height-lg);padding:0 var(--space-lg);font-size:18px}.input-control:hover:not(:disabled){border-color:var(--color-gray-med)}.input-control:focus-visible{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #2b71f033}.input-control[aria-invalid=true]{border-color:var(--color-error)}.input-control[aria-invalid=true]:focus-visible{box-shadow:0 0 0 3px #ff3b3033}.input-control:disabled{opacity:var(--opacity-disabled);background:var(--color-card-bg);cursor:not-allowed}.form-helper-text{color:var(--color-gray-med);font-size:13px;line-height:1.2}.form-helper-text.error{color:var(--color-error)}.form-helper-text.success{color:var(--color-success)}.container-xs{width:100%;max-width:var(--size-max-width-xs);margin-inline:auto}.container-sm{width:100%;max-width:var(--size-max-width-sm);margin-inline:auto}.container-md{width:100%;max-width:var(--size-max-width-md);margin-inline:auto}.container-lg{width:100%;max-width:var(--size-max-width-lg);margin-inline:auto}.container-xl{width:100%;max-width:var(--size-max-width-xl);margin-inline:auto}.layout-stack{justify-content:flex-start;gap:var(--space-md);flex-direction:column;display:flex}.layout-stack-tight{gap:var(--space-xs)}.layout-stack-loose{gap:var(--space-xl)}.layout-cluster{align-items:center;gap:var(--space-sm);flex-flow:wrap;display:flex}.layout-cluster-between{justify-content:space-between}.layout-cluster-end{justify-content:flex-end}.layout-grid{gap:var(--grid-gutter,24px);grid-template-columns:repeat(var(--grid-columns-mobile,4), 1fr);width:100%;display:grid}@media (width>=768px){.layout-grid{grid-template-columns:repeat(var(--grid-columns-tablet,8), 1fr)}}@media (width>=1024px){.layout-grid{grid-template-columns:repeat(var(--grid-columns-desktop,12), 1fr)}}.layout-dock-header{z-index:var(--z-fixed);background:var(--overlay-glass-bg);width:100%;-webkit-backdrop-filter:blur(var(--overlay-glass-blur));border-bottom:var(--border-width-thin) var(--border-style-solid) var(--color-card-border);padding:var(--space-sm) var(--space-lg);position:sticky;top:0}.layout-dock-footer{z-index:var(--z-fixed);background:var(--color-bg);border-top:var(--border-width-thin) var(--border-style-solid) var(--color-card-border);padding:var(--space-md) var(--space-lg);position:fixed;bottom:0;left:0;right:0}mermaid-diagram{width:100%;margin:var(--space-xl,24px) 0;display:block;overflow-x:auto}mermaid-diagram svg{max-width:100%;height:auto}mermaid-diagram .node rect,mermaid-diagram .node circle,mermaid-diagram .node polygon,mermaid-diagram .node path,mermaid-diagram .actor{fill:var(--color-surface,#f2f2f7)!important;stroke:var(--color-surface-border,#00000026)!important;stroke-width:var(--border-width-thin,1px)!important}mermaid-diagram .cluster rect{fill:var(--color-bg,#fff)!important;stroke:var(--color-surface-border,#00000026)!important}mermaid-diagram .node foreignObject{overflow:visible!important}mermaid-diagram .node foreignObject div{box-sizing:border-box;width:100%;height:100%;padding:0 8px;white-space:normal!important;overflow-wrap:anywhere!important;text-align:center!important;justify-content:center!important;align-items:center!important;line-height:1.25!important;display:flex!important}mermaid-diagram .node foreignObject .nodeLabel p{text-align:center!important;width:100%!important;margin:0!important}mermaid-diagram .node foreignObject .nodeLabel{justify-content:center!important;align-items:center!important;width:100%!important;height:100%!important;display:flex!important}mermaid-diagram .label text,mermaid-diagram .node foreignObject,mermaid-diagram .actor text,mermaid-diagram .messageText,mermaid-diagram .labelText,mermaid-diagram text{fill:var(--color-text-primary,#000)!important;color:var(--color-text-primary,#000)!important}mermaid-diagram .edgePath .path,mermaid-diagram .flowchart-link{stroke:var(--color-text-secondary,#323232)!important;fill:none!important;stroke-width:1.5px!important}mermaid-diagram marker path{stroke:var(--color-text-secondary,#323232)!important;fill:var(--color-text-secondary,#323232)!important}html.a11y-large-text mermaid-diagram .nodeLabel,html.a11y-large-text mermaid-diagram text,mermaid-diagram[a11y-large-text] .nodeLabel,mermaid-diagram[a11y-large-text] text{font-size:1.2em!important}html.a11y-dark-mode mermaid-diagram .node rect,html.a11y-dark-mode mermaid-diagram .node circle,html.a11y-dark-mode mermaid-diagram .node polygon,html.a11y-dark-mode mermaid-diagram .node path,html.a11y-dark-mode mermaid-diagram .actor,:host([a11y-dark-mode]) mermaid-diagram .node rect,ds-article[a11y-dark-mode] mermaid-diagram .node rect{fill:var(--color-surface,#1c1c1e)!important;stroke:var(--color-surface-border,#ffffff1f)!important}html.a11y-dark-mode mermaid-diagram .cluster rect,:host([a11y-dark-mode]) mermaid-diagram .cluster rect,ds-article[a11y-dark-mode] mermaid-diagram .cluster rect{fill:var(--color-player-bg,#101218)!important;stroke:var(--color-surface-border,#ffffff1f)!important}html.a11y-dark-mode mermaid-diagram .label text,html.a11y-dark-mode mermaid-diagram .node foreignObject,html.a11y-dark-mode mermaid-diagram .actor text,html.a11y-dark-mode mermaid-diagram .messageText,html.a11y-dark-mode mermaid-diagram .labelText,html.a11y-dark-mode mermaid-diagram text,:host([a11y-dark-mode]) mermaid-diagram text,ds-article[a11y-dark-mode] mermaid-diagram text{fill:var(--color-white,#fff)!important;color:var(--color-white,#fff)!important}html.a11y-dark-mode mermaid-diagram .edgePath .path,html.a11y-dark-mode mermaid-diagram .flowchart-link,:host([a11y-dark-mode]) mermaid-diagram .edgePath .path,ds-article[a11y-dark-mode] mermaid-diagram .edgePath .path{stroke:var(--color-text-muted,#b2b2b2)!important;fill:none!important}html.a11y-dark-mode mermaid-diagram marker path,:host([a11y-dark-mode]) mermaid-diagram marker path,ds-article[a11y-dark-mode] mermaid-diagram marker path{fill:var(--color-text-muted,#b2b2b2)!important;stroke:var(--color-text-muted,#b2b2b2)!important}html.a11y-high-contrast mermaid-diagram .node rect,html.a11y-high-contrast mermaid-diagram .node circle,html.a11y-high-contrast mermaid-diagram .node polygon,html.a11y-high-contrast mermaid-diagram .node path,html.a11y-high-contrast mermaid-diagram .cluster rect,html.a11y-high-contrast mermaid-diagram .actor,:host([a11y-high-contrast]) mermaid-diagram .node rect,ds-article[a11y-high-contrast] mermaid-diagram .node rect{fill:#000!important;stroke:#fff!important;stroke-width:2px!important}html.a11y-high-contrast mermaid-diagram .label text,html.a11y-high-contrast mermaid-diagram .node foreignObject,html.a11y-high-contrast mermaid-diagram text,:host([a11y-high-contrast]) mermaid-diagram text,ds-article[a11y-high-contrast] mermaid-diagram text{fill:#fff!important;color:#fff!important}html.a11y-high-contrast mermaid-diagram .edgePath .path,html.a11y-high-contrast mermaid-diagram .flowchart-link,:host([a11y-high-contrast]) mermaid-diagram .edgePath .path,ds-article[a11y-high-contrast] mermaid-diagram .edgePath .path{stroke:#fff!important;fill:none!important;stroke-width:2px!important}html.a11y-high-contrast mermaid-diagram marker path,:host([a11y-high-contrast]) mermaid-diagram marker path,ds-article[a11y-high-contrast] mermaid-diagram marker path{fill:#fff!important;stroke:#fff!important}html.a11y-forced-colors mermaid-diagram .node rect,html.a11y-forced-colors mermaid-diagram .node circle,html.a11y-forced-colors mermaid-diagram .node polygon,html.a11y-forced-colors mermaid-diagram .node path,html.a11y-forced-colors mermaid-diagram .cluster rect,html.a11y-forced-colors mermaid-diagram .actor,:host([a11y-forced-colors]) mermaid-diagram .node rect,ds-article[a11y-forced-colors] mermaid-diagram .node rect,html.a11y-forced-colors.a11y-dark-mode mermaid-diagram .node rect,html.a11y-forced-colors.a11y-high-contrast mermaid-diagram .node rect,:host([a11y-forced-colors][a11y-dark-mode]) mermaid-diagram .node rect,:host([a11y-forced-colors][a11y-high-contrast]) mermaid-diagram .node rect,ds-article[a11y-forced-colors][a11y-dark-mode] mermaid-diagram .node rect,ds-article[a11y-forced-colors][a11y-high-contrast] mermaid-diagram .node rect{forced-color-adjust:none!important;fill:canvas!important;stroke:canvastext!important;stroke-width:1.5px!important}html.a11y-forced-colors mermaid-diagram text,html.a11y-forced-colors mermaid-diagram .node foreignObject,:host([a11y-forced-colors]) mermaid-diagram text,ds-article[a11y-forced-colors] mermaid-diagram text,html.a11y-forced-colors.a11y-dark-mode mermaid-diagram text,html.a11y-forced-colors.a11y-high-contrast mermaid-diagram text,:host([a11y-forced-colors][a11y-dark-mode]) mermaid-diagram text,:host([a11y-forced-colors][a11y-high-contrast]) mermaid-diagram text,ds-article[a11y-forced-colors][a11y-dark-mode] mermaid-diagram text,ds-article[a11y-forced-colors][a11y-high-contrast] mermaid-diagram text{forced-color-adjust:none!important;fill:canvastext!important;color:canvastext!important}html.a11y-forced-colors mermaid-diagram .edgePath .path,html.a11y-forced-colors mermaid-diagram .flowchart-link,:host([a11y-forced-colors]) mermaid-diagram .edgePath .path,ds-article[a11y-forced-colors] mermaid-diagram .edgePath .path{forced-color-adjust:none!important;stroke:canvastext!important;fill:none!important}html.a11y-forced-colors mermaid-diagram marker path,html.a11y-forced-colors.a11y-dark-mode mermaid-diagram marker path,html.a11y-forced-colors.a11y-high-contrast mermaid-diagram marker path,:host([a11y-forced-colors]) mermaid-diagram marker path,:host([a11y-forced-colors][a11y-dark-mode]) mermaid-diagram marker path,:host([a11y-forced-colors][a11y-high-contrast]) mermaid-diagram marker path{forced-color-adjust:none!important;stroke:canvastext!important;fill:canvastext!important}@media (forced-colors:active){mermaid-diagram .node rect,mermaid-diagram .node circle,mermaid-diagram .node polygon,mermaid-diagram .node path,mermaid-diagram .cluster rect,mermaid-diagram .actor{forced-color-adjust:none!important;fill:canvas!important;stroke:canvastext!important;stroke-width:1.5px!important}mermaid-diagram text,mermaid-diagram .node foreignObject{forced-color-adjust:none!important;fill:canvastext!important;color:canvastext!important}mermaid-diagram .edgePath .path,mermaid-diagram .flowchart-link{forced-color-adjust:none!important;stroke:canvastext!important;fill:none!important}mermaid-diagram marker path{forced-color-adjust:none!important;stroke:canvastext!important;fill:canvastext!important}}*,:before,:after{box-sizing:border-box;-webkit-user-select:none;user-select:none}input,textarea,pre,code,[contenteditable=true]{-webkit-user-select:text;user-select:text}body{background-color:var(--color-bg);color:var(--color-black);-webkit-font-smoothing:antialiased;margin:0}html,body,#root,#storybook-root,.sb-show-main,main{scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}body::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}#root::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}#storybook-root::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}.sb-show-main::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}main::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}*,:before,:after{box-sizing:border-box}.article-table-scroll::-webkit-scrollbar{width:0;height:0;display:none}.article-table-scroll{scrollbar-width:none;-ms-overflow-style:none}body{background-color:var(--color-bg,var(--color-player-bg,#101218));color:var(--color-black);font-family:var(--font-family);-webkit-font-smoothing:antialiased;width:100%;min-width:0;max-width:100%;height:100vh;margin:0;transition:background-color .28s;overflow:hidden}html{background-color:var(--color-bg,var(--color-player-bg,#101218));transition:background-color .28s}@media (prefers-reduced-motion:reduce){html,body{transition:none}}html.a11y-dark-mode{--color-bg:var(--color-player-bg);--color-surface:#1c1c1e;--color-surface-border:#ffffff1f;--color-black:#fff;--color-text-primary:#fff;--color-text-secondary:#f5f5f5;--color-text-muted:#b2b2b2;--color-card-bg:var(--color-surface);--color-card-border:var(--color-surface-border);--color-kbd-border:#fff3}html.a11y-high-contrast{--color-bg:#000;--color-surface:#000;--color-surface-border:#fff;--color-black:#fff;--color-text-primary:#fff;--color-text-secondary:#fff;--color-text-muted:#fff;--color-gray-dark:#fff;--color-gray-med:#fff;--color-gray-light:#fff;--color-card-bg:#000;--color-card-border:#fff;--color-kbd-border:#fff}html.a11y-forced-colors{--color-bg:Canvas;--color-surface:Canvas;--color-text-primary:CanvasText;--color-text-secondary:CanvasText;--color-text-muted:GrayText;--color-card-bg:Canvas;--color-card-border:CanvasText;--color-surface-border:CanvasText}
