@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-tracking:initial;--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:"CursorGothic", ui-sans-serif, system-ui, -apple-system, "BlinkMacSystemFont", "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", ui-monospace, "SFMono-Regular", menlo, consolas, "Liberation Mono", monospace;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-normal:0em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-md:.375rem;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"CursorGothic", ui-sans-serif, system-ui, -apple-system, "BlinkMacSystemFont", "Segoe UI", sans-serif;--default-mono-font-family:"JetBrains Mono", "Fira Code", ui-monospace, "SFMono-Regular", menlo, consolas, "Liberation Mono", monospace}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--primary:#0f62fe;--primary-hover:#0050e6;--primary-active:#002d9c;--primary-action:#0f62fe;--primary-action-hover:#0050e6;--primary-contrast:#fff;--bg:#fff;--surface:#fff;--surface-2:#f4f4f4;--surface-3:#e8e8e8;--nav-surface:#fffffff2;--ink:#161616;--muted:#6f6f6f;--soft:#393939;--line:#e0e0e0;--line-strong:#c6c6c6;--primary-soft:#edf5ff;--success-soft:#edf8f4;--warning-soft:#fcf4d6;--warning-tooltip:#fffaf0;--danger-soft:#fff1f1;--code-bg:#f6f8fa;--pipe-border:#16161624;--pipe-border-soft:#1616161f;--pipe-front:#ffffff2e;--pipe-c2s:#edf5ff73;--pipe-c2s-back:#f7fbff;--pipe-s2c:#f3f6ffa6;--pipe-s2c-back:#f8faff;--shadow-popover:#1616161f;--shadow-modal:#1616162e;--modal-backdrop:#1616167a;--client:var(--primary);--client-ink:var(--primary-active);--server:#78a9ff;--server-ink:#0043ce;--packet:#a6c8ff;--packet-ink:#002d9c;--danger:#cf2d56;--warning:#8d6d00;--ok:#1f8a65;--peer-broken:#6f6f6f;--known-peer-broken:#6929c4;--peer-broken-soft:#f4f4f4;--known-peer-broken-soft:#f6f2ff;--radius:4px}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--primary:#78a9ff;--primary-hover:#a6c8ff;--primary-active:#d0e2ff;--primary-action:#0f62fe;--primary-action-hover:#4589ff;--primary-contrast:#fff;--bg:#0b0f14;--surface:#111820;--surface-2:#161f2a;--surface-3:#202b38;--nav-surface:#111820f0;--ink:#f4f7fb;--muted:#9aa7b7;--soft:#d2dae5;--line:#273241;--line-strong:#3b4656;--primary-soft:#78a9ff29;--success-soft:#42be6524;--warning-soft:#f1c21b29;--warning-tooltip:#241d0b;--danger-soft:#ff7eb624;--code-bg:#0d1117;--pipe-border:#a6c8ff33;--pipe-border-soft:#a6c8ff29;--pipe-front:#ffffff0a;--pipe-c2s:#78a9ff14;--pipe-c2s-back:#111d2a;--pipe-s2c:#a6c8ff14;--pipe-s2c-back:#111b27;--shadow-popover:#00000061;--shadow-modal:#00000080;--modal-backdrop:#000000a3;--client:var(--primary-action);--client-ink:var(--primary-active);--server:#a6c8ff;--server-ink:#a6c8ff;--packet:#78a9ff;--packet-ink:#d0e2ff;--danger:#ff7eb6;--warning:#f1c21b;--ok:#42be65;--peer-broken:#c6c6c6;--known-peer-broken:#d4bbff;--peer-broken-soft:#c6c6c624;--known-peer-broken-soft:#be95ff29}*{box-sizing:border-box}html{background:var(--bg);min-width:320px}body{background:var(--bg);min-height:100vh;color:var(--ink);font-family:var(--font-sans);letter-spacing:0;margin:0}h1,h2,h3,p{letter-spacing:0;margin:0}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;font:inherit}button:disabled{cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid color-mix(in srgb, var(--primary) 48%, transparent)}}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline-offset:3px}svg{display:block}}@layer components{.coquic-page{width:100%;max-width:1340px;padding-inline:calc(var(--spacing) * 3);padding-bottom:calc(var(--spacing) * 10);margin-inline:auto}@media (min-width:40rem){.coquic-page{padding-inline:18px}}@media (min-width:64rem){.coquic-page{padding-inline:calc(var(--spacing) * 6);padding-bottom:calc(var(--spacing) * 14)}}.workbench-page{--surface:var(--bg);--surface-2:var(--bg);--workbench-field:transparent;--workbench-hover:#0f62fe0f;--workbench-selected:#0f62fe1a;--workbench-danger:#cf2d5614;--workbench-warning:#8d6d0014;--surface-3:var(--workbench-hover);--shadow-popover:#1616161a;--shadow-modal:#16161629;background:var(--bg)}html[data-theme=dark] .workbench-page{--bg:#070b11;--surface:var(--bg);--surface-2:var(--bg);--primary:#8ab4ff;--primary-hover:#b6d2ff;--primary-active:#d8e7ff;--primary-soft:#8ab4ff1f;--danger-soft:#ff7eb61a;--warning-soft:#f1c21b1a;--ink:#f7f9fc;--soft:#d6dfeb;--muted:#93a4b8;--line:#94a3b838;--line-strong:#94a3b857;--client:#8ab4ff;--client-ink:#d8e7ff;--server:#b6d2ff;--server-ink:#cfe0ff;--packet:#8ab4ff;--packet-ink:#d8e7ff;--workbench-hover:#8ab4ff1a;--workbench-selected:#8ab4ff24;--workbench-danger:#ff7eb61f;--workbench-warning:#f1c21b1f;--surface-3:var(--workbench-hover);--shadow-popover:#0000006b;--shadow-modal:#00000094}.top-nav{top:calc(var(--spacing) * 0);z-index:20;min-height:calc(var(--spacing) * 12);justify-content:space-between;align-items:center;gap:calc(var(--spacing) * 3);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--line);background-color:var(--nav-surface);padding-block:calc(var(--spacing) * 1.5);--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);display:flex;position:sticky}@media (min-width:64rem){.top-nav{gap:calc(var(--spacing) * 5)}}.top-nav-links{min-width:calc(var(--spacing) * 0);justify-content:flex-start;align-items:center;gap:calc(var(--spacing) * .5);flex:1;margin-left:auto;display:inline-flex}@media (min-width:64rem){.top-nav-links{justify-content:flex-end}}.nav-link{height:calc(var(--spacing) * 9);min-height:calc(var(--spacing) * 9);cursor:pointer;border-radius:var(--radius-md);border-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 2);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-leading:1;--tw-font-weight:var(--font-weight-medium);line-height:1;font-weight:var(--font-weight-medium);color:var(--ink);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;border-width:1px;border-color:#0000;flex-shrink:0;justify-content:center;align-items:center;text-decoration-line:none;transition-duration:.2s;display:inline-flex}@media (hover:hover){.nav-link:hover{background-color:var(--surface-3)}}.nav-link:focus-visible{background-color:var(--surface-3)}@media (min-width:40rem){.nav-link{padding-inline:calc(var(--spacing) * 2.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.nav-link[aria-current=page]{background-color:var(--primary-action);color:var(--primary-contrast)}@media (hover:hover){.nav-link[aria-current=page]:hover{background-color:var(--primary-action-hover)}}.nav-link[aria-current=page]:focus-visible{background-color:var(--primary-action-hover)}.nav-menu{flex-shrink:0;position:relative}.nav-menu-trigger{gap:calc(var(--spacing) * 1.5)}.nav-menu-trigger svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5);transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;transition-duration:.2s}.nav-menu[data-open=true] .nav-menu-trigger svg{rotate:180deg}.nav-menu-content{top:calc(100% + 6px);right:calc(var(--spacing) * 0);z-index:30;min-width:calc(var(--spacing) * 36);border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);background-color:var(--surface);padding:calc(var(--spacing) * 1);box-shadow:0 18px 48px var(--shadow-popover);display:grid;position:absolute}.nav-menu:not([data-open=true]) .nav-menu-content,.mobile-nav-menu-content{display:none}.nav-menu-link{min-height:calc(var(--spacing) * 9);border-radius:var(--radius);padding-inline:calc(var(--spacing) * 2.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--ink);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;align-items:center;text-decoration-line:none;transition-duration:.2s;display:flex}@media (hover:hover){.nav-menu-link:hover{background-color:var(--surface-3)}}.nav-menu-link:focus-visible{background-color:var(--surface-3)}.nav-menu-link[aria-current=page]{background-color:var(--primary-soft);color:var(--primary-active)}.top-nav-home{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10);border-radius:var(--radius);border-style:var(--tw-border-style);padding:calc(var(--spacing) * 0);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;border-width:1px;border-color:#0000;flex-shrink:0;justify-content:center;align-items:center;transition-duration:.2s;display:inline-flex}@media (hover:hover){.top-nav-home:hover{background-color:var(--surface-3)}}.top-nav-home:focus-visible{background-color:var(--surface-3)}.top-nav-home[aria-current=page]{color:var(--ink);background-color:#0000}@media (hover:hover){.top-nav-home[aria-current=page]:hover{background-color:var(--surface-3)}}.repo-link{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9);border-radius:var(--radius-md);color:var(--ink);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;flex-shrink:0;justify-content:center;align-items:center;text-decoration-line:none;transition-duration:.2s;display:none}@media (hover:hover){.repo-link:hover{background-color:var(--surface-3);color:var(--primary)}}.repo-link:focus-visible{background-color:var(--surface-3);color:var(--primary)}@media (min-width:40rem){.repo-link{display:inline-flex}}.nav-icon-actions{margin-left:calc(var(--spacing) * 4);align-items:center;gap:calc(var(--spacing) * 1);display:none;position:relative}@media (min-width:40rem){.nav-icon-actions{display:inline-flex}}.nav-icon-actions:before{content:"";left:calc(var(--spacing) * -2);height:calc(var(--spacing) * 5);border-left-style:var(--tw-border-style);border-left-width:1px;border-color:var(--line);position:absolute}.theme-toggle{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9);cursor:pointer;border-radius:var(--radius-md);border-style:var(--tw-border-style);color:var(--ink);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;background-color:#0000;border-width:1px;border-color:#0000;flex-shrink:0;justify-content:center;align-items:center;transition-duration:.2s;display:inline-flex}@media (hover:hover){.theme-toggle:hover{background-color:var(--surface-3);color:var(--primary)}}.theme-toggle:focus-visible{background-color:var(--surface-3);color:var(--primary)}.theme-toggle svg{stroke:currentColor;width:18px;height:18px}.site-search{display:inline-flex}.site-search-trigger{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9);cursor:pointer;justify-content:center;align-items:center;gap:calc(var(--spacing) * 2);border-radius:var(--radius-md);border-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 0);color:var(--ink);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;background-color:#0000;border-width:1px;border-color:#0000;flex-shrink:0;transition-duration:.2s;display:inline-flex}@media (hover:hover){.site-search-trigger:hover{background-color:var(--surface-3);color:var(--primary)}}.site-search-trigger:focus-visible{background-color:var(--surface-3);color:var(--primary)}@media (min-width:64rem){.site-search-trigger{width:auto;padding-inline:calc(var(--spacing) * 2.5)}}.site-search-trigger svg{stroke:currentColor;width:18px;height:18px}.site-search-trigger-label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:1;--tw-font-weight:var(--font-weight-medium);line-height:1;font-weight:var(--font-weight-medium);display:none}@media (min-width:64rem){.site-search-trigger-label{display:inline}}.site-search-trigger kbd{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);background-color:var(--surface-2);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);--tw-leading:1;--tw-font-weight:var(--font-weight-semibold);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:10px;line-height:1;font-weight:var(--font-weight-semibold);color:var(--muted);display:none}@media (min-width:80rem){.site-search-trigger kbd{display:inline}}.site-search-backdrop{inset:calc(var(--spacing) * 0);z-index:50;padding-inline:calc(var(--spacing) * 3);background-color:#0000;place-items:start;padding-block:8vh;display:grid;position:fixed}@media (min-width:40rem){.site-search-backdrop{padding-inline:calc(var(--spacing) * 5)}}.site-search-dialog{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);background-color:var(--surface);width:100%;max-width:720px;margin-inline:auto;display:grid;overflow:hidden}.site-search-field{min-height:calc(var(--spacing) * 14);align-items:center;gap:calc(var(--spacing) * 2);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--line);padding-inline:calc(var(--spacing) * 3);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.site-search-field>svg{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5);color:var(--muted)}.site-search-field input{min-width:calc(var(--spacing) * 0);border-style:var(--tw-border-style);padding-block:calc(var(--spacing) * 4);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--ink);--tw-outline-style:none;background-color:#0000;border-width:0;outline-style:none}.site-search-field input::placeholder{color:var(--muted)}.site-search-field input::-webkit-search-cancel-button{appearance:none}.site-search-close{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9);cursor:pointer;border-radius:var(--radius);border-style:var(--tw-border-style);color:var(--muted);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;background-color:#0000;border-width:1px;border-color:#0000;justify-content:center;align-items:center;transition-duration:.2s;display:inline-flex}@media (hover:hover){.site-search-close:hover{background-color:var(--surface-3);color:var(--primary)}}.site-search-close:focus-visible{background-color:var(--surface-3);color:var(--primary)}.site-search-close svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.site-search-results{max-height:min(62vh,560px);padding:calc(var(--spacing) * 1.5);display:grid;overflow-y:auto}.site-search-result{min-width:calc(var(--spacing) * 0);align-items:center;gap:calc(var(--spacing) * 3);border-radius:var(--radius);padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 2.5);text-align:left;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.15s;grid-template-columns:auto minmax(0,1fr) auto;text-decoration-line:none;transition-duration:.15s;display:grid}@media (hover:hover){.site-search-result:hover{background-color:var(--surface-3)}}.site-search-result[aria-selected=true]{background-color:var(--primary-soft)}.site-search-result-icon{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9);border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);background-color:var(--surface-2);color:var(--primary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.site-search-result-icon svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.site-search-result-copy{min-width:calc(var(--spacing) * 0);gap:calc(var(--spacing) * 1);display:grid}.site-search-result-copy>span{min-width:calc(var(--spacing) * 0);align-items:center;column-gap:calc(var(--spacing) * 2);row-gap:calc(var(--spacing) * 1);flex-wrap:wrap;display:flex}.site-search-result-copy strong{min-width:calc(var(--spacing) * 0);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:var(--leading-tight);line-height:var(--leading-tight);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--ink)}.site-search-result-copy small{--tw-leading:var(--leading-tight);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:11px;line-height:var(--leading-tight);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--primary);text-transform:uppercase}.site-search-result-copy em{-webkit-line-clamp:2;--tw-leading:var(--leading-relaxed);font-size:13px;line-height:var(--leading-relaxed);color:var(--muted);-webkit-box-orient:vertical;font-style:normal;display:-webkit-box;overflow:hidden}.site-search-result-arrow{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4);color:var(--muted);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.15s;flex-shrink:0;transition-duration:.15s}.site-search-result:hover .site-search-result-arrow,.site-search-result[aria-selected=true] .site-search-result-arrow{color:var(--primary)}.site-search-empty{gap:calc(var(--spacing) * 1);border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);background-color:var(--surface-2);padding:calc(var(--spacing) * 4);display:grid}.site-search-empty strong{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--ink)}.site-search-empty span{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted)}.theme-popover{box-shadow:0 18px 48px var(--shadow-popover)}.themed-link{-webkit-text-decoration-color:var(--primary);-webkit-text-decoration-color:var(--primary);-webkit-text-decoration-color:var(--primary);text-decoration-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.themed-link{-webkit-text-decoration-color:color-mix(in srgb, var(--primary) 32%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--primary) 32%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--primary) 32%, transparent);text-decoration-color:color-mix(in srgb, var(--primary) 32%, transparent)}}.eyebrow{align-items:center;gap:calc(var(--spacing) * 2);--tw-font-weight:var(--font-weight-semibold);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:11px;font-weight:var(--font-weight-semibold);color:var(--primary);text-transform:uppercase;display:inline-flex}.eyebrow:before{content:"";background-color:var(--primary);border-radius:3.40282e38px;width:7px;height:7px}.page-header{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--line);padding-block:calc(var(--spacing) * 6)}@media (min-width:64rem){.page-header{padding-block:calc(var(--spacing) * 7)}}.page-title{margin-top:calc(var(--spacing) * 3);--tw-leading:1.08;--tw-font-weight:var(--font-weight-normal);max-width:760px;font-size:32px;line-height:1.08;font-weight:var(--font-weight-normal);color:var(--ink)}@media (min-width:40rem){.page-title{font-size:38px}}@media (min-width:64rem){.page-title{font-size:46px}}.panel-head{justify-content:space-between;align-items:center;gap:calc(var(--spacing) * 4);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--line);background-color:var(--surface);padding:calc(var(--spacing) * 4);display:flex}.panel-head h2{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:var(--leading-tight);line-height:var(--leading-tight);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--ink)}.panel-head p{margin-top:calc(var(--spacing) * 1);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted)}.empty-state,.diag-empty{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);background-color:var(--surface-2);padding:calc(var(--spacing) * 4);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted)}.metric-bar{height:calc(var(--spacing) * 2.5);background-color:var(--surface-3);border-radius:3.40282e38px;position:relative;overflow:hidden}.metric-bar i{inset-block:calc(var(--spacing) * 0);left:calc(var(--spacing) * 0);background-color:var(--primary);width:var(--coverage-width,0%);border-radius:3.40282e38px;display:block;position:absolute}.metric-card{gap:calc(var(--spacing) * 2.5);border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);background-color:var(--surface);min-height:154px;padding:calc(var(--spacing) * 4);display:grid}.metric-card span{font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted)}.metric-card strong{--tw-leading:1;--tw-font-weight:var(--font-weight-normal);font-size:42px;line-height:1;font-weight:var(--font-weight-normal);color:var(--ink)}@media (min-width:40rem){.metric-card strong{font-size:58px}}.component-row,.file-row{gap:calc(var(--spacing) * 2);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--line);padding:calc(var(--spacing) * 4);display:grid}:is(.component-row,.file-row):last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.row-top{justify-content:space-between;align-items:flex-start;gap:calc(var(--spacing) * 3);display:flex}.row-top strong{min-width:calc(var(--spacing) * 0);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);overflow-wrap:break-word;color:var(--ink)}.row-top span{font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--primary);flex-shrink:0}.row-meta{gap:calc(var(--spacing) * 2);flex-wrap:wrap;display:flex}.row-meta span{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);background-color:var(--surface-2);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);color:var(--muted);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:11px}.source-time{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9);cursor:help;border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);background-color:var(--surface-2);color:var(--muted);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;justify-content:center;align-items:center;transition-duration:.2s;display:inline-flex;position:relative}@media (hover:hover){.source-time:hover{border-color:var(--primary);color:var(--primary)}}.source-time:focus-visible{border-color:var(--primary);color:var(--primary)}.source-time svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4);fill:none;stroke:currentColor;stroke-width:2px}.source-time:after{content:attr(data-tooltip);pointer-events:none;top:calc(100% + 8px);right:calc(var(--spacing) * 0);z-index:30;border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);background-color:var(--surface);width:max-content;max-width:260px;padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--ink);box-shadow:0 18px 48px var(--shadow-popover);display:none;position:absolute}.source-time:hover:after,.source-time:focus-visible:after{display:block}.docs-layout{gap:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 5);display:grid}@media (min-width:64rem){.docs-layout{grid-template-columns:260px minmax(0,1fr);align-items:flex-start}}.docs-sidebar{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);background-color:var(--surface)}@media (min-width:64rem){.docs-sidebar{position:sticky;top:68px}}.docs-sidebar-head{gap:calc(var(--spacing) * 1);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--line);padding:calc(var(--spacing) * 4);display:grid}.docs-sidebar-head span{--tw-font-weight:var(--font-weight-semibold);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:11px;font-weight:var(--font-weight-semibold);color:var(--primary);text-transform:uppercase}.docs-sidebar-head strong{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--ink)}.docs-sidebar nav{padding:calc(var(--spacing) * 1.5);display:grid}.docs-nav-section{margin-top:calc(var(--spacing) * 2);padding-inline:calc(var(--spacing) * 2.5);padding-top:calc(var(--spacing) * 2);padding-bottom:calc(var(--spacing) * 1);--tw-font-weight:var(--font-weight-semibold);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:10px;font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal);color:var(--muted);text-transform:uppercase}.docs-nav-section:first-child{margin-top:calc(var(--spacing) * 0)}.docs-nav-link{min-height:calc(var(--spacing) * 9);border-radius:var(--radius);padding-inline:calc(var(--spacing) * 2.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--ink);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;align-items:center;text-decoration-line:none;transition-duration:.2s;display:flex}@media (hover:hover){.docs-nav-link:hover{background-color:var(--surface-3)}}.docs-nav-link:focus-visible{background-color:var(--surface-3)}.docs-nav-link-nested{margin-left:calc(var(--spacing) * 3);border-left-style:var(--tw-border-style);border-left-width:1px;border-color:var(--line);padding-left:calc(var(--spacing) * 3);border-top-left-radius:0;border-bottom-left-radius:0}.docs-nav-link[aria-current=page]{background-color:var(--primary-soft);color:var(--primary-active)}.docs-article{min-width:calc(var(--spacing) * 0);border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);background-color:var(--surface);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 5)}@media (min-width:40rem){.docs-article{padding-inline:calc(var(--spacing) * 6)}}@media (min-width:64rem){.docs-article{padding-inline:calc(var(--spacing) * 8);padding-block:calc(var(--spacing) * 7)}}.docs-markdown{gap:calc(var(--spacing) * 4);--tw-leading:var(--leading-relaxed);max-width:860px;font-size:15px;line-height:var(--leading-relaxed);color:var(--soft);margin-inline:auto;display:grid}.docs-markdown h1{--tw-leading:1.08;--tw-font-weight:var(--font-weight-normal);font-size:32px;line-height:1.08;font-weight:var(--font-weight-normal);color:var(--ink)}@media (min-width:40rem){.docs-markdown h1{font-size:40px}}.docs-markdown h2{margin-top:calc(var(--spacing) * 5);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--line);padding-top:calc(var(--spacing) * 5);--tw-leading:var(--leading-tight);font-size:22px;line-height:var(--leading-tight);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--ink)}.docs-markdown h3{margin-top:calc(var(--spacing) * 3);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:var(--leading-tight);line-height:var(--leading-tight);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--ink)}.docs-function-card{margin-top:calc(var(--spacing) * 3);scroll-margin-top:calc(var(--spacing) * 24);gap:calc(var(--spacing) * 0);border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);background-color:var(--surface);--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);display:grid;position:relative;overflow:hidden}.docs-function-card:before{content:"";top:calc(var(--spacing) * 0);left:calc(var(--spacing) * 0);height:100%;width:calc(var(--spacing) * 1);background-color:var(--primary);position:absolute}.docs-function-card-header{min-width:calc(var(--spacing) * 0);align-items:flex-start;gap:calc(var(--spacing) * 2);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--line);background-color:var(--code-bg);padding-block:calc(var(--spacing) * 3);padding-right:calc(var(--spacing) * 3);padding-left:calc(var(--spacing) * 4);display:flex}@media (min-width:40rem){.docs-function-card-header{padding-right:calc(var(--spacing) * 4);padding-left:calc(var(--spacing) * 5)}}.docs-function-card-header h3{margin:calc(var(--spacing) * 0);min-width:calc(var(--spacing) * 0);scroll-margin-top:calc(var(--spacing) * 24);--tw-leading:var(--leading-snug);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:15px;line-height:var(--leading-snug);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--ink);overflow-wrap:anywhere}.docs-markdown .docs-function-permalink{margin-top:calc(var(--spacing) * .5);border-radius:var(--radius);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--muted);opacity:.7;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;flex-shrink:0;text-decoration-line:none;transition-duration:.2s}@media (hover:hover){.docs-markdown .docs-function-permalink:hover{background-color:var(--primary-soft);color:var(--primary);opacity:1}}.docs-markdown .docs-function-permalink:focus-visible{background-color:var(--primary-soft);color:var(--primary);opacity:1}.docs-markdown .docs-function-permalink{text-decoration:none}.docs-function-card-body{gap:calc(var(--spacing) * 3);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 4);display:grid}@media (min-width:40rem){.docs-function-card-body{padding-inline:calc(var(--spacing) * 5)}}.docs-function-card-body>:first-child{margin-top:calc(var(--spacing) * 0)}.docs-function-card-body>:last-child{margin-bottom:calc(var(--spacing) * 0)}.docs-function-card-body .docs-code-block{border-radius:var(--radius);border-color:var(--line-strong)}.docs-function-card-body .docs-code-toolbar{min-height:calc(var(--spacing) * 8);padding-inline:calc(var(--spacing) * 3)}.docs-function-card-body .docs-code-scroll pre{padding:calc(var(--spacing) * 3);font-size:12px}.docs-markdown .docs-function-label{margin-top:calc(var(--spacing) * 1);--tw-leading:var(--leading-tight);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:12px;line-height:var(--leading-tight);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--muted);text-transform:uppercase}.docs-markdown p{--tw-leading:var(--leading-relaxed);font-size:15px;line-height:var(--leading-relaxed);color:var(--soft)}.docs-markdown ul,.docs-markdown ol{gap:calc(var(--spacing) * 2);padding-left:calc(var(--spacing) * 5);display:grid}.docs-markdown ul{list-style-type:disc}.docs-markdown ol{list-style-type:decimal}.docs-markdown li{padding-left:calc(var(--spacing) * 1);--tw-leading:var(--leading-relaxed);font-size:15px;line-height:var(--leading-relaxed);color:var(--soft)}.docs-markdown a{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--primary);text-underline-offset:4px;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;text-decoration-line:underline;transition-duration:.2s}@media (hover:hover){.docs-markdown a:hover{color:var(--primary-hover);-webkit-text-decoration-color:var(--primary-hover);-webkit-text-decoration-color:var(--primary-hover);-webkit-text-decoration-color:var(--primary-hover);text-decoration-color:var(--primary-hover)}}.docs-markdown a{-webkit-text-decoration-color:var(--primary);-webkit-text-decoration-color:var(--primary);-webkit-text-decoration-color:var(--primary);text-decoration-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.docs-markdown a{-webkit-text-decoration-color:color-mix(in srgb, var(--primary) 32%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--primary) 32%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--primary) 32%, transparent);text-decoration-color:color-mix(in srgb, var(--primary) 32%, transparent)}}.docs-markdown code{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);background-color:var(--surface-2);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);color:var(--ink);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:.88em}.docs-markdown table,.qa-markdown table{border-collapse:collapse;--tw-border-spacing-x:calc(var(--spacing) * 0);--tw-border-spacing-y:calc(var(--spacing) * 0);max-width:100%;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y);border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);background-color:var(--surface);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));display:block;overflow-x:auto}.docs-markdown thead,.qa-markdown thead{background-color:var(--code-bg)}.docs-markdown th,.qa-markdown th{border-style:var(--tw-border-style);border-width:1px;border-color:var(--line-strong);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);text-align:left;vertical-align:top;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-leading:var(--leading-snug);line-height:var(--leading-snug);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--ink);text-transform:uppercase;border-bottom-width:2px}.docs-markdown td,.qa-markdown td{border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2.5);vertical-align:top;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed);color:var(--soft);overflow-wrap:anywhere}.docs-markdown tbody tr:nth-child(2n),.qa-markdown tbody tr:nth-child(2n){background-color:var(--code-bg)}.docs-markdown td>:first-child,.docs-markdown th>:first-child,.qa-markdown td>:first-child,.qa-markdown th>:first-child{margin-top:calc(var(--spacing) * 0)}.docs-markdown td>:last-child,.docs-markdown th>:last-child,.qa-markdown td>:last-child,.qa-markdown th>:last-child{margin-bottom:calc(var(--spacing) * 0)}.qa-markdown{max-width:100%;min-width:calc(var(--spacing) * 0);gap:calc(var(--spacing) * 3);--tw-leading:var(--leading-relaxed);font-size:15px;line-height:var(--leading-relaxed);color:var(--soft);display:grid;overflow:hidden}.qa-markdown h3,.qa-markdown h4{margin-top:calc(var(--spacing) * 1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:var(--leading-tight);line-height:var(--leading-tight);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--ink)}.qa-markdown p{min-width:calc(var(--spacing) * 0);--tw-leading:var(--leading-relaxed);font-size:15px;line-height:var(--leading-relaxed);color:var(--soft);overflow-wrap:anywhere}.qa-markdown ul,.qa-markdown ol{max-width:100%;min-width:calc(var(--spacing) * 0);gap:calc(var(--spacing) * 2);padding-left:calc(var(--spacing) * 5);display:grid}.qa-markdown ul{list-style-type:disc}.qa-markdown ol{list-style-type:decimal}.qa-markdown li{min-width:calc(var(--spacing) * 0);padding-left:calc(var(--spacing) * 1);--tw-leading:var(--leading-relaxed);font-size:15px;line-height:var(--leading-relaxed);color:var(--soft);overflow-wrap:anywhere}.qa-markdown strong{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--ink)}.qa-markdown code{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);background-color:var(--surface-2);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);color:var(--ink);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:.88em}.qa-markdown pre{max-width:100%;min-width:calc(var(--spacing) * 0);border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);background-color:var(--code-bg);padding:calc(var(--spacing) * 3);overflow-x:auto}.qa-markdown pre code{border-style:var(--tw-border-style);padding:calc(var(--spacing) * 0);--tw-leading:var(--leading-relaxed);font-size:12px;line-height:var(--leading-relaxed);color:var(--ink);white-space:pre;background-color:#0000;border-width:0;display:block}.docs-code-block{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);background-color:var(--surface-2);overflow:hidden}.docs-code-toolbar{min-height:calc(var(--spacing) * 10);justify-content:space-between;align-items:center;gap:calc(var(--spacing) * 3);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--line);background-color:var(--surface);padding-inline:calc(var(--spacing) * 3);display:flex}.docs-code-toolbar>span{--tw-font-weight:var(--font-weight-semibold);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:11px;font-weight:var(--font-weight-semibold);color:var(--muted);text-transform:uppercase}.docs-copy-button{min-height:calc(var(--spacing) * 8);align-items:center;gap:calc(var(--spacing) * 1.5);border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);background-color:var(--surface);padding-inline:calc(var(--spacing) * 2.5);--tw-font-weight:var(--font-weight-semibold);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:11px;font-weight:var(--font-weight-semibold);color:var(--ink);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;transition-duration:.2s;display:inline-flex}@media (hover:hover){.docs-copy-button:hover{border-color:var(--primary);background-color:var(--primary-soft);color:var(--primary)}}.docs-copy-button:focus-visible{border-color:var(--primary);background-color:var(--primary-soft);color:var(--primary)}.docs-copy-button svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5);stroke:currentColor}.docs-code-scroll{background-color:var(--code-bg);overflow-x:auto}.docs-code-scroll pre{margin:calc(var(--spacing) * 0);min-width:max-content;padding:calc(var(--spacing) * 4);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed);background-color:#0000}.docs-code-scroll code{border-style:var(--tw-border-style);padding:calc(var(--spacing) * 0);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed);background-color:#0000;border-width:0}.docs-code-scroll .shiki,.docs-code-scroll .shiki span{color:var(--shiki-light)}html[data-theme=dark] .docs-code-scroll .shiki,html[data-theme=dark] .docs-code-scroll .shiki span{color:var(--shiki-dark)}.blog-list{gap:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 5);display:grid}@media (min-width:48rem){.blog-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.blog-card{min-width:calc(var(--spacing) * 0);border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);background-color:var(--surface);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;transition-duration:.2s}.blog-card:hover{border-color:var(--line-strong);background-color:var(--surface-2)}.blog-card-link{gap:calc(var(--spacing) * 3);min-height:100%;padding:calc(var(--spacing) * 4);color:var(--ink);text-decoration-line:none;display:grid}@media (min-width:40rem){.blog-card-link{padding:calc(var(--spacing) * 5)}}.blog-card-meta{min-width:calc(var(--spacing) * 0);column-gap:calc(var(--spacing) * 3);row-gap:calc(var(--spacing) * 1);--tw-font-weight:var(--font-weight-semibold);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:11px;font-weight:var(--font-weight-semibold);color:var(--muted);text-transform:uppercase;flex-wrap:wrap;display:flex}.blog-polish-badge{min-height:calc(var(--spacing) * 5);border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--primary-soft);background-color:var(--primary-soft);padding-inline:calc(var(--spacing) * 1.5);--tw-font-weight:var(--font-weight-bold);font-size:10px;font-weight:var(--font-weight-bold);color:var(--primary);text-transform:none;align-items:center;display:inline-flex}.blog-card h2{--tw-leading:var(--leading-tight);font-size:24px;line-height:var(--leading-tight);--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);color:var(--ink)}@media (min-width:40rem){.blog-card h2{font-size:28px}}.blog-card p{--tw-leading:var(--leading-relaxed);font-size:15px;line-height:var(--leading-relaxed);color:var(--soft)}.blog-card-foot{min-width:calc(var(--spacing) * 0);justify-content:space-between;align-items:flex-end;gap:calc(var(--spacing) * 3);margin-top:auto;display:flex}.blog-card-foot svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4);color:var(--primary);transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;flex-shrink:0;transition-duration:.2s}.blog-card:hover .blog-card-foot svg{--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.blog-tags{min-width:calc(var(--spacing) * 0);gap:calc(var(--spacing) * 1.5);flex-wrap:wrap;display:flex}.blog-tags span{min-height:calc(var(--spacing) * 7);border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);background-color:var(--surface-2);padding-inline:calc(var(--spacing) * 2);--tw-font-weight:var(--font-weight-semibold);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:11px;font-weight:var(--font-weight-semibold);color:var(--muted);align-items:center;display:inline-flex}.blog-post{gap:calc(var(--spacing) * 5);max-width:980px;padding-block:calc(var(--spacing) * 5);margin-inline:auto;display:grid}.blog-back-link{align-items:center;gap:calc(var(--spacing) * 2);border-radius:var(--radius);width:fit-content;padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--primary);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;text-decoration-line:none;transition-duration:.2s;display:inline-flex}@media (hover:hover){.blog-back-link:hover{background-color:var(--primary-soft)}}.blog-back-link:focus-visible{background-color:var(--primary-soft)}.blog-back-link svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.blog-post-header{gap:calc(var(--spacing) * 3);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--line);padding-bottom:calc(var(--spacing) * 5);display:grid}.blog-post-header h1{--tw-leading:1.08;--tw-font-weight:var(--font-weight-normal);max-width:820px;font-size:34px;line-height:1.08;font-weight:var(--font-weight-normal);color:var(--ink)}@media (min-width:40rem){.blog-post-header h1{font-size:44px}}@media (min-width:64rem){.blog-post-header h1{font-size:54px}}.blog-post-header p{--tw-leading:var(--leading-relaxed);max-width:760px;font-size:16px;line-height:var(--leading-relaxed);color:var(--soft)}.blog-post-body{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);background-color:var(--surface);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 5)}@media (min-width:40rem){.blog-post-body{padding-inline:calc(var(--spacing) * 6)}}@media (min-width:64rem){.blog-post-body{padding-inline:calc(var(--spacing) * 8);padding-block:calc(var(--spacing) * 7)}}.blog-post-actions{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;width:100%;display:grid}.blog-language-shell{display:contents}.blog-language-tabs{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-shrink:0;justify-content:flex-end;align-self:center;align-items:center;gap:.25rem;display:flex}.blog-language-tab{cursor:pointer;border-radius:var(--radius);min-height:calc(1.75rem - 2px);color:var(--muted);font-family:var(--font-mono);background:0 0;border:1px solid #0000;align-items:center;padding-inline:.75rem;font-size:.75rem;font-weight:600;transition:background-color .2s,color .2s;display:inline-flex}.blog-language-tab:hover,.blog-language-tab:focus-visible{background:var(--surface-3);color:var(--ink)}.blog-language-tab[aria-pressed=true]{background:var(--primary-action);color:var(--primary-contrast)}.blog-language-tab[aria-pressed=true]:hover,.blog-language-tab[aria-pressed=true]:focus-visible{background:var(--primary-action-hover);color:var(--primary-contrast)}.blog-language-panel{gap:1rem;display:grid}.blog-language-panel[hidden]{display:none}@media (max-width:560px){.blog-post-actions{grid-template-columns:1fr;align-items:start}.blog-language-tabs{justify-self:start}}.blog-language-shell[data-blog-language=en] .blog-language-panel[data-blog-language-panel=zh],.blog-language-shell[data-blog-language=zh] .blog-language-panel[data-blog-language-panel=en]{display:none}.packet-stage{margin-block:calc(var(--spacing) * 0);align-items:stretch;gap:calc(var(--spacing) * 5);min-height:258px;padding-block:calc(var(--spacing) * 5);grid-template-columns:minmax(104px,.14fr) minmax(0,1fr) minmax(104px,.14fr);display:grid}.packet-rail{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);background-color:#0000}.stage-node{min-width:calc(var(--spacing) * 0);align-content:center;justify-items:center;gap:calc(var(--spacing) * 2.5);border-block-style:var(--tw-border-style);border-block-width:1px;border-color:var(--line);text-align:center;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted);padding-block:18px;display:grid}.stage-node span,.endpoint .role{--tw-font-weight:var(--font-weight-semibold);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-weight:var(--font-weight-semibold);justify-content:center;align-items:center;display:inline-flex}.stage-node span{width:58px;height:58px;font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black);color:var(--color-white);border-radius:3.40282e38px}.stage-client span,.client .role{background-color:var(--primary);color:var(--color-white)}.stage-server span,.server .role{background-color:var(--server-ink);color:var(--color-white)}.stage-client span{background-color:var(--primary);color:var(--color-white)}.stage-node strong{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--ink)}.stage-node small,.endpoint-title span,.diag-caption{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted)}.packet-rail{isolation:isolate;background-color:#0000;min-height:250px;position:relative;overflow:hidden}.packet-rail:before{content:"";top:50%;right:calc(var(--spacing) * 8);left:calc(var(--spacing) * 8);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);height:1px;translate:var(--tw-translate-x) var(--tw-translate-y);background-color:var(--line);position:absolute}.relay-timer-label{top:calc(var(--spacing) * 3);z-index:8;--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);white-space:nowrap;color:var(--muted);background-color:#0000;border-radius:3.40282e38px;padding-block:5px;padding-inline:9px;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:11px;position:absolute;left:50%}.packet-lane{pointer-events:none;right:calc(var(--spacing) * 12);left:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12);position:absolute}.packet-lane:after{content:"";z-index:5;width:calc(var(--spacing) * 0);height:calc(var(--spacing) * 0);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);border-block-style:var(--tw-border-style);border-block-width:5px;border-block-color:#0000;position:absolute;top:50%}.pipe-back,.pipe-front{pointer-events:none;top:50%;right:calc(var(--spacing) * 0);left:calc(var(--spacing) * 0);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);border-radius:3.40282e38px;position:absolute}.pipe-back{z-index:1;border-style:var(--tw-border-style);opacity:.75;border-width:0;height:1px}.pipe-front{z-index:1;border-style:var(--tw-border-style);opacity:.8;border-width:0;height:3px}.packet-lane.c2s{border-style:var(--tw-border-style);background-color:#0000;border-width:0;top:60px}.packet-lane.c2s .pipe-back{background:#0f62fe47}.packet-lane.c2s .pipe-front{background:linear-gradient(90deg,#0f62fe1f,#0f62febd)}html[data-theme=dark] .workbench-page .packet-lane.c2s .pipe-back{background:#8ab4ff47}html[data-theme=dark] .workbench-page .packet-lane.c2s .pipe-front{background:linear-gradient(90deg,#8ab4ff29,#8ab4ffd1)}.packet-lane.c2s:after{border-left-style:var(--tw-border-style);border-left-width:9px;border-left-color:var(--primary);right:58px}.packet-lane.s2c{border-style:var(--tw-border-style);background-color:#0000;border-width:0;bottom:50px}.packet-lane.s2c .pipe-back{background:#0043ce42}.packet-lane.s2c .pipe-front{background:linear-gradient(90deg,#0043cebd,#0043ce1f)}html[data-theme=dark] .workbench-page .packet-lane.s2c .pipe-back{background:#b6d2ff3d}html[data-theme=dark] .workbench-page .packet-lane.s2c .pipe-front{background:linear-gradient(90deg,#b6d2ffb8,#b6d2ff24)}.packet-lane.s2c:after{border-right-style:var(--tw-border-style);border-right-width:9px;border-right-color:var(--server-ink);left:58px}.packet-lane .lane-end,.datagram-label{border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);background-color:var(--surface);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);--tw-font-weight:var(--font-weight-extrabold);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:11px;font-weight:var(--font-weight-extrabold);color:var(--muted);border-radius:3.40282e38px;position:absolute}.lane-end{z-index:6;width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);padding:calc(var(--spacing) * 0);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));place-items:center;display:grid;top:50%}.lane-left{left:calc(var(--spacing) * 3);color:var(--client-ink)}.lane-right{right:calc(var(--spacing) * 3);color:var(--server-ink)}.scenario-toolbar{margin-top:calc(var(--spacing) * 5);align-items:stretch;row-gap:calc(var(--spacing) * 4);border-block-style:var(--tw-border-style);border-block-width:1px;border-color:var(--line);padding-block:calc(var(--spacing) * 3);display:grid}@media (min-width:64rem){.scenario-toolbar{column-gap:calc(var(--spacing) * 6);grid-template-columns:minmax(220px,.65fr) minmax(420px,1.35fr)}}.stage-controls{width:100%;min-width:calc(var(--spacing) * 0);gap:calc(var(--spacing) * 2);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--line);padding-top:calc(var(--spacing) * 3);background-color:#0000;margin-top:auto;display:grid}@media (min-width:40rem){.stage-controls{grid-template-columns:repeat(3,minmax(0,1fr))}}.visualization-status{min-width:calc(var(--spacing) * 0);align-items:stretch;gap:calc(var(--spacing) * 3);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--line);padding-block:calc(var(--spacing) * 2);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}@media (min-width:40rem){.visualization-status{justify-content:flex-end;gap:calc(var(--spacing) * 4);grid-template-columns:minmax(128px,max-content) minmax(128px,max-content)}}.control-timer,.module-state{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--line);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted);background-color:#0000}.control-timer{gap:calc(var(--spacing) * 1);min-height:46px;padding-inline:calc(var(--spacing) * 1);padding-block:calc(var(--spacing) * 2);color:var(--ink);display:grid}.control-timer span{--tw-leading:1;--tw-font-weight:var(--font-weight-extrabold);font-size:10px;line-height:1;font-weight:var(--font-weight-extrabold);color:var(--muted);text-transform:uppercase}.control-timer strong{--tw-leading:var(--leading-tight);font-size:15px;line-height:var(--leading-tight);color:var(--ink)}.module-state{min-height:34px;padding-inline:calc(var(--spacing) * 1);text-align:center;--tw-leading:var(--leading-tight);font-size:.72rem;line-height:var(--leading-tight);--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);place-items:center;padding-block:5px;display:grid}.visualization-status .control-timer,.visualization-status .module-state{border-bottom-style:var(--tw-border-style);border-bottom-width:0;min-height:46px}.module-state.ready{color:var(--primary);background-color:#0000;border-color:#0f62fe47}.module-state.failed{color:var(--danger);background-color:#0000;border-color:#cf2d5647}.control-button{min-height:calc(var(--spacing) * 9);width:100%;min-width:calc(var(--spacing) * 0);justify-content:center;align-items:center;gap:calc(var(--spacing) * 1);border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1.5);text-align:center;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--ink);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;background-color:#0000;grid-template-columns:20px minmax(0,max-content);transition-duration:.2s;display:grid}@media (hover:hover){.control-button:hover{border-color:var(--primary);background-color:var(--workbench-hover)}}.control-button:disabled{opacity:.55}.scenario-control{min-height:100%;min-width:calc(var(--spacing) * 0);align-content:flex-start;gap:calc(var(--spacing) * 2);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--line);padding-bottom:calc(var(--spacing) * 4);display:grid}@media (min-width:64rem){.scenario-control{border-right-style:var(--tw-border-style);border-right-width:1px;border-bottom-style:var(--tw-border-style);padding-right:calc(var(--spacing) * 6);padding-bottom:calc(var(--spacing) * 0);border-bottom-width:0}}.scenario-label{min-height:calc(var(--spacing) * 9);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--ink);grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;display:grid}.scenario-select-row{min-width:calc(var(--spacing) * 0);align-items:center;gap:calc(var(--spacing) * 2);grid-template-columns:minmax(0,1fr) 36px;display:grid;position:relative}.scenario-select{min-height:calc(var(--spacing) * 9);cursor:pointer;border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);width:100%;padding-inline:calc(var(--spacing) * 2);--tw-font-weight:var(--font-weight-semibold);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:11px;font-weight:var(--font-weight-semibold);color:var(--ink);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;--tw-outline-style:none;background-color:#0000;outline-style:none;transition-duration:.2s}@media (hover:hover){.scenario-select:hover{background-color:var(--workbench-hover)}}.scenario-select:focus-visible{border-color:var(--primary);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:#0f62fe2e}.scenario-info{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9);cursor:pointer;border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);color:var(--muted);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;background-color:#0000;place-items:center;transition-duration:.2s;display:grid;position:relative}@media (hover:hover){.scenario-info:hover{border-color:var(--primary);background-color:var(--workbench-hover);color:var(--primary)}}.scenario-info:focus-visible{border-color:var(--primary);color:var(--primary);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:#0f62fe2e}.scenario-info svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4);stroke:currentColor}.scenario-summary{pointer-events:none;z-index:20;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-align:left;width:min(280px,100vw - 32px);max-width:calc(100vw - 32px);font-family:var(--font-mono);color:var(--soft);opacity:0;padding:.5rem .75rem;font-size:11px;line-height:1.45;transition:opacity .2s,transform .2s;display:none;position:absolute;bottom:calc(100% + 8px);right:0;transform:translateY(4px);box-shadow:0 12px 28px #1118271f}.scenario-summary:after{content:"";border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);width:.5rem;height:.5rem;position:absolute;top:100%;right:.75rem;transform:rotate(45deg)}.scenario-info:hover .scenario-summary,.scenario-info:focus-visible .scenario-summary,.scenario-info:focus-within .scenario-summary{opacity:1;display:block;transform:translateY(0)}.network-control{min-width:calc(var(--spacing) * 0);column-gap:calc(var(--spacing) * 4);row-gap:calc(var(--spacing) * 0);display:grid}@media (min-width:48rem){.network-control{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:64rem){.network-control{padding-left:calc(var(--spacing) * 1)}}.workbench-results{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--line)}.network-control-head{min-height:calc(var(--spacing) * 9);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--line);padding-bottom:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--ink);grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;display:grid}@media (min-width:48rem){.network-control-head{grid-column:1/-1}}.network-control-head>span:last-child{min-width:calc(var(--spacing) * 0);gap:calc(var(--spacing) * .5);display:grid}.network-control-head strong{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:var(--leading-tight);line-height:var(--leading-tight);color:var(--ink);overflow:hidden}.network-control-head small{text-overflow:ellipsis;white-space:nowrap;--tw-leading:var(--leading-tight);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:10px;line-height:var(--leading-tight);color:var(--muted);overflow:hidden}.network-range{min-width:calc(var(--spacing) * 0);align-items:center;gap:calc(var(--spacing) * 2);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--line);padding-block:calc(var(--spacing) * 2);grid-template-columns:minmax(88px,.34fr) minmax(0,1fr);display:grid}@media (min-width:48rem){.network-range{grid-template-columns:repeat(1,minmax(0,1fr));align-items:stretch}}.network-range>span{min-width:calc(var(--spacing) * 0);align-items:baseline;gap:calc(var(--spacing) * 2);grid-template-columns:minmax(0,1fr) auto;display:grid}.network-range span span{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--muted);overflow:hidden}.network-range strong{--tw-font-weight:var(--font-weight-bold);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:11px;font-weight:var(--font-weight-bold);color:var(--ink)}.network-range input{height:calc(var(--spacing) * 5);min-width:calc(var(--spacing) * 0);cursor:pointer;accent-color:var(--primary)}#network-loss{accent-color:var(--danger)}#start{color:var(--client-ink);border-color:#0f62fead}@media (hover:hover){#start:hover{border-color:var(--primary)}}#stop{color:var(--danger);border-color:#cf2d567a}@media (hover:hover){#stop:hover{border-color:var(--danger)}}#step{color:var(--packet-ink)}.control-icon{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7);color:var(--muted);place-items:center;display:grid}.control-icon svg{stroke:currentColor;width:18px;height:18px}.datagram{pointer-events:none;z-index:2;min-height:calc(var(--spacing) * 10);border-radius:var(--radius-md);border-style:var(--tw-border-style);--tw-border-style:dashed;--tw-shadow:0 0 #0000;min-width:120px;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);transition-property:border-color,opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;background:0 0;border:1px dashed #0f62fe52;transition-duration:.2s;position:absolute}.datagram-label{top:-9px;left:calc(var(--spacing) * 1.5);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);white-space:nowrap;font-size:9px}.packet{pointer-events:auto;z-index:3;min-height:calc(var(--spacing) * 8);cursor:pointer;align-items:center;gap:calc(var(--spacing) * 1.5);border-radius:var(--radius-md);border-style:var(--tw-border-style);background-color:var(--bg);width:120px;padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);--tw-leading:var(--leading-tight);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:10px;line-height:var(--leading-tight);color:var(--ink);--tw-shadow:inset 3px 0 0 var(--tw-shadow-color,var(--primary));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);transition-property:background,border-color,box-shadow,opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;border-width:1px;border-color:#0f62fe7a;grid-template-columns:6px minmax(0,1fr) auto;transition-duration:.2s;display:grid;position:absolute}.packet:before{content:"";width:6px 18px;height:6px 18px;background-color:var(--client);border-radius:3.40282e38px}.packet.from-server{background-color:var(--bg);color:var(--ink);--tw-shadow:inset 4px 0 0 var(--tw-shadow-color,var(--server-ink));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);border-color:#0043ce5c}.packet.from-server:before{background-color:var(--server)}.packet.selected{border-color:var(--primary);background-color:var(--workbench-selected);--tw-shadow:inset 4px 0 0 var(--tw-shadow-color,var(--primary));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.packet[data-phase=generated]{--tw-border-style:dashed;border-style:dashed}.packet[data-phase=in-flight]{--tw-shadow:inset 4px 0 0 var(--tw-shadow-color,var(--primary));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.packet[data-phase=received]{border-color:#0f62feb8}.packet[data-phase=accepted]{opacity:.2;scale:.96}.packet[data-phase=lost],.packet[data-phase=corrupted]{background-color:var(--workbench-danger);color:var(--danger);--tw-shadow:inset 4px 0 0 var(--tw-shadow-color,var(--danger));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);border-color:#cf2d56b8}.datagram[data-phase=in-flight]{border-color:#0f62fe94}.datagram[data-phase=arrived]{border-color:#0f62fe9e}.datagram[data-phase=received]{background:var(--workbench-selected);border-color:#0f62fedb}.datagram[data-phase=accepted]{opacity:0;scale:.98}.datagram[data-phase=lost],.datagram[data-phase=corrupted]{background-color:var(--workbench-danger);opacity:.8;border-color:#cf2d56b3}.packet strong,.packet span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.packet span{margin-top:calc(var(--spacing) * .5);color:var(--muted);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:10px}.workbench{gap:calc(var(--spacing) * 5);padding-top:calc(var(--spacing) * 5);display:grid}.endpoint-grid{gap:calc(var(--spacing) * 5);display:grid}@media (min-width:80rem){.endpoint-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.endpoint{min-width:calc(var(--spacing) * 0);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--line);overflow:hidden}.endpoint-head{align-items:center;gap:calc(var(--spacing) * 3);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 3);background-color:#0000;grid-template-columns:32px minmax(0,1fr) auto;display:grid}.endpoint-title h2{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--ink)}.endpoint-chip,.diag-pill{min-height:calc(var(--spacing) * 6);border-left-style:var(--tw-border-style);border-left-width:1px;border-color:var(--line);padding-left:calc(var(--spacing) * 3);--tw-font-weight:var(--font-weight-semibold);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:11px;font-weight:var(--font-weight-semibold);white-space:nowrap;color:var(--muted);flex-shrink:0;align-items:center;display:inline-flex}.client .endpoint-chip,.client .diag-flag.on dd,.diag-pill.on{color:var(--primary);background-color:#0000;border-color:#0f62fe47}.server .endpoint-chip,.server .diag-flag.on dd,.server .diag-pill.on{color:var(--server-ink);background-color:#0000;border-color:#0043ce38}.state-machine,.mini-stats,.recovery-grid,.flag-grid,.flow-grid,.stream-limit-grid{column-gap:calc(var(--spacing) * 4);row-gap:calc(var(--spacing) * 0);padding-inline:calc(var(--spacing) * 3);display:grid}.state-machine{border-block-style:var(--tw-border-style);border-block-width:1px;border-color:var(--line);grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:40rem){.state-machine{grid-template-columns:repeat(4,minmax(0,1fr))}}.state-step,.diag-stat,.diag-flag{min-width:calc(var(--spacing) * 0);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--line);padding-inline:calc(var(--spacing) * 0);padding-block:calc(var(--spacing) * 2)}.state-step:first-child{border-top-style:var(--tw-border-style);border-top-width:0}@media (min-width:40rem){.state-step:nth-child(-n+4){border-top-style:var(--tw-border-style);border-top-width:0}}.diag-stat:first-child{border-top-style:var(--tw-border-style);border-top-width:0}@media (min-width:40rem){.diag-stat:nth-child(-n+4){border-top-style:var(--tw-border-style);border-top-width:0}}.diag-flag:first-child{border-top-style:var(--tw-border-style);border-top-width:0}@media (min-width:40rem){.diag-flag:nth-child(-n+3){border-top-style:var(--tw-border-style);border-top-width:0}}.summary-item,.packet-tree details{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);padding:calc(var(--spacing) * 3);background-color:#0000}.state-step{padding-right:calc(var(--spacing) * 2);padding-left:calc(var(--spacing) * 7);position:relative}.state-step:before{content:"";top:calc(var(--spacing) * 4);left:calc(var(--spacing) * 3);width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2);background-color:var(--line-strong);border-radius:3.40282e38px;position:absolute}.state-step.current{color:var(--primary);background-color:#0000}.state-step.current:before{background-color:var(--packet)}.state-step.done{color:var(--ink)}.state-step strong{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--ink);display:block}.state-step span{margin-top:calc(var(--spacing) * 1);color:var(--muted);font-size:11px;display:block}.mini-stats,.recovery-grid,.flow-grid,.stream-limit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:40rem){.mini-stats,.recovery-grid,.flow-grid,.stream-limit-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.flag-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:40rem){.flag-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.diag-stat dt,.diag-flag dt{--tw-font-weight:var(--font-weight-semibold);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:11px;font-weight:var(--font-weight-semibold);color:var(--muted);text-transform:uppercase}.diag-stat dd,.diag-flag dd{margin-top:calc(var(--spacing) * 1);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));overflow-wrap:break-word;color:var(--ink)}.diag-section{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--line);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 5)}.diag-section-head{margin-bottom:calc(var(--spacing) * 3);justify-content:space-between;align-items:center;gap:calc(var(--spacing) * 3);display:flex}.diag-section h3{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--ink)}.diag-table-wrap{border-block-style:var(--tw-border-style);border-block-width:1px;border-color:var(--line);background-color:#0000;overflow:auto}.diag-table-wrap.empty{border-block-style:var(--tw-border-style);border-block-width:0}.diag-table{border-collapse:collapse;min-width:100%;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.packet-space-table-wrap .diag-table{min-width:760px}.diag-table th,.diag-table td{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--line);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);text-align:left;vertical-align:middle;white-space:nowrap}.diag-table th{color:var(--muted);text-transform:uppercase;font-size:11px}.packet-space-table-wrap .diag-table th,.packet-space-table-wrap .diag-table td{padding-inline:calc(var(--spacing) * 3.5)}.diag-table td{color:var(--soft)}.timeline{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--line);padding-top:calc(var(--spacing) * 4);overflow:hidden}.timeline h2{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--line);padding-inline:calc(var(--spacing) * 3);padding-bottom:calc(var(--spacing) * 3);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.log,.packet-list,.modal-detail{background-color:#0000;max-height:360px;overflow:auto}.entry{gap:calc(var(--spacing) * 3);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--line);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 2);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));grid-template-columns:72px minmax(0,1fr);display:grid}.entry .time{color:var(--primary)}.entry .text{color:var(--soft)}.entry.error .time,.entry.error .text,.entry.loss .time,.entry.loss .text{color:var(--danger)}.packet-inspector{margin-top:calc(var(--spacing) * 0);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--line);padding-block:calc(var(--spacing) * 4)}.capture-panel .panel-head{padding-inline:calc(var(--spacing) * 3)}.capture-panel{overflow:hidden}.panel-actions{justify-content:flex-end;align-items:center;gap:calc(var(--spacing) * 2);flex-wrap:wrap;display:flex}.panel-button{min-height:calc(var(--spacing) * 9);cursor:pointer;border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);padding-inline:calc(var(--spacing) * 3);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--ink);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;background-color:#0000;justify-content:center;align-items:center;transition-duration:.2s;display:inline-flex}@media (hover:hover){.panel-button:hover{background-color:var(--workbench-hover)}}.panel-button:disabled{cursor:default;opacity:.55}.panel-actions span{font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted)}.packet-row{cursor:pointer;align-items:center;gap:calc(var(--spacing) * 3);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--line);width:100%;padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);text-align:left;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--soft);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;background-color:#0000;grid-template-columns:56px 72px minmax(120px,1fr) minmax(180px,2fr) 72px;transition-duration:.2s;display:grid}@media (hover:hover){.packet-row:hover{background-color:var(--workbench-hover)}}.packet-row.selected{background-color:var(--workbench-selected);--tw-shadow:inset 3px 0 0 var(--tw-shadow-color,var(--primary));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.packet-row strong{color:var(--ink)}.packet-kind,.packet-frames{color:var(--packet-ink)}.packet-size{text-align:right;color:var(--muted)}.modal-backdrop{inset:calc(var(--spacing) * 0);z-index:50;padding:calc(var(--spacing) * 4);background:var(--modal-backdrop);justify-content:center;align-items:center;display:none;position:fixed}.modal-backdrop.open{display:flex}.packet-modal{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);background-color:var(--bg);width:100%;max-width:980px;max-height:88vh;box-shadow:0 24px 90px var(--shadow-modal);flex-direction:column;display:flex;overflow:hidden}.modal-head{justify-content:space-between;align-items:center;gap:calc(var(--spacing) * 3);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--line);padding:calc(var(--spacing) * 4);background-color:#0000;display:flex}.modal-head h2{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--ink)}.modal-head span{margin-top:calc(var(--spacing) * 1);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted);display:block}.modal-close{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10);cursor:pointer;border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);color:var(--ink);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;background-color:#0000;justify-content:center;align-items:center;transition-duration:.2s;display:inline-flex}@media (hover:hover){.modal-close:hover{background-color:var(--workbench-hover)}}.detail-summary{gap:calc(var(--spacing) * 2);padding:calc(var(--spacing) * 4);display:grid}@media (min-width:40rem){.detail-summary{grid-template-columns:repeat(5,minmax(0,1fr))}}.summary-item span,.field-meta{color:var(--muted);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:11px;display:block}.summary-item strong{margin-top:calc(var(--spacing) * 1);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));overflow-wrap:break-word;color:var(--ink);display:block}.packet-tree{gap:calc(var(--spacing) * 3);padding:calc(var(--spacing) * 4);display:grid}.packet-tree summary{cursor:pointer;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--ink)}.field-list{margin-top:calc(var(--spacing) * 3);gap:calc(var(--spacing) * 2);display:grid}.field-row{gap:calc(var(--spacing) * 1);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--line);padding-top:calc(var(--spacing) * 2);display:grid}@media (min-width:40rem){.field-row{grid-template-columns:160px minmax(0,1fr)}}.field-row dt{--tw-font-weight:var(--font-weight-semibold);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:11px;font-weight:var(--font-weight-semibold);color:var(--muted);text-transform:uppercase}.field-row dd{font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));overflow-wrap:break-word;color:var(--soft)}.frame-note{border-radius:var(--radius);border-style:var(--tw-border-style);background-color:var(--warning-soft);padding:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--warning);border-width:1px;border-color:#8d6d004d}.hex-dump{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);background-color:var(--ink);padding:calc(var(--spacing) * 3);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed);color:var(--bg);overflow:auto}.comparison-shell,.coverage-grid,.duvet-report-shell{margin-top:calc(var(--spacing) * 5);gap:calc(var(--spacing) * 4);display:grid}.chart-panel,.plot,.component-panel,.file-panel,.interop-shell,.duvet-report-shell{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);background-color:var(--surface);--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.chart-panel,.component-panel,.file-panel,.interop-shell,.duvet-report-shell{overflow:hidden}.duvet-report-frame{border-style:var(--tw-border-style);background-color:var(--color-white);border-width:0;width:100%;height:calc(100vh - 236px);min-height:680px}.plot-grid{grid-template-columns:220px minmax(0,1fr);gap:12px;padding:14px;display:grid}.plot-filters{border:1px solid var(--line);background:var(--surface-2);border-radius:7px;align-content:start;gap:14px;min-width:0;padding:12px;display:grid}.plot-filter-head{justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;display:flex}.plot-filter-title{min-width:0}.plot-filter-title h3{color:var(--ink);font-size:13px;font-weight:850;line-height:1.2}.plot-filter-title p{color:var(--muted);font-family:var(--font-mono);margin-top:4px;font-size:11px}.plot-filter-reset{border:1px solid var(--line);min-height:28px;color:var(--soft);cursor:pointer;background:0 0;border-radius:6px;flex:none;padding:0 9px;font-size:11px;font-weight:800;transition:border-color .16s,color .16s,background .16s}.plot-filter-reset:hover,.plot-filter-reset:focus-visible{border-color:var(--primary);color:var(--primary-active);background:var(--primary-soft)}.plot-filter-reset:disabled{cursor:default;opacity:.45}.plot-filter-reset:disabled:hover{border-color:var(--line);color:var(--soft);background:0 0}.plot-filter-group{gap:8px;min-width:0;display:grid}.plot-filter-group-title{width:100%;min-width:0;min-height:30px;color:var(--muted);cursor:pointer;font-family:var(--font-mono);text-align:left;text-transform:uppercase;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto 14px;align-items:center;gap:8px;padding:0;font-size:10px;font-weight:850;line-height:1;transition:color .16s;display:grid}.plot-filter-group-title:hover,.plot-filter-group-title:focus-visible{color:var(--primary-active);outline:none}.plot-filter-group-title span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.plot-filter-group-title small{border:1px solid var(--line);min-width:22px;height:18px;color:var(--muted);background:var(--surface);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:10px;line-height:1;display:inline-flex}.plot-filter-group-title i{width:10px;height:10px;display:inline-block;position:relative}.plot-filter-group-title i:before{content:"";border-bottom:2px solid;border-right:2px solid;transition:transform .16s;position:absolute;inset:2px 1px 1px 2px;transform:rotate(45deg)}.plot-filter-group-title[aria-expanded=false] i:before{transform:rotate(-45deg)}.plot-filter-options{gap:6px;min-width:0;display:grid}.filter-choice{border:1px solid var(--line);min-height:30px;color:var(--soft);background:var(--surface);cursor:pointer;text-align:left;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 8px;transition:border-color .16s,background .16s,color .16s;display:grid}.filter-choice:hover,.filter-choice:focus-visible{border-color:var(--primary);color:var(--primary-active)}.filter-choice[aria-pressed=true]{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.filter-choice[aria-pressed=true]{border-color:color-mix(in srgb, var(--primary) 30%, transparent)}}.filter-choice[aria-pressed=true]{color:var(--ink);background:var(--primary-soft)}.filter-choice span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:750;line-height:1.15;overflow:hidden}.filter-choice small{border:1px solid var(--line);min-width:22px;height:18px;color:var(--muted);background:var(--surface-2);font-family:var(--font-mono);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:10px;font-weight:850;line-height:1;display:inline-flex}.filter-choice[aria-pressed=true] small{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.filter-choice[aria-pressed=true] small{border-color:color-mix(in srgb, var(--primary) 26%, transparent)}}.filter-choice[aria-pressed=true] small{color:var(--primary-active);background:var(--surface)}.plot-filter-empty{border:1px solid var(--line);color:var(--muted);border-radius:6px;padding:8px;font-size:12px}.plot-tabs{border:1px solid var(--line);background:var(--surface-2);border-radius:7px;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:8px;min-width:0;margin-bottom:12px;padding:12px;display:grid}.plot-tab{border:1px solid var(--line);min-height:64px;color:var(--soft);background:var(--surface);cursor:pointer;text-align:left;border-radius:7px;justify-items:start;gap:4px;padding:11px;transition:border-color .16s,background .16s,color .16s;display:grid}.plot-tab:hover,.plot-tab:focus-visible{border-color:var(--primary);color:var(--primary-active)}.plot-tab[aria-selected=true]{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.plot-tab[aria-selected=true]{border-color:color-mix(in srgb, var(--primary) 30%, transparent)}}.plot-tab[aria-selected=true]{background:var(--primary-soft)}.plot-tab span{color:var(--primary-active);font-family:var(--font-mono);font-size:11px;font-weight:850}.plot-tab strong{color:var(--ink);font-size:13px;font-weight:850;line-height:1.2}.plot-tab small{max-width:100%;color:var(--muted);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.plot-tab[aria-selected=true] span,.plot-tab[aria-selected=true] strong,.plot-tab[aria-selected=true] small{color:inherit}.plot-panel-active{min-width:0}.plot{border-color:var(--line);background:var(--surface-2);border-radius:7px;min-width:0;padding:12px}.plot h3,.trend-head h3{color:var(--ink);font-size:13px;font-weight:850;line-height:1.2}.plot p,.trend-head p{color:var(--muted);font-family:var(--font-mono);margin-top:4px;font-size:11px}.bar-list{gap:10px;margin-top:12px;display:grid}.bar-row{border:1px solid #0000;border-radius:7px;grid-template-columns:34px 232px minmax(0,1fr) minmax(112px,auto);align-items:center;gap:10px;min-height:56px;padding:6px;display:grid;position:relative}.bar-row.own-impl,tbody tr.own-impl{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bar-row.own-impl,tbody tr.own-impl{border-color:color-mix(in srgb, var(--primary) 30%, transparent)}}.bar-row.own-impl,tbody tr.own-impl{background:var(--primary-soft);box-shadow:none}.bar-row.coquic-family{border-color:var(--family-color,var(--primary))}@supports (color:color-mix(in lab, red, red)){.bar-row.coquic-family{border-color:color-mix(in srgb, var(--family-color,var(--primary)) 34%, transparent)}}.bar-row.coquic-family{background:linear-gradient(90deg, var(--family-color,var(--primary)), transparent 54%), var(--primary-soft)}@supports (color:color-mix(in lab, red, red)){.bar-row.coquic-family{background:linear-gradient(90deg, color-mix(in srgb, var(--family-color,var(--primary)) 14%, transparent), transparent 54%), var(--primary-soft)}}.bar-row.coquic-family:before{content:"";background:var(--family-color,var(--primary));border-radius:999px;width:3px;position:absolute;inset:6px auto 6px 0}.rank-badge{border:1px solid var(--line);width:28px;height:28px;color:var(--muted);background:var(--surface-2);font-family:var(--font-mono);border-radius:999px;justify-content:center;align-items:center;font-size:10px;font-weight:900;line-height:1;display:inline-flex;position:relative}.rank-1,.rank-2,.rank-3{width:24px;height:24px;box-shadow:none;border-radius:50%;align-self:center;margin-left:2px;font-size:11px}.rank-1{border-color:var(--warning)}@supports (color:color-mix(in lab, red, red)){.rank-1{border-color:color-mix(in srgb, var(--warning) 32%, transparent)}}.rank-1{color:var(--warning);background:var(--warning-soft)}.rank-2{border-color:var(--line-strong);color:var(--soft);background:var(--surface-3)}.rank-3{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.rank-3{border-color:color-mix(in srgb, var(--primary) 24%, transparent)}}.rank-3{color:var(--primary-active);background:var(--primary-soft)}.bar-label{align-items:center;width:100%;min-width:0;display:grid}.bar-track{border:1px solid var(--line);background:var(--surface-3);border-radius:999px;min-width:0;height:13px;position:relative;overflow:hidden}.bar-fill{width:var(--bar-width,0%);border-radius:inherit;background:var(--bar-color);position:absolute;inset:0 auto 0 0}.bar-value{min-width:0;color:var(--ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;justify-content:flex-end;align-items:center;gap:6px;font-size:12px;line-height:1;display:inline-flex}.bar-value>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bar-detail-button{border:1px solid var(--line);width:28px;height:28px;color:var(--muted);background:var(--surface);cursor:pointer;border-radius:999px;flex:none;justify-content:center;align-items:center;transition:border-color .18s,color .18s,background .18s;display:inline-flex}.bar-detail-button:hover,.bar-detail-button:focus-visible{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bar-detail-button:hover,.bar-detail-button:focus-visible{border-color:color-mix(in srgb, var(--primary) 38%, var(--line))}}.bar-detail-button:hover,.bar-detail-button:focus-visible{color:var(--primary-active);background:var(--primary-soft);outline:none}.bar-detail-button:disabled{color:var(--muted);background:var(--surface-2);cursor:not-allowed;opacity:.55}.bar-detail-button .meta-icon-svg,.perf-detail-close .meta-icon-svg,.detail-flamegraph-fullscreen-button .meta-icon-svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.identity-group{vertical-align:middle;grid-template-columns:minmax(0,1fr) 8px 22px 8px 22px;align-items:center;column-gap:5px;width:100%;min-width:0;max-width:100%;min-height:24px;line-height:1;display:inline-grid}.identity-group>.identity-name{min-width:0;line-height:22px}.bar-identity{grid-template-columns:minmax(0,1fr) 70px;align-items:center;column-gap:8px;width:100%;min-width:0;min-height:44px;display:grid}.bar-identity-text{align-content:center;gap:3px;min-width:0;display:grid}.bar-name-row{align-items:center;gap:6px;min-width:0;max-width:100%;display:inline-flex}.identity-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:850;line-height:1.15;text-decoration:none;overflow:hidden}.bar-name-row .identity-name{flex:0 auto;min-width:0}.coquic-family-chip,.trend-family-chip{border:1px solid var(--primary);justify-content:center;align-items:center;min-width:0;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.coquic-family-chip,.trend-family-chip{border:1px solid color-mix(in srgb, var(--primary) 30%, transparent)}}.coquic-family-chip,.trend-family-chip{background:var(--surface);color:var(--primary-active);font-family:var(--font-mono);white-space:nowrap;border-radius:999px;font-size:9px;font-style:normal;font-weight:850;line-height:1}.coquic-family-chip{text-overflow:ellipsis;flex:none;max-width:92px;height:18px;padding:0 6px;overflow:hidden}.identity-name:hover,.identity-name:focus-visible,.identity-icon:hover,.identity-icon:focus-visible{border-color:var(--primary);color:var(--primary-active);outline:none}.bar-version,.identity-separator,.trend-legend small{color:var(--muted);font-family:var(--font-mono);font-size:10px}.bar-version{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:800;line-height:1.25;overflow:hidden}.identity-separator{color:#91a5ad80;text-align:center;font-size:11px;line-height:1}.bar-identity-icons{grid-template-columns:repeat(2,32px);justify-content:end;align-items:center;gap:6px;display:grid}.identity-icon{border:1px solid var(--line);background:var(--surface);width:22px;height:22px;color:var(--ink);border-radius:6px;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.identity-icon img{z-index:1;object-fit:contain;width:16px;height:16px;position:relative}.identity-icon.vendor img{border-radius:4px;width:20px;height:20px}.bar-identity .identity-icon{border-radius:7px;width:32px;height:32px}.bar-identity .identity-icon img{width:22px;height:22px}.bar-identity .identity-icon.vendor img{border-radius:5px;width:26px;height:26px}.identity-icon.has-image img+.identity-fallback{display:none}.identity-fallback{color:var(--ink);font-family:var(--font-mono);font-size:10px;font-weight:850;line-height:1}.bar-identity .identity-fallback{font-size:12px}.trend-chart{border-top:1px solid var(--line);min-width:0;margin-top:16px;padding-top:14px;position:relative}.trend-head{justify-content:space-between;align-items:start;gap:12px;margin-bottom:10px;display:flex}.trend-svg{width:100%;height:auto;min-height:210px;display:block;overflow:visible}.trend-grid-line{stroke:var(--line)}.trend-axis-label{fill:var(--muted);font-family:var(--font-mono);font-size:10px}.trend-line{fill:none;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.trend-line.coquic-family{stroke-width:3px}.trend-point{stroke:var(--surface);stroke-width:1.2px}.trend-point.coquic-family{stroke-width:2px}.trend-hit-point,.trend-hover-plane{fill:#0000;cursor:pointer;outline:none}.trend-hover-plane{cursor:crosshair;pointer-events:all}.trend-tooltip{z-index:4;border:1px solid var(--line);min-width:max-content;max-width:220px;color:var(--ink);background:var(--surface);box-shadow:0 12px 30px var(--shadow-popover);font-family:var(--font-mono);pointer-events:none;border-radius:7px;padding:8px 10px;font-size:11px;line-height:1.35;display:none;position:absolute}.trend-tooltip.visible{gap:3px;display:grid}.trend-tooltip strong{color:var(--ink);font-size:12px;font-weight:850}.trend-tooltip span{color:var(--muted)}.trend-legend{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.trend-legend span{border:1px solid var(--line);background:var(--surface-2);border-radius:999px;align-items:center;gap:6px;min-height:26px;padding:0 8px;display:inline-flex}.trend-legend span.coquic-family{border-color:var(--family-color,var(--primary))}@supports (color:color-mix(in lab, red, red)){.trend-legend span.coquic-family{border-color:color-mix(in srgb, var(--family-color,var(--primary)) 34%, transparent)}}.trend-legend span.coquic-family{background:var(--primary-soft)}.trend-legend i{background:var(--legend-color);border-radius:50%;width:8px;height:8px}.trend-legend b{color:var(--ink);font-family:var(--font-mono);font-size:10px;font-weight:850}.trend-family-chip{max-width:104px;height:17px;padding:0 6px}.perf-detail-open,.perf-flamegraph-fullscreen-open{overflow:hidden}.perf-detail-backdrop{z-index:80;background:var(--modal-backdrop);place-items:center;padding:18px;display:grid;position:fixed;inset:0}.perf-detail-modal{border:1px solid var(--line);background:var(--bg);width:min(1120px,100%);max-height:min(900px,92vh);box-shadow:0 24px 90px var(--shadow-modal);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.perf-detail-head{border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.perf-detail-head h2{color:var(--ink);font-size:15px;font-weight:850;line-height:1.2}.perf-detail-head span{color:var(--muted);font-family:var(--font-mono);margin-top:4px;font-size:11px;line-height:1.3;display:block}.perf-detail-close{border:1px solid var(--line);width:36px;height:36px;color:var(--ink);background:var(--surface-2);cursor:pointer;border-radius:7px;flex:none;justify-content:center;align-items:center;display:inline-flex}.perf-detail-close:hover,.perf-detail-close:focus-visible{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.perf-detail-close:hover,.perf-detail-close:focus-visible{border-color:color-mix(in srgb, var(--primary) 38%, var(--line))}}.perf-detail-close:hover,.perf-detail-close:focus-visible{color:var(--primary-active);outline:none}.perf-detail-body{gap:16px;min-width:0;padding:16px;display:grid;overflow:auto}.perf-detail-summary,.perf-detail-utilization,.perf-detail-profiles{gap:8px;min-width:0;display:grid}.perf-detail-summary{border:1px solid var(--line);background:var(--surface);border-radius:7px;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;overflow:hidden}.perf-detail-section{border-top:1px solid var(--line);gap:10px;min-width:0;padding-top:14px;display:grid}@supports (color:color-mix(in lab, red, red)){.perf-detail-section{border-top:1px solid color-mix(in srgb, var(--line) 72%, transparent)}}.perf-detail-section h3{color:var(--ink);font-size:13px;font-weight:850;line-height:1.2}.perf-detail-utilization,.perf-detail-profiles{grid-template-columns:repeat(2,minmax(0,1fr))}.perf-detail-endpoint,.detail-profile-card{gap:9px;min-width:0;display:grid}.detail-profile-card.has-flamegraph{grid-template-rows:auto minmax(220px,auto) auto}.perf-detail-endpoint h4,.detail-profile-title strong{color:var(--ink);font-family:var(--font-mono);text-transform:uppercase;font-size:11px;font-weight:850}.perf-detail-metrics{border:1px solid var(--line);background:var(--surface);border-radius:7px;gap:0;display:grid;overflow:hidden}.utilization-metric-row{grid-template-columns:72px repeat(2,minmax(0,1fr));min-width:0;display:grid}.utilization-metric-row+.utilization-metric-row{border-top:1px solid var(--line)}.utilization-metric-row-label{border-right:1px solid var(--line);min-width:0;min-height:44px;color:var(--muted);background:var(--surface-2);font-family:var(--font-mono);text-transform:uppercase;align-items:center;padding:8px;font-size:10px;font-weight:850;line-height:1;display:inline-flex}.perf-detail-stat{align-content:center;gap:3px;min-width:0;min-height:44px;padding:8px;display:grid}.perf-detail-stat+.perf-detail-stat,.utilization-metric-row .perf-detail-stat+.perf-detail-stat{border-left:1px solid var(--line)}.perf-detail-stat small{color:var(--muted);font-family:var(--font-mono);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:9px;font-weight:850;line-height:1;overflow:hidden}.perf-detail-stat strong{color:var(--ink);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:850;line-height:1;overflow:hidden}.perf-detail-stat em{color:var(--muted);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-style:normal;line-height:1;overflow:hidden}.detail-profile-title{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.detail-profile-title span{color:var(--muted);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.detail-flamegraph{border:1px solid var(--line);background:#fff;border-radius:6px;min-width:0;height:clamp(220px,34vh,360px);position:relative;overflow:hidden}.detail-flamegraph-frame{background:#fff;border:0;width:100%;height:100%;display:block}.detail-flamegraph-fullscreen-button{z-index:2;border:1px solid var(--line-strong);justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex;position:absolute;top:8px;right:8px}@supports (color:color-mix(in lab, red, red)){.detail-flamegraph-fullscreen-button{border:1px solid color-mix(in srgb, var(--line-strong) 78%, #000)}}.detail-flamegraph-fullscreen-button{color:var(--ink);background:#fff;border-radius:7px}@supports (color:color-mix(in lab, red, red)){.detail-flamegraph-fullscreen-button{background:color-mix(in srgb, #fff 90%, var(--surface))}}.detail-flamegraph-fullscreen-button{cursor:pointer;transition:border-color .18s,color .18s,background .18s,transform .18s;box-shadow:0 10px 28px #0206172e}.detail-flamegraph-fullscreen-button:hover,.detail-flamegraph-fullscreen-button:focus-visible{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.detail-flamegraph-fullscreen-button:hover,.detail-flamegraph-fullscreen-button:focus-visible{border-color:color-mix(in srgb, var(--primary) 45%, var(--line))}}.detail-flamegraph-fullscreen-button:hover,.detail-flamegraph-fullscreen-button:focus-visible{color:var(--primary-active);background:#fff;outline:none;transform:translateY(-1px)}.detail-profile-card.flamegraph-fullscreen{z-index:100;background:var(--bg);box-shadow:0 28px 110px var(--shadow-modal);grid-template-rows:auto minmax(0,1fr) auto;padding:12px;position:fixed;inset:12px}.detail-profile-card.flamegraph-fullscreen .detail-flamegraph{height:auto;min-height:0}.detail-profile-card.flamegraph-fullscreen .detail-flamegraph-fullscreen-button{top:10px;right:10px}.detail-profile-links{flex-wrap:wrap;gap:10px;min-width:0;display:flex}.detail-profile-links a,.detail-profile-links span{min-width:0;min-height:20px;color:var(--primary-active);font-family:var(--font-mono);align-items:center;padding:0;font-size:11px;font-weight:850;line-height:1.2;text-decoration:none;display:inline-flex}.detail-profile-links span{color:var(--muted);font-weight:700;line-height:1.3}.detail-profile-links a:hover,.detail-profile-links a:focus-visible{color:var(--primary);outline:none;text-decoration:underline}.interop-head{gap:calc(var(--spacing) * 4);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--line);background-color:var(--surface);padding:calc(var(--spacing) * 4);flex-direction:column;display:flex}@media (min-width:48rem){.interop-head{flex-direction:row;justify-content:space-between;align-items:center}}.interop-head h1{--tw-leading:var(--leading-tight);font-size:28px;line-height:var(--leading-tight);--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);color:var(--ink)}@media (min-width:40rem){.interop-head h1{font-size:36px}}.interop-head p{margin-top:calc(var(--spacing) * 2);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted)}.interop-legend{gap:calc(var(--spacing) * 2);flex-wrap:wrap;display:flex}.interop-legend span{min-height:calc(var(--spacing) * 7);align-items:center;gap:calc(var(--spacing) * 2);border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);background-color:var(--surface-2);padding-inline:calc(var(--spacing) * 2);color:var(--muted);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:11px;display:inline-flex}.interop-legend b{margin-left:calc(var(--spacing) * 1);min-width:calc(var(--spacing) * 5);border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line-strong);background-color:var(--surface);padding-inline:calc(var(--spacing) * 1);--tw-font-weight:var(--font-weight-semibold);font-size:10px;font-weight:var(--font-weight-semibold);color:var(--ink);justify-content:center;align-items:center;display:inline-flex}.interop-legend i{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5);background:var(--legend-color);border-radius:3.40282e38px}.compat-wrap{scroll-padding-left:410px;overflow:auto}.compat-matrix{border-collapse:collapse;min-width:100%;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));width:max-content}.compat-matrix th,.compat-matrix td{border-right-style:var(--tw-border-style);border-right-width:1px;border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--line);padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 2.5);text-align:center;vertical-align:middle;white-space:nowrap}.compat-matrix thead th{top:calc(var(--spacing) * 0);z-index:1;background-color:var(--surface);--tw-font-weight:var(--font-weight-semibold);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:11px;font-weight:var(--font-weight-semibold);color:var(--muted);text-transform:uppercase;position:sticky}.compat-matrix th:nth-child(n+4),.compat-matrix td:nth-child(n+4){width:88px;min-width:88px;max-width:88px}.row-status-column{left:calc(var(--spacing) * 0);z-index:2;background-color:var(--surface);--tw-shadow:1px 0 0 var(--tw-shadow-color,var(--line-strong));min-width:70px;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);position:sticky}.corner,.participant-name{z-index:2;background-color:var(--surface);text-align:left;--tw-shadow:1px 0 0 var(--tw-shadow-color,var(--line-strong));min-width:170px;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);position:sticky;left:70px}.server-column{left:calc(var(--spacing) * 60);z-index:2;background-color:var(--surface);text-align:left;--tw-shadow:1px 0 0 var(--tw-shadow-color,var(--line-strong));min-width:170px;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);position:sticky}.compat-matrix thead .row-status-column,.compat-matrix thead .corner,.compat-matrix thead .server-column{z-index:4}.participant-chip{min-width:calc(var(--spacing) * 0);align-items:center;gap:calc(var(--spacing) * 2);display:inline-flex}.participant-icons{align-items:center;gap:calc(var(--spacing) * 1.5);flex-shrink:0;grid-template-columns:repeat(2,minmax(0,1fr));display:inline-grid}.participant-identity-icon{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7);border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--line);background-color:var(--surface-2);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.participant-identity-icon img,.participant-fallback{width:100%;height:100%}.participant-identity-icon img{object-fit:cover}.participant-identity-icon.language img{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5);object-fit:contain}.participant-identity-icon.source img{width:100%;height:100%}.participant-identity-icon img+.participant-fallback{display:none}.participant-fallback{--tw-font-weight:var(--font-weight-semibold);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:10px;font-weight:var(--font-weight-semibold);color:var(--ink);justify-content:center;align-items:center;display:inline-flex}.participant-chip strong{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--ink)}.participant-chip.coquic{border-radius:var(--radius);background-color:var(--primary-soft);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1)}.test-cell{min-height:calc(var(--spacing) * 7);cursor:help;border-radius:var(--radius);border-style:var(--tw-border-style);min-width:58px;padding-inline:calc(var(--spacing) * 2);--tw-font-weight:var(--font-weight-semibold);font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace;font-size:11px;font-weight:var(--font-weight-semibold);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.15s;--tw-outline-style:none;border-width:1px;outline-style:none;justify-content:center;align-items:center;transition-duration:.15s;display:inline-flex}.test-cell.succeeded{background-color:var(--success-soft);color:var(--ok);border-color:#1f8a6547}.test-cell.unsupported{background-color:var(--warning-soft);color:var(--warning);border-color:#8d6d004d}.test-cell.peer-broken{border-color:var(--line-strong);background-color:var(--peer-broken-soft);color:var(--peer-broken)}.test-cell.known-peer-broken{background-color:var(--known-peer-broken-soft);color:var(--known-peer-broken);border-color:#6929c452}.test-cell.unknown{border-color:var(--line-strong);background-color:var(--surface-2);color:var(--muted)}.test-cell.failed{background-color:var(--danger-soft);color:var(--danger);border-color:#cf2d5647}.test-cell:hover,.test-cell:focus-visible{border-color:var(--primary);box-shadow:0 0 0 2px #0f62fe24}.empty-cell{padding:calc(var(--spacing) * 8);text-align:center;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted)}.interop-tooltip{z-index:80;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);width:min(310px,100vw - 24px);color:var(--ink);box-shadow:0 18px 48px var(--shadow-popover);opacity:0;pointer-events:none;visibility:hidden;gap:6px;padding:10px 12px;display:grid;position:fixed}.interop-tooltip.visible{opacity:1;visibility:visible}.interop-tooltip strong{font-size:12px;font-weight:800;line-height:1.2}.interop-tooltip span{grid-template-columns:54px minmax(0,1fr);gap:8px;font-size:12px;line-height:1.25;display:grid}.interop-tooltip b{color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;font-size:10px}.interop-tooltip small{color:var(--muted);font-size:11px;line-height:1.35}}@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.relative{position:relative}.static{position:static}.right-0{right:calc(var(--spacing) * 0)}.bottom-\[calc\(100\%\+10px\)\]{bottom:calc(100% + 10px)}.z-40{z-index:40}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-5{margin-top:calc(var(--spacing) * 5)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-\[19px\]{width:19px;height:19px}.size-\[22px\]{width:22px;height:22px}.size-full{width:100%;height:100%}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-auto{height:auto}.max-h-80{max-height:calc(var(--spacing) * 80)}.min-h-6{min-height:calc(var(--spacing) * 6)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-40{min-height:calc(var(--spacing) * 40)}.min-h-\[22px\]{min-height:22px}.min-h-\[280px\]{min-height:280px}.min-h-screen{min-height:100vh}.w-\[clamp\(72px\,12vw\,116px\)\]{width:clamp(72px,12vw,116px)}.w-\[min\(82vw\,340px\)\]{width:min(82vw,340px)}.w-full{width:100%}.max-w-\[760px\]{max-width:760px}.max-w-\[920px\]{max-width:920px}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-y{resize:vertical}.list-none{list-style-type:none}.grid-cols-\[auto_minmax\(0\,1fr\)\]{grid-template-columns:auto minmax(0,1fr)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-center{align-content:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.rounded-\[var\(--radius\)\]{border-radius:var(--radius)}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[rgba\(15\,98\,254\,0\.28\)\]{border-color:#0f62fe47}.border-\[rgba\(31\,138\,101\,0\.28\)\]{border-color:#1f8a6547}.border-\[rgba\(141\,109\,0\,0\.3\)\]{border-color:#8d6d004d}.border-\[rgba\(141\,109\,0\,0\.22\)\]{border-color:#8d6d0038}.border-\[rgba\(141\,109\,0\,0\.28\)\]{border-color:#8d6d0047}.border-\[rgba\(207\,45\,86\,0\.28\)\]{border-color:#cf2d5647}.border-\[var\(--line\)\]{border-color:var(--line)}.border-\[var\(--line-strong\)\]{border-color:var(--line-strong)}.border-\[var\(--primary\)\]{border-color:var(--primary)}.border-transparent{border-color:#0000}.bg-\[var\(--danger-soft\)\]{background-color:var(--danger-soft)}.bg-\[var\(--primary\)\]{background-color:var(--primary)}.bg-\[var\(--primary-soft\)\]{background-color:var(--primary-soft)}.bg-\[var\(--success-soft\)\]{background-color:var(--success-soft)}.bg-\[var\(--surface\)\]{background-color:var(--surface)}.bg-\[var\(--surface-2\)\]{background-color:var(--surface-2)}.bg-\[var\(--warning-soft\)\]{background-color:var(--warning-soft)}.bg-\[var\(--warning-tooltip\)\]{background-color:var(--warning-tooltip)}.bg-transparent{background-color:#0000}.bg-\[linear-gradient\(90deg\,var\(--ink\)_0\%\,var\(--soft\)_58\%\,var\(--primary\)_100\%\)\]{background-image:linear-gradient(90deg,var(--ink) 0%,var(--soft) 58%,var(--primary) 100%)}.bg-\[linear-gradient\(110deg\,\#002d9c_0\%\,\#0f62fe_48\%\,\#78a9ff_100\%\)\]{background-image:linear-gradient(110deg,#002d9c 0%,#0f62fe 48%,#78a9ff 100%)}.bg-\[linear-gradient\(110deg\,var\(--ink\)_0\%\,var\(--soft\)_48\%\,var\(--primary\)_100\%\)\]{background-image:linear-gradient(110deg,var(--ink) 0%,var(--soft) 48%,var(--primary) 100%)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-contain{object-fit:contain}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-7{padding-block:calc(var(--spacing) * 7)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-4{padding-top:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.font-mono{font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,menlo,consolas,Liberation Mono,monospace}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[44px\]{font-size:44px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-\[var\(--danger\)\]{color:var(--danger)}.text-\[var\(--ink\)\]{color:var(--ink)}.text-\[var\(--muted\)\]{color:var(--muted)}.text-\[var\(--ok\)\]{color:var(--ok)}.text-\[var\(--primary\)\]{color:var(--primary)}.text-\[var\(--soft\)\]{color:var(--soft)}.text-\[var\(--warning\)\]{color:var(--warning)}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.outline-none{--tw-outline-style:none;outline-style:none}.group-focus-within\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\:border-\[var\(--danger\)\]:hover{border-color:var(--danger)}.hover\:border-\[var\(--primary\)\]:hover{border-color:var(--primary)}.hover\:border-\[var\(--primary-hover\)\]:hover{border-color:var(--primary-hover)}.hover\:bg-\[var\(--primary-hover\)\]:hover{background-color:var(--primary-hover)}.hover\:bg-\[var\(--primary-soft\)\]:hover{background-color:var(--primary-soft)}.hover\:bg-\[var\(--surface-2\)\]:hover{background-color:var(--surface-2)}.hover\:bg-\[var\(--surface-3\)\]:hover{background-color:var(--surface-3)}.hover\:bg-\[var\(--warning-soft\)\]:hover{background-color:var(--warning-soft)}.hover\:text-\[var\(--primary\)\]:hover{color:var(--primary)}.hover\:text-\[var\(--primary-hover\)\]:hover{color:var(--primary-hover)}.hover\:text-\[var\(--warning\)\]:hover{color:var(--warning)}.hover\:decoration-\[var\(--primary-hover\)\]:hover{-webkit-text-decoration-color:var(--primary-hover);-webkit-text-decoration-color:var(--primary-hover);-webkit-text-decoration-color:var(--primary-hover);text-decoration-color:var(--primary-hover)}}.focus\:border-\[var\(--primary\)\]:focus{border-color:var(--primary)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-\[rgba\(15\,98\,254\,0\.24\)\]:focus{--tw-ring-color:#0f62fe3d}.focus-visible\:bg-\[var\(--warning-soft\)\]:focus-visible{background-color:var(--warning-soft)}.focus-visible\:text-\[var\(--warning\)\]:focus-visible{color:var(--warning)}.focus-visible\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-\[rgba\(15\,98\,254\,0\.48\)\]:focus-visible{outline-color:#0f62fe7a}.focus-visible\:outline-\[rgba\(141\,109\,0\,0\.32\)\]:focus-visible{outline-color:#8d6d0052}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-55:disabled{opacity:.55}@media (min-width:40rem){.sm\:py-20{padding-block:calc(var(--spacing) * 20)}.sm\:text-\[64px\]{font-size:64px}}@media (min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.md\:items-end{align-items:flex-end}.md\:justify-end{justify-content:flex-end}}@media (min-width:64rem){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:py-7{padding-block:calc(var(--spacing) * 7)}.lg\:py-24{padding-block:calc(var(--spacing) * 24)}.lg\:text-\[104px\]{font-size:104px}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}}@media (max-width:1080px){@layer components{.packet-stage{gap:calc(var(--spacing) * 4);grid-template-columns:repeat(1,minmax(0,1fr))}.stage-node{min-height:104px}.scenario-toolbar{row-gap:calc(var(--spacing) * 4)}.endpoint-grid{gap:calc(var(--spacing) * 5)}.control-button{min-width:calc(var(--spacing) * 0)}.plot-grid{grid-template-columns:190px minmax(0,1fr)}.bar-row{grid-template-columns:34px 214px minmax(0,1fr) minmax(106px,auto);grid-template-areas:none}.bar-row .rank-badge,.bar-row .bar-label,.bar-row .bar-track,.bar-row .bar-value{grid-area:auto}.perf-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}}@media (max-width:680px){@layer components{.coquic-page{padding-inline:calc(var(--spacing) * 3);padding-bottom:calc(var(--spacing) * 8)}.top-nav{margin-inline:calc(var(--spacing) * -3);gap:calc(var(--spacing) * 2);padding-inline:calc(var(--spacing) * 3)}.nav-link{height:calc(var(--spacing) * 10);min-height:calc(var(--spacing) * 10);padding-inline:calc(var(--spacing) * 2);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.nav-menu-trigger{gap:4px}.top-nav-links{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;min-width:0;padding-right:32px;overflow-x:auto}.top-nav-links::-webkit-scrollbar{display:none}.top-nav-links>.nav-link,.top-nav-links>.nav-menu{scroll-snap-align:start}.nav-menu-content{display:none}.mobile-nav-menu-content[data-open=true]{z-index:40;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:144px;max-width:calc(100vw - 24px);box-shadow:0 18px 48px var(--shadow-popover);padding:4px;display:grid;position:fixed;top:50px;right:12px}.site-search-trigger,.top-nav-home{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.top-nav-home svg,.site-search-trigger svg{width:18px;height:18px}.page-header{padding-block:calc(var(--spacing) * 6)}.page-title{--tw-leading:1.12;max-width:none;font-size:32px;line-height:1.12}.interop-shell{border-radius:8px;overflow:hidden}.interop-head{padding:14px}.interop-head h1{font-size:29px}.interop-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.interop-legend span{white-space:nowrap;min-width:0;overflow:hidden}.compat-wrap{scroll-padding-left:0}.compat-matrix{min-width:900px;font-size:12px}.compat-matrix th,.compat-matrix td{padding:8px}.compat-matrix thead th{z-index:1!important;position:static!important;top:auto!important}.compat-matrix th:nth-child(n+4),.compat-matrix td:nth-child(n+4){width:76px;min-width:76px;max-width:76px}.row-status-column{width:58px;min-width:58px;max-width:58px;box-shadow:none;z-index:1!important;position:static!important;top:auto!important;left:auto!important}.corner,.participant-name,.server-column{width:132px;min-width:132px;max-width:132px;box-shadow:none;z-index:1!important;position:static!important;top:auto!important;left:auto!important}.compat-matrix thead .server-column{z-index:1!important;box-shadow:none!important;position:static!important;top:auto!important}.coquic-page .compat-matrix thead .row-status-column,.coquic-page .compat-matrix thead .corner,.coquic-page .compat-matrix thead .server-column,.coquic-page .compat-matrix tbody .row-status-column,.coquic-page .compat-matrix tbody .participant-name,.coquic-page .compat-matrix tbody .server-column{z-index:1!important;box-shadow:none!important;position:static!important;top:auto!important;left:auto!important}.participant-chip{gap:6px;width:100%}.participant-identity-icon.language{display:none}.participant-chip strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.test-cell{min-width:54px;padding-inline:6px}.packet-stage{min-height:calc(var(--spacing) * 0)}.stage-node{display:none}.stage-controls{column-gap:calc(var(--spacing) * 0);grid-template-columns:repeat(1,minmax(0,1fr));max-width:none}.control-button{min-height:calc(var(--spacing) * 10);min-width:calc(var(--spacing) * 0)}.scenario-toolbar{padding-block:calc(var(--spacing) * 4)}.scenario-control{padding-right:calc(var(--spacing) * 0)}.network-control{row-gap:calc(var(--spacing) * 1)}.endpoint-grid{gap:calc(var(--spacing) * 4)}.packet-rail{min-height:230px}.packet-lane{height:calc(var(--spacing) * 11);left:18px;right:18px}.packet-lane.c2s:after{right:48px}.packet-lane.s2c:after{left:48px}.packet-lane.c2s{top:58px}.packet-lane.s2c{bottom:44px}.lane-end{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.packet{min-height:calc(var(--spacing) * 8);width:108px}.plot-grid{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;grid-template-columns:1fr;gap:0;padding:0;overflow:hidden}.chart-panel{background:0 0;border:0}.comparison-shell{margin-top:calc(var(--spacing) * 5)}.plot-filters{border:0;border-bottom:1px solid var(--line);background:var(--surface);box-shadow:none;border-radius:0;grid-template-columns:1fr;gap:10px;padding:12px}.plot-filter-head{align-items:center}.plot-filter-title h3{font-size:14px}.plot-filter-title p{margin-top:2px}.plot-filter-reset{min-height:36px;padding-inline:12px}.plot-filter-options{scroll-snap-type:x proximity;scrollbar-width:none;gap:7px;padding-bottom:2px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 0 calc(100% - 22px),#0000);mask-image:linear-gradient(90deg,#000 0 calc(100% - 22px),#0000)}.plot-filter-options::-webkit-scrollbar{display:none}.plot-filter-options .filter-choice{scroll-snap-align:start;flex:0 0 112px}.plot-filter-options.vendor-options{overflow-x:auto}.plot-filter-options.vendor-options::-webkit-scrollbar{display:none}.plot-filter-group-title[aria-expanded=false]+.plot-filter-options{display:none}.filter-choice{border-radius:7px;min-height:40px;padding:8px 10px}.filter-choice span{font-size:13px}.plot-panel-active{gap:0;min-width:0;margin-top:0;display:grid}.plot-tabs{border:0;border-bottom:1px solid var(--line);background:var(--surface);scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:0;gap:8px;max-width:100%;margin-bottom:0;padding:10px 12px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 0 calc(100% - 22px),#0000);mask-image:linear-gradient(90deg,#000 0 calc(100% - 22px),#0000)}.plot-tabs::-webkit-scrollbar{display:none}.plot-tab{scroll-snap-align:start;border-radius:7px;flex:0 0 158px;min-height:56px;padding:10px}.plot-tab strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.plot{background:var(--surface-2);border:0;border-radius:0;padding:12px}.panel-head{flex-direction:column;align-items:flex-start}.trend-head{flex-direction:column}.packet-row{grid-template-columns:48px minmax(0,1fr) 64px;grid-template-areas:"id kind size""time frames frames"}.packet-row .mono{grid-area:id}.packet-row span:nth-child(2){grid-area:time}.packet-row .packet-kind{grid-area:kind}.packet-row .packet-frames{grid-area:frames}.packet-row .packet-size{grid-area:size}.bar-row{border-color:var(--line);background:var(--surface);grid-template-columns:34px minmax(0,1fr) auto;grid-template-areas:"rank label value""rank track track";align-items:center;gap:8px 10px;min-height:0;padding:10px}.bar-row .rank-badge{grid-area:rank;align-self:center}.bar-row .bar-label{grid-area:label}.bar-row .bar-track{grid-area:track;height:12px}.bar-row .bar-value{grid-area:value}.bar-value{text-align:right;justify-content:flex-end;gap:7px}.bar-value>span{white-space:normal;max-width:112px;line-height:1.18}.bar-detail-button{width:34px;height:34px}.perf-detail-backdrop{align-items:stretch;padding:10px}.perf-detail-modal{max-height:calc(100vh - 20px)}.perf-detail-head{align-items:flex-start}.perf-detail-summary,.perf-detail-utilization,.perf-detail-profiles{grid-template-columns:1fr}.bar-name-row{flex-direction:row;align-items:center;gap:6px}.coquic-family-chip{max-width:92px}.trend-family-chip{max-width:88px}.utilization-metric-row{grid-template-columns:64px repeat(2,minmax(0,1fr))}.bar-identity{grid-template-columns:minmax(0,1fr);min-height:36px}.bar-identity-icons{display:none}.identity-name{font-size:13px}.bar-version{font-size:9px}.trend-chart{padding-bottom:2px;overflow:auto hidden}.trend-svg{width:560px;max-width:none;min-height:214px}.trend-axis-label{font-size:9px}.trend-legend{grid-template-columns:1fr;max-height:180px;padding-right:2px;display:grid;overflow:hidden auto}.trend-legend span{border-radius:8px;grid-template-columns:8px minmax(0,1fr) auto;width:100%;min-width:0;max-width:100%;min-height:34px;padding:7px 9px;display:grid;overflow:hidden}.trend-legend b,.trend-legend small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.trend-legend small{grid-column:2/-1;max-width:100%;font-size:9px}.trend-family-chip{text-overflow:ellipsis;min-width:0;max-width:92px;overflow:hidden}.detail-profile-card.has-flamegraph{grid-template-rows:auto minmax(180px,auto) auto}.detail-flamegraph{height:220px}}}@media (max-width:430px){@layer components{.page-title{font-size:clamp(29px,8vw,32px)}.bar-row{grid-template-columns:30px minmax(0,1fr);grid-template-areas:"rank label""rank value""rank track";gap:8px;padding:10px 9px}.bar-row.coquic-family:before{inset:8px auto 8px 0}.rank-badge{width:26px;height:26px}.bar-value{text-align:left;justify-content:space-between;width:100%}.bar-value>span{max-width:none}.coquic-family-chip{max-width:112px}}}@media (prefers-reduced-motion:reduce){@layer components{*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-border-spacing-x{syntax:"<length>";inherits:false;initial-value:0}@property --tw-border-spacing-y{syntax:"<length>";inherits:false;initial-value:0}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}
