/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@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-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}}}:root{--color-paper:oklch(98.5% .004 250);--color-paper-2:oklch(96.5% .008 250);--color-paper-3:oklch(93.5% .012 250);--color-ink:oklch(24% .02 258);--color-ink-2:oklch(34% .018 257);--color-muted:oklch(48% .018 257);--color-rule:oklch(88% .012 252);--color-rule-2:oklch(76% .018 252);--color-accent:oklch(50% .2 256);--color-accent-strong:oklch(42% .19 256);--color-accent-soft:oklch(93% .04 256);--color-accent-ink:oklch(98.5% .004 250);--color-focus:oklch(50% .2 256);--color-success:oklch(43% .13 152);--color-success-soft:oklch(94% .035 152);--color-warning:oklch(46% .13 72);--color-warning-soft:oklch(94% .04 72);--color-error:oklch(48% .18 25);--color-error-soft:oklch(95% .035 25);--color-graphite:oklch(22% .016 260);--color-graphite-2:oklch(27% .018 260);--color-on-graphite:oklch(94% .008 250);--color-on-graphite-muted:oklch(76% .012 250);--color-overlay:oklch(16% .015 258/.48);--font-display:"Space Grotesk Variable", "Noto Sans SC", Arial, sans-serif;--font-body:"DM Sans Variable", "Noto Sans SC", Arial, sans-serif;--font-mono:"JetBrains Mono Variable", "Courier New", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.375rem;--text-xl:1.75rem;--text-2xl:2.25rem;--text-3xl:3rem;--text-display:clamp(2.75rem, 5vw + 1rem, 5.25rem);--space-3xs:.125rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--space-4xl:9rem;--radius-sm:.375rem;--radius-md:.625rem;--radius-lg:1rem;--radius-round:999px;--rule-thin:1px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-modal:400;--z-toast:500;--z-tooltip:600}html[data-theme=dark]{color-scheme:dark;--color-paper:oklch(17% .014 256);--color-paper-2:oklch(21% .016 256);--color-paper-3:oklch(27% .018 256);--color-ink:oklch(94% .008 250);--color-ink-2:oklch(84% .01 250);--color-muted:oklch(69% .012 250);--color-rule:oklch(32% .014 255);--color-rule-2:oklch(44% .02 255);--color-accent:oklch(68% .17 256);--color-accent-strong:oklch(79% .12 256);--color-accent-soft:oklch(28% .06 256);--color-accent-ink:oklch(13% .02 256);--color-focus:oklch(78% .14 256);--color-success:oklch(72% .12 152);--color-success-soft:oklch(25% .04 152);--color-warning:oklch(77% .11 72);--color-warning-soft:oklch(27% .05 72);--color-error:oklch(76% .12 25);--color-error-soft:oklch(26% .055 25);--color-graphite:oklch(12% .012 260);--color-graphite-2:oklch(25% .015 260);--color-on-graphite:oklch(95% .008 250);--color-on-graphite-muted:oklch(74% .012 250)}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-vietnamese-wght-normal.D0rl6rjA.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-ext-wght-normal.D9tNdqV9.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-wght-normal.BhU9QXUp.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/dm-sans-latin-ext-wght-normal.BOFOeGcA.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/dm-sans-latin-wght-normal.Xz1IZZA0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer theme{:root,:host{--font-sans:var(--font-body);--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;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:where(:not(iframe)){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}}@layer components;@layer utilities{.relative{position:relative}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.contents{display:contents}.grid{display:grid}.hidden{display:none}.filter{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,)}}*,:before,:after{box-sizing:border-box}html,body{margin:0;overflow-x:clip}html{scroll-behavior:smooth}body{background:var(--color-paper);min-width:20rem;color:var(--color-ink-2);font-family:var(--font-body);font-size:var(--text-base);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;line-height:1.6}body[data-dialog-open=true]{overflow:hidden}img,svg{max-width:100%;display:block}button,input,select,textarea{color:inherit;font:inherit}button,a,summary{-webkit-tap-highlight-color:var(--color-accent-soft)}a{color:inherit;text-decoration-thickness:var(--rule-thin);text-underline-offset:.2em}h1,h2,h3,p,ul,ol,dl,figure,pre{margin:0}h1,h2,h3{min-width:0;color:var(--color-ink);font-family:var(--font-display);letter-spacing:-.03em;overflow-wrap:anywhere;font-style:normal;line-height:1.12}:focus{outline:none}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}::selection{background:var(--color-accent-soft);color:var(--color-ink)}.skip-link{z-index:var(--z-toast);padding:var(--space-sm) var(--space-md);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-sm);background:var(--color-paper);color:var(--color-ink);position:fixed;inset-block-start:var(--space-sm);inset-inline-start:var(--space-sm);transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.container{width:min(100% - 2rem,76rem);margin-inline:auto}.page-main{min-height:65svh}.site-header{z-index:var(--z-sticky);border-block-end:var(--rule-thin) solid var(--color-rule);background:var(--color-paper);position:sticky;inset-block-start:0}@supports (color:color-mix(in lab,red,red)){.site-header{background:color-mix(in oklch,var(--color-paper) 92%,transparent)}}.site-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.site-header__inner{align-items:center;gap:var(--space-md);grid-template-columns:auto minmax(0,1fr) auto;min-height:4.5rem;display:grid}.brand{align-items:center;gap:var(--space-sm);color:var(--color-ink);font-family:var(--font-display);letter-spacing:-.03em;white-space:nowrap;font-weight:700;text-decoration:none;display:inline-flex}.brand__mark{border:var(--rule-thin) solid var(--color-ink);border-radius:var(--radius-sm);background:var(--color-ink);width:2rem;height:2rem;color:var(--color-paper);font-family:var(--font-mono);font-size:var(--text-sm);place-items:center;display:grid}.header-search{justify-self:center;align-items:center;gap:var(--space-sm);width:min(100%,28rem);min-height:2.75rem;padding-inline:var(--space-md) var(--space-sm);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-sm);background:var(--color-paper-2);color:var(--color-muted);cursor:pointer;text-align:start;display:none}.header-search__label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.kbd{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper);min-width:1.75rem;min-height:1.5rem;color:var(--color-ink-2);font-family:var(--font-mono);font-size:var(--text-xs);justify-content:center;align-items:center;display:inline-flex}.desktop-nav{align-items:center;gap:var(--space-lg);display:none}.nav-link,.footer-link{color:var(--color-ink-2);font-size:var(--text-sm);white-space:nowrap;font-weight:500;text-decoration:none;position:relative}.nav-link:after,.text-link:after{height:var(--rule-thin);background:var(--color-accent);content:"";opacity:0;transform-origin:0;transition:opacity var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out);position:absolute;inset-block-end:-.25rem;inset-inline:0;transform:scaleX(0)}.nav-link[aria-current=page]{color:var(--color-accent-strong)}.theme-toggle{min-height:2.75rem;color:var(--color-ink-2);cursor:pointer;font-size:var(--text-sm);white-space:nowrap;background:0 0;border:0}.tag-list{gap:var(--space-xs);flex-wrap:wrap;display:flex}.tag-list a{text-decoration:none}.tag-list a:hover{border-color:var(--color-accent)}.mobile-menu{position:relative}.mobile-menu summary{border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-sm);background:var(--color-paper);cursor:pointer;place-items:center;width:2.75rem;height:2.75rem;list-style:none;display:grid}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu__panel{gap:var(--space-2xs);min-width:13rem;padding:var(--space-sm);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);background:var(--color-paper);display:grid;position:absolute;inset-block-start:calc(100% + var(--space-sm));inset-inline-end:0}.mobile-menu__panel a,.mobile-menu__panel button{min-height:2.75rem;padding-inline:var(--space-sm);border-radius:var(--radius-sm);background:var(--color-paper);color:var(--color-ink);cursor:pointer;white-space:nowrap;border:0;align-items:center;text-decoration:none;display:flex}.button{justify-content:center;align-items:center;gap:var(--space-xs);min-height:2.75rem;padding-inline:var(--space-md);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-sm);background:var(--color-paper);color:var(--color-ink);cursor:pointer;font-size:var(--text-sm);white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out);font-weight:600;text-decoration:none;display:inline-flex}.button--primary{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-ink)}.button--quiet{background:var(--color-paper-2)}.button:active,.plugin-card:active{transform:translateY(1px)}.button[disabled],.button[aria-disabled=true]{cursor:not-allowed;opacity:.5;pointer-events:none}.button[data-state=loading]:before{border:var(--rule-thin) solid currentColor;border-radius:var(--radius-round);content:"";border-inline-end-color:#0000;width:.875rem;height:.875rem;animation:.8s linear infinite spin}.button[data-state=error]{border-color:var(--color-error);background:var(--color-error-soft);color:var(--color-error)}.button[data-state=success]{border-color:var(--color-success);background:var(--color-success-soft);color:var(--color-success)}@keyframes spin{to{transform:rotate(360deg)}}.home-hero{gap:var(--space-xl);padding-block:var(--space-xl) var(--space-2xl);display:grid}.home-hero__copy{align-content:start;gap:var(--space-lg);display:grid}.home-hero h1{max-width:16ch;font-size:clamp(2.5rem,6vw,4.25rem);font-weight:700}html[data-theme=dark] .protocol-panel__method,html[data-theme=dark] .protocol-panel__status,html[data-theme=dark] .code-sample__accent{color:var(--color-accent-strong)}.home-hero__lede{max-width:58ch;color:var(--color-muted);font-size:var(--text-md)}.hero-search{border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-sm);background:var(--color-paper);grid-template-columns:minmax(0,1fr) auto;width:min(100%,38rem);min-height:3.25rem;display:grid}.hero-search input,.filter-input,.filter-select,.command-dialog__input{border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-sm);background:var(--color-paper);min-width:0;color:var(--color-ink);outline-offset:1px;outline:2px solid #0000}.hero-search input{min-height:3.125rem;padding-inline:var(--space-md);background:0 0;border:0}.hero-search input:focus-visible,.filter-input:focus-visible,.filter-select:focus-visible,.command-dialog__input:focus-visible{outline-color:var(--color-focus)}.hero-search input::placeholder,.filter-input::placeholder,.command-dialog__input::placeholder{color:var(--color-muted);opacity:1}.hero-search .button{min-height:100%;margin:-1px}.protocol-panel{border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);background:var(--color-graphite);color:var(--color-on-graphite);align-self:start;overflow:hidden}.protocol-panel__head,.protocol-panel__row{align-items:center;gap:var(--space-sm);padding:var(--space-md);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.protocol-panel__head{border-block-end:var(--rule-thin) solid var(--color-graphite-2);color:var(--color-on-graphite-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase}.protocol-panel__row+.protocol-panel__row{border-block-start:var(--rule-thin) solid var(--color-graphite-2)}.protocol-panel__method,.mono-label,.eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:600}.protocol-panel__method,.protocol-panel__status{color:var(--color-accent-soft)}.protocol-panel__path{min-width:0;color:var(--color-on-graphite);font-family:var(--font-mono);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.protocol-panel__status{font-family:var(--font-mono);font-size:var(--text-xs)}.section{padding-block:var(--space-2xl)}.section--tight{padding-block:var(--space-xl)}.section-head{justify-content:space-between;align-items:end;gap:var(--space-lg);border-block-end:var(--rule-thin) solid var(--color-rule);margin-block-end:var(--space-xl);padding-block-end:var(--space-md);display:flex}.section-head__copy{gap:var(--space-xs);display:grid}.section-head h2{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700}.section-head p{max-width:58ch;color:var(--color-muted)}.text-link{color:var(--color-ink);white-space:nowrap;font-weight:600;text-decoration:none;position:relative}.plugin-grid{gap:var(--space-md);grid-template-columns:minmax(0,1fr);display:grid}.plugin-card{align-content:space-between;gap:var(--space-xl);min-width:0;min-height:15rem;padding:var(--space-lg);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-paper);color:var(--color-ink-2);transition:border-color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out);text-decoration:none;display:grid;position:relative}.plugin-card[hidden]{display:none}.brand-muted{color:var(--color-muted)}.plugin-card:after{border:var(--rule-thin) solid transparent;border-radius:inherit;content:"";pointer-events:none;position:absolute;inset:0}.plugin-card__top,.plugin-card__meta,.plugin-card__badges,.meta-list{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.plugin-card__top{align-items:flex-start}.plugin-icon{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-2);flex:none;width:3rem;height:3rem}.plugin-card__title{gap:var(--space-2xs);flex:1;min-width:0;display:grid}.plugin-card h3{font-size:var(--text-lg);font-weight:700}.plugin-card__summary{max-width:54ch;color:var(--color-muted)}.plugin-card__meta{color:var(--color-muted);font-size:var(--text-sm);justify-content:space-between}.badge{min-height:1.75rem;padding-inline:var(--space-xs);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper-2);color:var(--color-ink-2);font-family:var(--font-mono);font-size:var(--text-xs);white-space:nowrap;align-items:center;line-height:1;display:inline-flex}.badge--official,.badge--stable{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent-strong)}.badge--beta,.badge--warning{border-color:var(--color-warning);background:var(--color-warning-soft);color:var(--color-warning)}.badge--yanked,.badge--deprecated{border-color:var(--color-error);background:var(--color-error-soft);color:var(--color-error)}.category-grid{gap:var(--space-sm);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.category-card{align-content:space-between;gap:var(--space-lg);min-width:0;min-height:8rem;padding:var(--space-md);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-2);color:var(--color-ink);text-decoration:none;display:grid}.category-card strong{font-family:var(--font-display);font-size:var(--text-md)}.category-card span{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.dark-band{background:var(--color-graphite);color:var(--color-on-graphite)}.dark-band__inner{gap:var(--space-xl);padding-block:var(--space-2xl);display:grid}.dark-band h2{max-width:16ch;color:var(--color-on-graphite);font-size:clamp(2rem,5vw,3.25rem)}.dark-band p{max-width:58ch;color:var(--color-on-graphite-muted)}.code-sample{border-block:var(--rule-thin) solid var(--color-graphite-2);padding-block:var(--space-lg);color:var(--color-on-graphite);font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.8;overflow-x:auto}.code-sample__accent{color:var(--color-accent-soft)}.page-hero{gap:var(--space-lg);padding-block:var(--space-2xl) var(--space-xl);border-block-end:var(--rule-thin) solid var(--color-rule);display:grid}.page-hero h1{max-width:16ch;font-size:clamp(2.5rem,7vw,4.5rem)}.page-hero p{max-width:64ch;color:var(--color-muted);font-size:var(--text-md)}.filter-panel{gap:var(--space-md);margin-block:var(--space-xl);padding:var(--space-md);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-2);display:grid}.filter-input,.filter-select{width:100%;min-height:2.75rem;padding-inline:var(--space-sm)}.filter-check{align-items:center;gap:var(--space-xs);white-space:nowrap;min-height:2.75rem;display:inline-flex}.filter-check input{width:1rem;height:1rem;accent-color:var(--color-accent)}.result-count{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.empty-state{padding:var(--space-2xl);border:var(--rule-thin) dashed var(--color-rule-2);border-radius:var(--radius-md);text-align:start;display:none}.empty-state.is-visible{gap:var(--space-sm);display:grid}.detail-hero{gap:var(--space-xl);padding-block:var(--space-2xl) var(--space-xl);display:grid}.detail-hero__main{gap:var(--space-lg);display:grid}.detail-title{align-items:start;gap:var(--space-md);grid-template-columns:auto minmax(0,1fr);display:grid}.detail-title .plugin-icon{width:4.5rem;height:4.5rem}.detail-title h1{font-size:clamp(2.25rem,6vw,4rem)}.detail-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.compatibility-card,.notice,.publisher-card{gap:var(--space-md);padding:var(--space-lg);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-2);display:grid}.compatibility-grid,.permission-list,.dependency-list{gap:var(--space-sm);display:grid}.compatibility-grid div{gap:var(--space-md);padding-block:var(--space-sm);border-block-end:var(--rule-thin) solid var(--color-rule);grid-template-columns:minmax(7rem,.75fr) minmax(0,1.25fr);display:grid}.compatibility-grid dt{color:var(--color-muted)}.compatibility-grid dd{color:var(--color-ink);font-family:var(--font-mono);overflow-wrap:anywhere;margin:0}.content-grid{gap:var(--space-2xl);padding-block:var(--space-xl) var(--space-3xl);display:grid}.content-main,.content-aside{min-width:0}.content-aside{align-content:start;gap:var(--space-lg);display:grid}.screenshot-grid{gap:var(--space-md);grid-template-columns:minmax(0,1fr);display:grid}.screenshot-grid figure{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-2);overflow:hidden}.screenshot-grid img{width:100%;height:auto}.screenshot-grid figcaption{padding:var(--space-sm) var(--space-md);border-block-start:var(--rule-thin) solid var(--color-rule);color:var(--color-muted);font-size:var(--text-sm)}.readme{max-width:72ch;color:var(--color-ink-2)}.readme>*+*{margin-block-start:var(--space-md)}.readme h2,.readme h3{margin-block-start:var(--space-xl)}.readme h2{font-size:var(--text-2xl)}.readme h3{font-size:var(--text-xl)}.readme ul,.readme ol{padding-inline-start:var(--space-lg)}.readme code,.readme pre{font-family:var(--font-mono)}.readme code{border-radius:var(--radius-sm);background:var(--color-paper-3);padding:var(--space-3xs) var(--space-2xs);color:var(--color-ink)}.readme pre{border-block:var(--rule-thin) solid var(--color-rule-2);padding-block:var(--space-md);background:var(--color-paper-2);overflow-x:auto}.readme pre code{background:0 0;padding:0}.readme table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.readme th,.readme td{padding:var(--space-sm);border-block-end:var(--rule-thin) solid var(--color-rule);text-align:start}.version-list{gap:var(--space-md);display:grid}.version-item{gap:var(--space-md);padding-block:var(--space-lg);border-block-start:var(--rule-thin) solid var(--color-rule);display:grid}.version-item__head,.version-item__actions{justify-content:space-between;align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.version-number,.release-date{font-variant-numeric:tabular-nums}.version-number{color:var(--color-ink);font-family:var(--font-mono);font-size:var(--text-md);font-weight:600}.change-list{gap:var(--space-xs);padding-inline-start:var(--space-lg);display:grid}.permission-item,.dependency-item{gap:var(--space-2xs);padding-block:var(--space-sm);border-block-end:var(--rule-thin) solid var(--color-rule);display:grid}.permission-item code,.dependency-item code{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);overflow-wrap:anywhere}.publisher-header{align-items:center;gap:var(--space-lg);display:flex}.publisher-avatar{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-round);background:var(--color-paper-2);width:5rem;height:5rem}.docs-shell{gap:var(--space-xl);padding-block:var(--space-xl) var(--space-3xl);display:grid}.docs-nav{gap:var(--space-xs);padding-block-end:var(--space-xs);display:flex;overflow-x:auto}.docs-nav a{min-height:2.75rem;padding-inline:var(--space-sm);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper-2);white-space:nowrap;align-items:center;text-decoration:none;display:inline-flex}.docs-nav a[aria-current=page]{border-color:var(--color-accent);color:var(--color-accent-strong)}.notice--warning{border-color:var(--color-warning);background:var(--color-warning-soft)}.trust-note{gap:var(--space-sm);padding-block:var(--space-xl);border-block:var(--rule-thin) solid var(--color-rule);display:grid}.site-footer{border-block-start:var(--rule-thin) solid var(--color-rule)}.site-footer__inner{gap:var(--space-md);padding-block:var(--space-xl);color:var(--color-muted);font-size:var(--text-sm);flex-direction:column;display:flex}.site-footer__links{gap:var(--space-md);flex-wrap:wrap;display:flex}.command-dialog{border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);background:var(--color-paper);width:min(40rem,100% - 2rem);height:fit-content;max-height:min(80svh,42rem);color:var(--color-ink);margin:auto;padding:0;position:fixed;inset:0;overflow:hidden}.command-dialog::backdrop{background:var(--color-overlay)}.command-dialog__field{gap:var(--space-sm);padding:var(--space-md);border-block-end:var(--rule-thin) solid var(--color-rule);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.command-dialog__input{min-height:2.75rem;padding-inline:var(--space-sm)}.command-dialog__close{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper-2);cursor:pointer;width:2.75rem;height:2.75rem}.command-dialog__results{max-height:24rem;padding:var(--space-sm);display:grid;overflow-y:auto}.command-result{gap:var(--space-2xs);min-height:3.5rem;padding-inline:var(--space-sm);border:var(--rule-thin) solid transparent;border-radius:var(--radius-sm);color:var(--color-ink);align-content:center;text-decoration:none;display:grid}.command-result[aria-selected=true]{border-color:var(--color-accent);background:var(--color-accent-soft)}.command-result small{color:var(--color-muted)}.command-dialog__empty{padding:var(--space-xl) var(--space-md);color:var(--color-muted);display:none}.command-dialog__empty.is-visible{display:block}.reveal{opacity:0;transition:opacity var(--dur-long) var(--ease-out),transform var(--dur-long) var(--ease-out);transform:translateY(10px)}.reveal.is-in{opacity:1;transform:none}@media (hover:hover) and (pointer:fine){.button:hover{border-color:var(--color-accent);transform:translateY(-1px)}.button--primary:hover{background:var(--color-accent-strong);color:var(--color-accent-ink)}.header-search:hover,.mobile-menu__panel a:hover,.mobile-menu__panel button:hover,.category-card:hover{border-color:var(--color-accent);background:var(--color-accent-soft)}.plugin-card:hover{border-color:var(--color-accent)}.nav-link:hover:after,.text-link:hover:after{opacity:1;transform:scaleX(1)}.footer-link:hover{color:var(--color-accent-strong)}}@media (min-width:40rem){.container{width:min(100% - 3rem,76rem)}.header-search{display:flex}.home-hero,.detail-hero{padding-block-start:var(--space-2xl)}.home-hero{padding-block-end:var(--space-3xl)}.plugin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plugin-grid--featured .plugin-card:first-child{grid-column:span 2}.category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.category-card:first-child,.category-card:nth-child(6){grid-column:span 2}.screenshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-panel{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center}.site-footer__inner{flex-direction:row;justify-content:space-between;align-items:center}}@media (min-width:60rem){.desktop-nav{display:flex}.mobile-menu{display:none}.home-hero{align-items:center;gap:var(--space-2xl);grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.plugin-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.plugin-grid--featured .plugin-card:first-child{grid-column:span 2}.category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.category-card:first-child,.category-card:nth-child(6){grid-column:span 2}.dark-band__inner{align-items:center;gap:var(--space-3xl);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.filter-panel{grid-template-columns:minmax(12rem,2fr) repeat(4,minmax(7rem,1fr)) auto}.content-grid{grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr);align-items:start}.content-aside{position:sticky;inset-block-start:6rem}.docs-shell{grid-template-columns:14rem minmax(0,1fr)}.docs-nav{align-self:start;display:grid;position:sticky;inset-block-start:6rem;overflow:visible}}@media (min-width:90rem){.container{width:min(100% - 6rem,82rem)}}@media (pointer:coarse){.button,.nav-link,.footer-link,.category-card{min-height:2.75rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.15s!important;animation-duration:.15s!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}@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}
