.catalog{padding-top:clamp(20px,4.5vw,56px)}.catalog-head{align-items:start;gap:24px;margin-bottom:clamp(32px,4.5vw,52px);display:grid}.catalog-head h1{letter-spacing:-.032em;font-size:clamp(2.05rem,1.4rem + 2.6vw,3.25rem);font-weight:700;line-height:1.04}.catalog-lead{max-width:36rem;color:var(--text-soft);margin-top:16px;line-height:1.6}.access-chip{background:linear-gradient(#f0b45512,#f0b45505);border:1px solid #f0b45547;border-radius:12px;padding:14px 16px;font-size:.92rem}.access-chip[hidden]{display:none}.access-chip-title{overflow-wrap:anywhere;align-items:center;gap:9px;margin-bottom:8px;font-weight:600;display:flex}.access-chip-title svg{width:18px;height:18px;color:var(--amber)}.access-chip-note{color:var(--text-soft);margin-top:10px;line-height:1.5}.access-chip-note[hidden]{display:none}.tiles{grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:22px;margin:0;padding:0;list-style:none;display:grid}.tiles[hidden]{display:none}.tile{flex-direction:column;min-width:0;transition:border-color .2s;display:flex}.tile:hover,.tile:focus-within{border-color:var(--line-strong)}.tile-head{gap:12px;min-height:54px;padding:10px 16px 10px 14px}.tile-glyph{width:30px;height:30px}.tile-title{letter-spacing:-.01em;overflow-wrap:break-word;flex:1;min-width:0;font-size:1.05rem;line-height:1.25}.tile-version-wrap{flex:none;margin-right:-4px;position:relative}.tile-version{border:1px solid var(--line);max-width:9rem;min-height:34px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer;background:#e9edf005;border-radius:8px;align-items:center;gap:5px;padding:5px 8px 5px 7px;font-size:.84rem;font-weight:500;transition:color .15s,background .15s,border-color .15s;display:flex;position:relative}.tile-version .icon-update{opacity:.8;width:14px;height:14px}.tile-version-number{text-overflow:ellipsis;min-width:0;overflow:hidden}.tile-version:focus-visible{color:var(--text);border-color:var(--line-strong);background:#e9edf00f}.version-tooltip{z-index:3;margin-left:var(--tooltip-shift,0px);border:1px solid var(--line-strong);background:var(--node-head);width:max-content;max-width:min(18rem,100vw - 24px);color:var(--text-soft);text-align:left;opacity:0;visibility:hidden;pointer-events:none;border-radius:9px;padding:9px 12px;font-size:.8rem;font-weight:400;line-height:1.4;transition:opacity .15s,transform .15s,visibility .15s;position:absolute;bottom:calc(100% + 9px);left:50%;transform:translate(-50%,3px);box-shadow:0 8px 24px #00000040}.version-tooltip:before{content:"";width:100%;height:10px;position:absolute;top:100%;right:0}.version-tooltip:after{content:"";left:calc(50% - var(--tooltip-shift,0px));border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:var(--node-head);width:8px;height:8px;position:absolute;bottom:-5px;transform:translate(-50%)rotate(45deg)}.version-tooltip[data-side=bottom]{top:calc(100% + 9px);bottom:auto}.version-tooltip[data-side=bottom]:before{top:auto;bottom:100%}.version-tooltip[data-side=bottom]:after{border-bottom:0;border-right:0;border-left:1px solid var(--line-strong);border-top:1px solid var(--line-strong);top:-5px;bottom:auto}.tile-version:focus-visible+.version-tooltip,.tile-version-wrap[data-copy-state] .version-tooltip{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%)}@media (hover:hover){.tile-version:hover{color:var(--text);border-color:var(--line-strong);background:#e9edf00f}.tile-version-wrap:hover .version-tooltip{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%)}}.tile-version-wrap[data-dismissed=true] .version-tooltip{opacity:0;visibility:hidden;pointer-events:none}.tile-version-wrap[data-copy-state=copied] .tile-version{border-color:#8fd6a68c}.tile-version-wrap[data-copy-state=copied] .tile-version,.tile-version-wrap[data-copy-state=copied] .version-tooltip{color:var(--ok)}.tile-version .icon-done{visibility:hidden;width:18px;height:18px;margin:auto;position:absolute;inset:0}.tile-version-wrap[data-copy-state=copied] .tile-version>:not(.icon-done){visibility:hidden}.tile-version-wrap[data-copy-state=copied] .icon-done{visibility:visible;animation:.18s ease-out version-done}@keyframes version-done{0%{opacity:0;transform:scale(.6)}}.tile-body{flex:1;align-content:start;gap:10px;padding:16px 18px 6px;display:grid}.tile-id{color:var(--faint);overflow-wrap:anywhere;font-size:.84rem}.tile-desc{color:var(--text-soft);font-size:.97rem;line-height:1.58}.tile-foot{gap:10px;padding:14px 18px 18px;display:grid;container-type:inline-size}.tile-copy{width:100%}@container (width<=335px){.tile-copy-verb{display:none}.tile-copy .button-label:first-letter{text-transform:uppercase}}.tile-fallback-wrap{gap:7px;display:grid}.tile-fallback-caption{color:var(--text-soft);font-size:.86rem;line-height:1.45}.tile-fallback{border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--canvas);width:100%;color:var(--text-soft);resize:vertical;padding:10px 12px;font-size:.86rem;line-height:1.5}.tile-ghost{border-radius:var(--radius-node);border:1px solid var(--line);background:linear-gradient(100deg, var(--node) 30%, #212831 50%, var(--node) 70%) 0 0 / 300% 100%;min-height:300px;animation:1.6s linear infinite shimmer}@keyframes shimmer{to{background-position:-150% 0}}.catalog-message{border:1px dashed var(--line-strong);border-radius:var(--radius-node);background:#171c23b3;justify-items:start;gap:12px;max-width:34rem;padding:28px;display:grid}.catalog-message[hidden]{display:none}.catalog-message h2{font-size:1.35rem;line-height:1.2}.catalog-message p{color:var(--text-soft);line-height:1.6}.catalog-message .button{margin-top:8px}.locked-mark{background:var(--node-head);border:1px solid var(--line);width:44px;height:44px;color:var(--amber);border-radius:12px;place-items:center;display:grid}.locked-mark svg{width:22px;height:22px}[data-state=locked] .catalog-head>div:first-child .catalog-lead{display:none}@media (width>=900px){.catalog-head{grid-template-columns:minmax(0,1fr) minmax(0,23rem);gap:48px}}@media (prefers-reduced-motion:reduce){.tile-ghost{animation:none}.tile-version,.version-tooltip{transition:none}.tile-version-wrap[data-copy-state=copied] .icon-done{animation:none}}
