@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-sans-400.woff2) format("woff2")}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/dm-sans-500.woff2) format("woff2")}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/dm-sans-700.woff2) format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/montserrat-500.woff2) format("woff2")}:root{color-scheme:dark;--ds-color-text-primary: #fff;--ds-color-text-secondary: hsla(0, 0%, 100%, .8);--ds-color-text-description: hsla(0, 0%, 100%, .5);--ds-color-text-placeholder: hsla(0, 0%, 100%, .3);--ds-color-brand: #6799fe;--ds-color-bg-page: #050708;--ds-color-bg-surface-1: hsla(0, 0%, 100%, .06);--ds-color-bg-surface-3: hsla(0, 0%, 100%, .02);--ds-color-bg-surface-raised: hsla(0, 0%, 100%, .25);--ds-color-bg-code: rgba(0, 0, 0, .35);--ds-color-bg-input: hsla(0, 0%, 100%, .08);--ds-color-border-default: hsla(0, 0%, 100%, .06);--ds-color-border-subtle: hsla(0, 0%, 100%, .08);--ds-color-border-strong: hsla(0, 0%, 100%, .24);--ds-btn-primary-bg: #fff;--ds-btn-primary-text: #0a0a0a;--ds-btn-secondary-bg: var(--ds-color-bg-surface-1);--ds-btn-secondary-text: #fff;--ds-btn-secondary-border: hsla(0, 0%, 100%, .15);--ds-btn-secondary-hover-border: hsla(0, 0%, 100%, .6);--ds-radius-pill: 100px;--ds-radius-card: 24px;--ds-radius-panel: 16px;--ds-radius-media: 10px;--ds-blur-glass: 12px;--ds-font-body: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans SC", "PingFang SC", sans-serif;--ds-font-display: "Montserrat", var(--ds-font-body);--ds-font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--ds-warn: #f0c982;--ds-danger: #ff7a73;--ds-ok: #9ad5c5;background:var(--ds-color-bg-page);color:var(--ds-color-text-primary);font-family:var(--ds-font-body);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(88px + env(safe-area-inset-top,0px))}body{margin:0;min-height:100vh;background:var(--ds-color-bg-page);color:var(--ds-color-text-primary);padding-bottom:env(safe-area-inset-bottom,0px)}a{color:inherit}button,input,select{font:inherit;color:inherit}.ds-container{width:min(100% - 48px,1140px);margin-inline:auto}.site-header{position:fixed;z-index:50;top:env(safe-area-inset-top,0px);left:50%;width:min(calc(100% - 32px),1140px);height:58px;display:flex;align-items:center;justify-content:space-between;gap:10px;transform:translate(-50%)}.site-header:before{content:"";position:absolute;inset:4px -8px;border:1px solid var(--ds-color-border-default);border-radius:var(--ds-radius-pill);background:#08101c9e;backdrop-filter:blur(18px);opacity:0;pointer-events:none;transition:opacity .4s ease;z-index:-1}.site-header.is-scrolled:before{opacity:1}.wordmark{display:flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font-size:18px;font-weight:500;letter-spacing:-.4px;white-space:nowrap}.wordmark-text{min-width:0}.wordmark svg{width:26px;height:26px;flex:none}.wordmark b{margin-left:4px;padding:5px 10px 4px;border:1px solid rgba(255,255,255,.27);border-radius:8px;font:500 11px/1 var(--ds-font-body);letter-spacing:.07em;box-shadow:inset 0 0 8px #ffffff14,0 0 20px #ffffff14}.site-nav{display:flex;flex:none;align-items:center;padding:3px;border:1px solid rgba(255,255,255,.08);border-radius:var(--ds-radius-pill);background:#0000000f}.site-nav a{padding:6px 12px;border-radius:var(--ds-radius-pill);color:#ffffff80;text-decoration:none;font-size:12px;font-weight:500;white-space:nowrap;transition:color .25s,background .25s}.site-nav a:hover{color:#fff;background:#ffffff24}.hero{position:relative;min-height:100svh;overflow:hidden;isolation:isolate;background:#050708}.hero-backdrop,.hero-backdrop-static,.hero-canvas,.hero-fade{position:absolute;inset:0;width:100%;height:100%}.hero-backdrop-static{z-index:0;background:radial-gradient(ellipse 70% 55% at 78% 28%,rgba(234,220,180,.16),transparent 58%),radial-gradient(ellipse 80% 60% at 18% 22%,rgba(55,110,171,.42),transparent 62%),radial-gradient(ellipse 70% 50% at 52% 40%,rgba(21,67,121,.4),transparent 70%),linear-gradient(180deg,#183b67,#122d50 42%,#07111e 78%,#030608)}.hero-canvas-fluid{z-index:0;animation:reveal 1.8s ease-out both}.hero-canvas-grid{z-index:4;-webkit-mask-image:linear-gradient(#000 0%,rgba(0,0,0,.93) 10%,transparent 100%);mask-image:linear-gradient(#000 0%,rgba(0,0,0,.93) 10%,transparent 100%)}.hero-whale{position:absolute;z-index:2;width:800px;height:800px;left:50%;top:50%;transform:translate(calc(-50% + 50px),-50%);mix-blend-mode:screen;opacity:.72;pointer-events:none}.hero-fade{z-index:5;inset:auto 0 0;height:35%;background:linear-gradient(transparent,#030507e6 82%,#050708);pointer-events:none}.hero-content{position:relative;z-index:10;width:min(calc(100% - 48px),1140px);height:100%;min-height:100svh;margin:auto;display:grid;grid-template-columns:60fr 40fr;gap:80px;align-items:center;padding:150px 0 135px}.copy-block{display:flex;flex-direction:column;gap:34px;max-width:620px}.eyebrow{margin:0 0 12px;font-size:18px;font-weight:500;line-height:1;letter-spacing:-.01em}.hero h1{margin:0;font-family:var(--ds-font-display);font-size:clamp(42px,3.2vw,55px);font-weight:500;line-height:1.2;letter-spacing:.2px}.description{max-width:560px;display:grid;gap:6px;color:#ffffff80;font-size:16px;line-height:1.6}.description p{margin:0}.actions{display:flex;flex-wrap:wrap;gap:14px}.button{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border:1px solid var(--ds-btn-secondary-border);border-radius:var(--ds-radius-pill);background:var(--ds-btn-secondary-bg);backdrop-filter:blur(var(--ds-blur-glass));color:#fff;text-decoration:none;font-size:14px;font-weight:500;line-height:1.2;transition:border-color .25s,background .25s,transform .25s}.button:hover{border-color:var(--ds-btn-secondary-hover-border);background:#ffffff24;transform:translateY(-2px)}.button.primary{color:var(--ds-btn-primary-text);background:var(--ds-btn-primary-bg);border-color:var(--ds-btn-primary-bg)}.button.primary:hover{background:#fff}.terminal-wrap{align-self:center;width:100%;margin-top:48px}.tabs{display:flex;justify-content:flex-start;gap:4px;margin-left:6px;transform:translateY(1px)}.tabs button{border:1px solid transparent;padding:10px 17px 15px;border-radius:9px 9px 0 0;background:transparent;color:#ffffff75;font-size:13px;cursor:pointer}.tabs .active{color:#fff;background:#0003;border-color:#ffffff14;border-bottom-color:transparent}.terminal{overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#0003;backdrop-filter:blur(24px);box-shadow:0 28px 70px #00000014}.terminal-head{height:47px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid rgba(255,255,255,.07)}.traffic{display:flex;gap:7px}.traffic i{width:11px;height:11px;border-radius:50%;background:#ff5f57;box-shadow:0 0 8px #ff5f5733}.traffic i:nth-child(2){background:#febc2e}.traffic i:nth-child(3){background:#28c840}.copy-button{border:0;background:transparent;color:#ffffff6e;font-size:13px;cursor:pointer}.copy-button:hover{color:#fff}.terminal code{display:block;min-height:96px;padding:38px 24px;color:#ffffffdb;font:14px/1.4 var(--ds-font-mono);white-space:pre-wrap;overflow-wrap:anywhere}.terminal code em{color:#65a8ef;font-style:normal;margin-right:8px}.scroll-hint{position:absolute;z-index:10;right:32px;bottom:32px;color:#ffffff3d;font:10px/1 var(--ds-font-mono);letter-spacing:.16em;writing-mode:vertical-rl}.scroll-hint span{margin-top:8px}.hero-enter{animation:enter .9s ease-out both}.delay-1{animation-delay:.15s}.delay-2{animation-delay:.3s;animation-duration:.7s}.delay-3{animation-delay:.4s}.catalog,.detail-main{position:relative;z-index:10;min-height:100svh;margin-top:-100svh;padding:108px 0 96px;background:none}.catalog-intro{margin-bottom:26px}.slogan{margin:0 0 18px;font-family:var(--ds-font-display);font-size:clamp(34px,4.6vw,56px);font-weight:500;letter-spacing:-.035em;line-height:1.12;text-wrap:balance}.catalog-kicker{margin:0 0 8px;font-size:15px;font-weight:500;letter-spacing:-.01em;color:#ffffff9e}.catalog-intro-row{display:flex;align-items:end;justify-content:space-between;gap:24px}.catalog-intro h1{max-width:720px;margin:0;font-family:var(--ds-font-body);font-size:clamp(16px,1.6vw,20px);font-weight:400;letter-spacing:-.01em;line-height:1.5;color:#ffffff9e}.catalog-count{margin:0;color:#ffffff7a;font-size:13px;white-space:nowrap}.catalog-count strong{margin-right:6px;color:#fff;font-family:var(--ds-font-display);font-size:22px;font-weight:500}.ocean-search{display:flex;align-items:center;gap:12px;min-height:56px;padding:6px 6px 6px 20px;border:1px solid rgba(255,255,255,.12);border-radius:var(--ds-radius-pill);background:#040c1647;box-shadow:inset 0 1px #ffffff14,0 18px 50px #0000001f;backdrop-filter:blur(22px);transition:border-color .25s,box-shadow .25s}.ocean-search:focus-within{border-color:#9bc4ff6b;box-shadow:0 0 0 4px #6799fe1f,0 18px 50px #0000001f}.ocean-search-mark{color:#9bc4ffcc;font:500 16px/1 var(--ds-font-mono)}.ocean-search input{flex:1;min-width:0;padding:0;border:0;outline:0;color:#fff;background:transparent;font-size:15px}.ocean-search input::placeholder{color:var(--ds-color-text-placeholder)}.ocean-search input[type=search]::-webkit-search-cancel-button{appearance:none}.ocean-search button{height:42px;padding:0 18px;border:0;border-radius:var(--ds-radius-pill);color:var(--ds-btn-primary-text);background:#fff;font-size:14px;font-weight:500;cursor:pointer}.filter-bar{display:grid;gap:14px;margin:18px 0 8px}.chip-row,.filter-meta,.filter-groups,.segment{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.filter-meta{justify-content:space-between}.chip,.segment a,.clear-filters{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid rgba(255,255,255,.1);border-radius:var(--ds-radius-pill);color:#ffffff94;background:#ffffff0a;text-decoration:none;font-size:12px;transition:border-color .2s,background .2s,color .2s}.chip small{color:#ffffff61}.chip:hover,.segment a:hover,.clear-filters:hover{color:#fff;border-color:#ffffff38}.chip.is-active,.segment a.is-active{color:#fff;border-color:#9bc4ff61;background:#6799fe29}.segment{padding:3px;border:1px solid rgba(255,255,255,.08);border-radius:var(--ds-radius-pill);background:#00000029}.segment a{border:0;background:transparent}.segment a.is-active{background:#ffffff1f}.clear-filters{margin-left:auto}.section-heading{display:flex;flex-direction:column;gap:16px;margin-bottom:48px}.section-badge{display:inline-flex;align-self:flex-start;padding:7px 10px 6px;border:1px solid transparent;border-radius:8px;color:#fffffff2;font:500 12px/1 var(--ds-font-mono);letter-spacing:.08em;background:linear-gradient(#050708,#050708) padding-box,linear-gradient(135deg,#ffffff6b,#ffffff14 35%,#ffffff0a 65%,#ffffff47) border-box;box-shadow:0 0 16px #ffffff14,0 0 32px #ffffff0a}.section-heading-copy h2,.detail-section h2{margin:0;font-family:var(--ds-font-display);font-size:clamp(28px,4vw,36px);font-weight:500;letter-spacing:-.02em;line-height:1.35}.section-heading-copy p{margin:10px 0 0;color:var(--ds-color-text-description);font-size:16px;line-height:1.6}.filters{display:grid;grid-template-columns:minmax(260px,1fr) 180px 180px auto;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#0003;backdrop-filter:blur(24px);box-shadow:0 28px 70px #00000014}.filters>label{display:flex;flex-direction:column;gap:8px;padding:16px 18px;border-right:1px solid rgba(255,255,255,.07)}.filters label>span,.category-filter legend{color:#ffffff61;font-size:12px;font-weight:500}.filters input[type=search],.filters select{width:100%;padding:0;border:0;outline:0;color:#fff;background:transparent}.filters input::placeholder{color:var(--ds-color-text-placeholder)}.filters select option{color:#10151e}.filters button{margin:12px;min-height:42px;padding:0 22px;border:0;border-radius:var(--ds-radius-pill);color:var(--ds-btn-primary-text);background:var(--ds-btn-primary-bg);font-size:14px;font-weight:500;cursor:pointer}.filters button:hover{filter:brightness(1.06)}.category-filter{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:14px 18px;border:0;border-top:1px solid rgba(255,255,255,.07)}.category-filter legend{float:left;margin:8px 16px 0 0}.category-filter label{cursor:pointer}.category-filter input{position:absolute;opacity:0;pointer-events:none}.category-filter label span{display:block;padding:7px 11px;border:1px solid rgba(255,255,255,.08);border-radius:var(--ds-radius-pill);color:#ffffff8c;font-size:12px;background:#ffffff08}.category-filter input:checked+span{border-color:#6799fe7a;color:#fff;background:#6799fe29}.category-filter small{opacity:.6}.plugin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}.plugin-card{position:relative;display:flex;flex-direction:column;min-width:0;min-height:248px;padding:26px 24px 22px;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:linear-gradient(180deg,#ffffff12,#040a1238);backdrop-filter:blur(22px);box-shadow:inset 0 1px #ffffff14;animation:enter .55s both;animation-delay:calc(var(--order) * 55ms);transition:transform .3s,border-color .3s,background .3s,box-shadow .3s}.plugin-card:hover{border-color:#9bc4ff57;background:linear-gradient(180deg,#ffffff1a,#0814244d);box-shadow:inset 0 1px #ffffff1f,0 18px 40px #0818302e;transform:translateY(-3px)}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.card-stars{flex:none;color:#ffffff6b;font-size:12px;letter-spacing:.01em}.compatibility{color:var(--ds-warn)}.compatibility.is-compatible{color:var(--ds-ok)}.compatibility.is-incompatible{color:var(--ds-danger)}.plugin-card h3{min-width:0;margin:0;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-family:var(--ds-font-display);font-size:20px;font-weight:500;letter-spacing:-.03em;line-height:1.25}.plugin-card h3 a{text-decoration:none}.plugin-card h3 a:after{position:absolute;inset:0;content:""}.card-package{margin-top:8px;overflow:hidden;color:var(--ds-color-brand);font:12px/1.4 var(--ds-font-mono);text-overflow:ellipsis;white-space:nowrap}.plugin-card>p{display:-webkit-box;flex:1;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin:14px 0 0;color:#ffffff85;font-size:14px;line-height:1.6}.card-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;color:#ffffff61;font-size:12px}.card-cats{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-meta time{flex:none}.card-command{display:flex;align-items:center;gap:10px;max-width:100%;margin-top:14px;padding:10px 12px;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#ffffffb8;background:#00000038;font:12px/1.4 var(--ds-font-mono)}.card-command code{min-width:0;flex:1;overflow:hidden;font:inherit;text-overflow:ellipsis;white-space:nowrap}.card-command em{margin-right:8px;color:#65a8ef;font-style:normal}.card-command .copy-button{position:relative;z-index:2;flex:none;padding:2px 0 2px 10px;border-left:1px solid rgba(255,255,255,.1);font:inherit}.card-footer{margin-top:14px;text-align:right}.card-footer a{position:relative;z-index:2;color:#fff;font-size:12px;text-decoration:none}.card-footer a:hover{color:var(--ds-color-brand)}.tags{display:flex;flex-wrap:wrap;gap:7px}.tags span{padding:5px 9px;border:1px solid rgba(255,255,255,.08);border-radius:var(--ds-radius-pill);color:#ffffff8c;font-size:12px;background:#ffffff08}.tags a{color:inherit;text-decoration:none}.empty-state{margin-top:28px;padding:clamp(48px,8vw,88px);border:1px solid rgba(255,255,255,.08);border-radius:10px;text-align:center;background:#0003;backdrop-filter:blur(24px)}.empty-state>span{color:var(--ds-color-brand);font:500 12px/1 var(--ds-font-mono);letter-spacing:.16em}.empty-state h1,.empty-state h3{margin:16px 0 10px;font-family:var(--ds-font-display);font-size:clamp(28px,4vw,36px);font-weight:500}.empty-state p{color:var(--ds-color-text-description)}.empty-state a{display:inline-block;margin-top:18px;color:#fff;font-size:14px}.error-state>span{color:var(--ds-danger)}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:28px}.pager-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 18px;border:1px solid var(--ds-btn-secondary-border);border-radius:var(--ds-radius-pill);color:#fff;background:var(--ds-btn-secondary-bg);font-size:14px;font-weight:500;text-decoration:none}.pager-next{margin-left:auto}.pager-btn:hover{border-color:var(--ds-btn-secondary-hover-border)}.back-link{display:inline-block;margin-bottom:22px;color:var(--ds-color-text-description);font-size:14px;text-decoration:none}.back-link:hover{color:#fff}.detail-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(220px,1fr);align-items:start;gap:28px}.detail-primary{min-width:0}.similar-rail{position:sticky;top:84px;min-width:0;padding:18px 16px 14px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:linear-gradient(180deg,#ffffff0f,#040a123d);backdrop-filter:blur(18px)}.similar-rail h2{margin:0 0 12px;font-family:var(--ds-font-display);font-size:15px;font-weight:500;letter-spacing:-.02em}.similar-list{margin:0;padding:0;list-style:none}.similar-item{display:flex;flex-direction:column;gap:3px;padding:10px 8px;border-top:1px solid rgba(255,255,255,.06);color:inherit;text-decoration:none}.similar-list li:first-child .similar-item{border-top:0}.similar-item strong{overflow:hidden;font-size:13px;font-weight:500;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.similar-item span{color:#fff6;font-size:11px}.similar-item:hover strong{color:#fff}.detail-hero{display:block;margin-bottom:36px;padding:28px 30px 24px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:linear-gradient(180deg,#ffffff12,#040a1247);box-shadow:inset 0 1px #ffffff14,0 20px 50px #0000001f;backdrop-filter:blur(22px);color:inherit;text-decoration:none}.detail-slug{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 12px;color:#ffffff7a;font-size:13px}.detail-hero h1{max-width:920px;margin:0;font-family:var(--ds-font-display);font-size:clamp(32px,4.4vw,52px);font-weight:500;letter-spacing:-.035em;line-height:1.12;overflow-wrap:anywhere}.detail-summary{max-width:760px;margin:16px 0 18px;color:var(--ds-color-text-description);font-size:16px;line-height:1.7}.detail-analysis{margin:18px 0;padding:16px 18px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:linear-gradient(180deg,#ffffff0d,#040a1238)}.detail-analysis h2{margin:0;font-family:var(--ds-font-display);font-size:16px;font-weight:500;letter-spacing:-.02em}.detail-analysis p{margin:10px 0 0;color:var(--ds-color-text-description);font-size:14px;line-height:1.7}.detail-meta{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}.detail-meta div{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(255,255,255,.08);border-radius:var(--ds-radius-pill);background:#ffffff0a}.detail-meta dt{color:#ffffff6b;font-size:12px}.detail-meta dd{margin:0;font-size:12px}.detail-install{max-width:none}.detail-install h2{margin:0 0 14px;font-family:var(--ds-font-display);font-size:18px;font-weight:500;letter-spacing:-.02em}.detail-install-fallback{margin:0;color:var(--ds-color-text-description);font-size:15px;line-height:1.7}.detail-install-fallback a{color:#fff}.detail-links{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0}.detail-links a{display:inline-flex;align-items:center;padding:7px 12px;border:1px solid rgba(255,255,255,.12);border-radius:var(--ds-radius-pill);color:#ffffffc7;font-size:12px;text-decoration:none;background:#ffffff0a}.detail-links a:hover{color:#fff;border-color:#ffffff47}.detail-docs{margin-top:36px;padding:26px 28px 22px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:linear-gradient(180deg,#ffffff0d,#040a1233)}.detail-docs-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:8px}.detail-docs h2{margin:0;font-family:var(--ds-font-display);font-size:18px;font-weight:500;letter-spacing:-.02em}.detail-docs .source-link{margin-top:0}.command-block{display:flex;align-items:center;gap:12px;min-width:0;min-height:56px;padding:8px 8px 8px 18px;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid rgba(255,255,255,.12);border-radius:var(--ds-radius-pill);background:#040c1647;box-shadow:inset 0 1px #ffffff14}.command-block span{color:#65a8ef;font-family:var(--ds-font-mono)}.command-block code{flex:1;min-width:0;overflow:hidden;color:#fff;font:13px/1.5 var(--ds-font-mono);text-overflow:ellipsis;white-space:nowrap}.command-block .copy-button{height:40px;padding:0 16px;border-radius:var(--ds-radius-pill);color:#102033;background:#fff}.command-block .copy-button:hover{color:#102033}.manual-notice{padding:20px 22px;border:1px solid rgba(240,201,130,.24);border-radius:10px;background:#f0c9820f}.manual-notice strong{color:var(--ds-warn)}.manual-notice p,.install-note,.pin-note{color:var(--ds-color-text-description);line-height:1.6}.install-markdown{margin-top:28px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}.pin-note code{color:var(--ds-color-brand)}.check-list{border-top:1px solid rgba(255,255,255,.08)}.check{display:grid;grid-template-columns:34px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.08)}.check>span{display:grid;width:26px;height:26px;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:50%;color:#ffffff73;font-size:13px}.check-pass>span{border-color:var(--ds-ok);color:var(--ds-ok)}.check-fail>span{border-color:var(--ds-danger);color:var(--ds-danger)}.check-warn>span{border-color:var(--ds-warn);color:var(--ds-warn)}.check strong{font-size:13px;font-weight:500}.check p{margin:7px 0 0;color:var(--ds-color-text-description);font-size:14px}.range-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0 0}.range-list div{padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#0003}.range-list dt{color:var(--ds-color-text-description);font-size:12px}.range-list dd{margin:10px 0 0;color:var(--ds-color-brand);font:13px/1.4 var(--ds-font-mono)}.markdown-body{color:#ffffffc7;font-size:16px;line-height:1.75}.markdown-body>:first-child{margin-top:0}.markdown-body p,.markdown-body ul,.markdown-body ol,.markdown-body blockquote{margin:0 0 1em}.markdown-body ul,.markdown-body ol{padding-left:1.4em}.markdown-body li{margin:.3em 0}.markdown-body blockquote{padding:0 0 0 14px;border-left:3px solid rgba(255,255,255,.16);color:#ffffff9e}.markdown-body img{display:block;max-width:100%;height:auto;margin:16px 0;border:1px solid rgba(255,255,255,.08);border-radius:10px}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin:2em 0 .7em;color:#fff;font-family:var(--ds-font-display);font-weight:500;letter-spacing:-.02em}.markdown-body h1{font-size:28px}.markdown-body h2{font-size:24px}.markdown-body h3{font-size:20px}.markdown-body a,.source-link{color:var(--ds-color-brand)}.markdown-body pre{padding:18px;overflow-x:auto;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#00000059}.markdown-body code{color:var(--ds-color-brand);font:13px/1.6 var(--ds-font-mono)}.markdown-body pre code{color:#fff}.markdown-body table{width:100%;border-collapse:collapse}.markdown-body th,.markdown-body td{padding:10px;border:1px solid rgba(255,255,255,.08);text-align:left}.missing-docs{padding:22px;border:1px dashed rgba(255,255,255,.12);border-radius:10px;color:var(--ds-color-text-description)}.source-link{display:inline-block;margin-top:28px;font-size:14px}.source-panel{display:grid;gap:0}.source-panel div{display:flex;flex-direction:column;gap:8px;padding:16px 0;min-width:0}.source-panel div+div{border-top:1px solid rgba(255,255,255,.08)}.source-panel span{color:var(--ds-color-text-description);font-size:12px}.source-panel code,.source-panel a{overflow:hidden;color:#fff;font:13px/1.3 var(--ds-font-mono);text-overflow:ellipsis;text-decoration:none}.loading-line,.loading-title,.loading-panel{background:linear-gradient(90deg,#ffffff0a,#ffffff1a,#ffffff0a);background-size:200% 100%;animation:shimmer 1.3s infinite;border-radius:10px}.loading-line{width:130px;height:12px}.loading-title{width:min(720px,85%);height:72px;margin-top:28px}.loading-panel{height:280px;margin-top:36px}.site-footer{position:relative;z-index:12;padding:28px 0 calc(40px + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(255,255,255,.06);background:#050708;color:var(--ds-color-text-description);font-size:13px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}.footer-right{display:flex;align-items:center;gap:16px}.site-footer a{color:#ffffffb3;text-decoration:none}.site-footer a:hover{color:#fff}.locale-switch{display:flex;align-items:center;padding:3px;border:1px solid rgba(255,255,255,.1);border-radius:var(--ds-radius-pill);background:#ffffff0a}.locale-switch button{min-width:32px;padding:6px 9px;border:0;border-radius:var(--ds-radius-pill);color:#ffffff7a;background:transparent;font-size:12px;font-weight:500;cursor:pointer}.locale-switch button:hover{color:#fff}.locale-switch .is-active{color:#fff;background:#ffffff24}@keyframes enter{0%{opacity:0;transform:translateY(22px);filter:blur(9px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes reveal{0%{opacity:0;filter:blur(20px)}to{opacity:1;filter:blur(0)}}@keyframes shimmer{to{background-position:-200% 0}}@media(min-width:768px){.ds-container,.site-header,.hero-content{width:min(100% - 144px,1140px)}.hero{min-height:unset;height:100vh;max-height:1000px}.hero-content{min-height:unset;height:100%}.catalog,.detail-main{margin-top:-100vh}}@media(min-width:768px)and (min-height:1001px){.catalog,.detail-main{margin-top:-1000px}}@media(min-width:1560px){.ds-container,.site-header,.hero-content{width:min(100% - 160px,1280px)}}@media(min-width:768px)and (max-width:980px){.catalog,.detail-main{margin-top:-850px}}@media(max-width:980px){.ds-container,.site-header{width:min(calc(100% - 32px),1140px)}.hero{min-height:850px;height:auto;max-height:none}.catalog,.detail-main{margin-top:-850px;padding-top:100px}.hero-content{grid-template-columns:1fr;gap:44px;padding:130px 0 96px;align-content:center}.copy-block{gap:26px}.terminal-wrap{margin-top:0;max-width:640px}.hero-whale{opacity:.48;width:680px;height:680px;left:56%;top:42%;transform:translate(-50%,-50%)}.actions,.scroll-hint{display:none}.filters{grid-template-columns:1fr 1fr}.search-field{grid-column:1 / -1}.filters>label:nth-of-type(2){border-top:1px solid rgba(255,255,255,.07)}.plugin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-layout{grid-template-columns:1fr;gap:20px}.similar-rail{position:static}.site-header:before{opacity:1}}@media(max-width:760px){.wordmark-lead{display:none}.site-nav a:not(:last-child){display:none}.slogan{font-size:clamp(28px,8.4vw,40px)}}@media(max-width:640px){.ds-container,.site-header{width:calc(100% - 24px)}.catalog,.detail-main{padding:92px 0 72px}.catalog-intro{margin-bottom:18px}.catalog-intro-row{display:block}.catalog-intro h1{max-width:none;font-size:15px}.catalog-count{margin-top:10px}.ocean-search{min-height:50px;padding:5px 5px 5px 14px;gap:8px}.ocean-search-mark{display:none}.ocean-search input{font-size:16px}.ocean-search button{height:38px;padding-inline:14px;font-size:13px}.wordmark{font-size:16px;gap:6px}.wordmark svg{width:22px;height:22px}.wordmark b{margin-left:0;padding:4px 8px 3px}.chip,.segment a,.clear-filters{padding:7px 10px}.hero-content{padding-top:110px}.eyebrow{font-size:16px}.hero h1{font-size:38px}.description{font-size:15px}.terminal code{font-size:12px;padding-inline:17px}.filters{display:block}.filters>label{border-right:0;border-bottom:1px solid rgba(255,255,255,.07)}.filters button{width:calc(100% - 24px)}.plugin-grid{grid-template-columns:1fr}.plugin-card{min-height:0;padding:20px 18px 16px}.plugin-card h3{font-size:18px}.card-meta{margin-top:16px}.empty-state{padding:36px 18px}.empty-state h1,.empty-state h3{font-size:24px}.detail-hero{padding:20px 16px}.detail-hero h1{font-size:clamp(28px,8vw,36px)}.detail-panel,.detail-docs{padding:18px 16px}.detail-docs-head{flex-direction:column;gap:8px}.command-block{display:grid;grid-template-columns:auto minmax(0,1fr) auto;min-height:50px;padding:6px 6px 6px 14px;border-radius:16px}.command-block code{font-size:12px}.command-block .copy-button{height:36px;padding:0 12px;font-size:12px}.range-list{grid-template-columns:1fr}.detail-meta{gap:8px}.locale-switch button{min-width:28px;padding:6px 7px}.footer-inner{flex-direction:column;align-items:flex-start}.footer-right{width:100%;justify-content:space-between;flex-wrap:wrap}}@media(max-width:400px){.ds-container,.site-header{width:calc(100% - 20px)}.slogan{font-size:26px}.segment{width:100%}}@media(hover:none),(pointer:coarse){.plugin-card:hover,.detail-hero:hover{transform:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}.header-actions{display:flex;align-items:center;gap:10px}.header-submit-button{display:inline-flex;height:34px;align-items:center;gap:6px;padding:0 14px;border:1px solid rgba(255,255,255,.2);border-radius:var(--ds-radius-pill);color:#08111f;background:#fff;box-shadow:0 8px 28px #0003;cursor:pointer;font-size:12px;font-weight:700;white-space:nowrap;transition:transform .2s ease,box-shadow .2s ease}.header-submit-button span{font-size:17px;font-weight:400;line-height:1}.header-submit-button:hover{box-shadow:0 10px 32px #6799fe3d;transform:translateY(-1px)}.submission-backdrop{position:fixed;z-index:100;inset:calc(-1*env(safe-area-inset-top,0px)) 0 0;display:grid;padding:24px;overflow-y:auto;place-items:center;background:#02050ac2;backdrop-filter:blur(16px);animation:submission-fade .2s ease both}.submission-dialog{position:relative;width:min(100%,560px);padding:40px;overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:24px;background:radial-gradient(circle at 86% 0%,rgba(103,153,254,.2),transparent 35%),linear-gradient(145deg,#122033fa,#060b13fc 65%);box-shadow:0 28px 90px #0000008f,inset 0 1px #ffffff14;animation:submission-rise .28s cubic-bezier(.2,.8,.2,1) both}.submission-dialog:after{content:"";position:absolute;right:-70px;bottom:-90px;width:210px;height:210px;border:1px solid rgba(103,153,254,.15);border-radius:50%;box-shadow:0 0 0 30px #6799fe06,0 0 0 60px #6799fe05;pointer-events:none}.submission-close{position:absolute;z-index:1;top:18px;right:18px;display:grid;width:34px;height:34px;padding:0;place-items:center;border:1px solid rgba(255,255,255,.1);border-radius:50%;color:#ffffff9e;background:#ffffff0a;cursor:pointer;font-size:22px;transition:color .2s,background .2s}.submission-close:hover{color:#fff;background:#ffffff1a}.submission-signal{display:flex;width:fit-content;align-items:center;gap:8px;margin-bottom:34px;color:#ffffffb3;font:700 10px/1 var(--ds-font-mono);letter-spacing:.12em}.submission-signal span{padding:7px 9px;border:1px solid rgba(255,255,255,.12);border-radius:7px;background:#ffffff0a}.submission-signal i{width:32px;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.18),var(--ds-color-brand))}.submission-eyebrow{margin:0 0 10px;color:#8bb3ff;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.submission-dialog h2{max-width:440px;margin:0;font:500 clamp(27px,5vw,38px)/1.14 var(--ds-font-display);letter-spacing:-.04em}.submission-description,.submission-result>p:not(.submission-eyebrow){max-width:460px;margin:16px 0 0;color:var(--ds-color-text-description);font-size:14px;line-height:1.65}.submission-form{position:relative;z-index:1;margin-top:30px}.submission-form label{display:block;margin-bottom:9px;color:#ffffffb8;font-size:12px;font-weight:500}.submission-input-wrap{display:flex;min-height:52px;align-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:#00000047;transition:border-color .2s,box-shadow .2s}.submission-input-wrap:focus-within{border-color:#6799feb8;box-shadow:0 0 0 3px #6799fe1a}.submission-input-wrap span{padding-left:16px;color:#ffffff47;font:12px/1 var(--ds-font-mono);white-space:nowrap}.submission-input-wrap input{width:100%;min-width:0;padding:15px 16px 15px 2px;border:0;outline:0;color:#fff;background:transparent;font:12px/1.4 var(--ds-font-mono)}.submission-input-wrap input::placeholder{color:#ffffff3d}.submission-hint{margin:9px 2px 0;color:#ffffff57;font-size:11px;line-height:1.5}.submission-error{margin:12px 2px 0;color:var(--ds-danger);font-size:12px}.submission-submit,.submission-finish{display:flex;width:100%;min-height:48px;align-items:center;justify-content:center;gap:10px;margin-top:22px;border:0;border-radius:12px;color:#07101e;background:#fff;cursor:pointer;font-size:13px;font-weight:700;transition:transform .2s,box-shadow .2s,opacity .2s}.submission-submit svg{width:18px;height:18px}.submission-submit:hover,.submission-finish:hover{box-shadow:0 12px 28px #6799fe33;transform:translateY(-1px)}.submission-submit:disabled{cursor:wait;opacity:.55;transform:none}.submission-result{position:relative;z-index:1;padding-top:10px}.submission-result-mark{display:grid;width:48px;height:48px;margin-bottom:28px;place-items:center;border:1px solid rgba(154,213,197,.38);border-radius:50%;color:var(--ds-ok);background:#9ad5c514;font-size:21px}.submission-result code{display:block;margin-top:20px;padding:12px 14px;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:9px;color:#ffffffad;background:#00000040;font:11px/1.45 var(--ds-font-mono);text-overflow:ellipsis;white-space:nowrap}.submission-finish{margin-top:28px}@keyframes submission-fade{0%{opacity:0}to{opacity:1}}@keyframes submission-rise{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:760px){.header-actions{gap:6px}.site-nav{display:none}.header-submit-button{height:32px;padding-inline:11px}}@media(max-width:520px){.submission-backdrop{align-items:end;padding:12px}.submission-dialog{width:100%;padding:34px 22px 24px;border-radius:22px}.submission-signal{margin-bottom:27px}.submission-input-wrap span{display:none}.submission-input-wrap input{padding-inline:14px}}@media(max-width:400px){.header-submit-button{padding-inline:10px}.header-submit-button span{display:none}}@media(prefers-reduced-motion:reduce){.submission-backdrop,.submission-dialog{animation:none}}
