.catalog{padding-top:clamp(16px,2.4vw,24px);padding-bottom:clamp(40px,5vw,64px)}.crumbs{font:400 var(--fs-small)/1.4 Inter, sans-serif;color:var(--muted);flex-wrap:wrap;gap:8px;display:flex}.crumbs span{color:var(--muted)}.catalog__h1{letter-spacing:-.035em;text-wrap:pretty;margin:12px 0 0;font:600 clamp(26px,3.4vw,38px)/1.06 Inter,sans-serif}.catalog__intro{max-width:830px;color:var(--ink-soft);text-wrap:pretty;margin:14px 0 0;font:400 clamp(15px,1.35vw,18px)/1.55 Inter,sans-serif}.catalog__popular:empty,.filters__popular:empty,.filters__popular{display:none}.collection-rule{border:1px solid var(--line);background:var(--card-bg);align-items:center;gap:9px;width:fit-content;margin-top:16px;padding:9px 11px;display:flex}.collection-rule span{color:var(--muted);font:500 var(--fs-micro)/1 "JetBrains Mono", monospace;letter-spacing:.07em;text-transform:uppercase}.collection-rule strong{color:var(--ink);font:600 var(--fs-small)/1.2 Inter, sans-serif}.catalog__grid{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:clamp(20px,2.6vw,36px);margin-top:clamp(20px,2.6vw,28px);display:grid}.catalog__main{min-width:0}.filters{min-width:0;position:sticky;top:68px}.filters__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:8px;padding-bottom:12px;display:flex}.filters__title{font:500 var(--fs-micro)/1.2 "JetBrains Mono", monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}.filters__actions{align-items:center;gap:14px;display:flex}.filters__reset{white-space:nowrap;font:400 var(--fs-small)/1.3 "JetBrains Mono", monospace;color:var(--brand)}.filters__reset.is-off{color:#b4bbc4}.filters__close{display:none}.filters__group{border-bottom:1px solid var(--line);padding:16px 0}.filters__grouphead{align-items:baseline;gap:8px;margin-bottom:10px;display:flex}.filters__groupname{font:500 var(--fs-micro)/1.2 "JetBrains Mono", monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.filters__help{border:1px solid var(--line-strong);width:17px;height:17px;color:var(--muted);font:600 var(--fs-micro)/1 Inter, sans-serif;cursor:help;border-radius:50%;outline:none;place-items:center;display:inline-grid;position:relative}.filters__help:after{content:attr(data-tooltip);z-index:20;border-radius:var(--r-sm);background:var(--ink);width:230px;color:var(--white);box-shadow:var(--sh-float);font:400 var(--fs-small)/1.45 Inter, sans-serif;letter-spacing:0;text-transform:none;opacity:0;visibility:hidden;pointer-events:none;padding:9px 10px;transition:opacity .15s,transform .15s,visibility .15s;position:absolute;bottom:calc(100% + 8px);left:-8px;transform:translateY(3px)}.filters__help:hover:after,.filters__help:focus:after{opacity:1;visibility:visible;transform:translateY(0)}.filters__badge{font:400 var(--fs-micro)/1.2 "JetBrains Mono", monospace;color:var(--brand)}.filters__chips{flex-wrap:wrap;gap:6px;display:flex}.fchip{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--white);height:36px;color:var(--ink-soft);white-space:nowrap;font:400 var(--fs-small)/1 Inter, sans-serif;align-items:center;padding:0 12px;transition:background .12s,border-color .12s;display:inline-flex}.fchip:hover{border-color:var(--ink);text-decoration:none}.fchip--on{border-color:var(--brand);color:var(--brand);background:#eef3ff;font-weight:500}.fchip--on:hover{border-color:var(--brand)}.filters__mobile-actions{display:none}.catalog__bar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-bottom:16px;display:flex}.catalog__count{font:400 var(--fs-small)/1.4 "JetBrains Mono", monospace;font-variant-numeric:tabular-nums;color:var(--muted)}.catalog__tools{align-items:center;gap:12px;display:flex}.catalog__sort label{font:400 var(--fs-small)/1 "JetBrains Mono", monospace;color:var(--muted);align-items:center;gap:8px;display:flex}.catalog__select{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--white);height:36px;font:400 var(--fs-small)/1 Inter, sans-serif;color:var(--ink);cursor:pointer;padding:0 10px}.catalog__go{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--white);height:36px;font:400 var(--fs-small)/1 Inter, sans-serif;cursor:pointer;margin-left:8px;padding:0 12px}.catalog__filterbtn{border:1px solid var(--ink);border-radius:var(--r-sm);height:36px;font:500 var(--fs-small)/1 Inter, sans-serif;color:var(--ink);align-items:center;padding:0 14px;display:inline-flex}.catalog__filterbtn:hover{text-decoration:none}.catalog__chosen{flex-wrap:wrap;gap:6px;padding-top:14px;display:flex}.empty{border:1px solid var(--line-strong);border-left:3px solid var(--brand);border-radius:var(--r);background:var(--card-bg);margin-top:24px;padding:20px 22px}.empty__title{font:500 var(--fs-lead)/1.3 Inter, sans-serif}.empty__note{font:400 var(--fs-body)/1.5 Inter, sans-serif;color:var(--ink-soft);margin-top:6px}.empty__reset{border:1px solid var(--brand);border-radius:var(--r-sm);background:var(--white);height:44px;font:500 var(--fs-body)/1 Inter, sans-serif;color:var(--brand);align-items:center;margin-top:14px;padding:0 18px;display:inline-flex}.empty__reset:hover{background:#eef3ff;text-decoration:none}.empty__actions{flex-wrap:wrap;gap:10px;display:flex}.empty__individual{border:1px solid var(--brand);border-radius:var(--r-sm);background:var(--cta);min-height:44px;color:var(--white);font:500 var(--fs-body)/1.2 Inter, sans-serif;align-items:center;margin-top:14px;padding:0 18px;display:inline-flex}.empty__individual:hover{background:var(--cta-hover);text-decoration:none}.pager{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin-top:clamp(24px,3vw,36px);display:flex}.pager__link{border:1px solid var(--line-strong);border-radius:var(--r-sm);height:44px;font:500 var(--fs-body)/1 Inter, sans-serif;color:var(--ink);align-items:center;padding:0 18px;display:inline-flex}.pager__link:hover{border-color:var(--ink);text-decoration:none}.pager__link--current{border-color:var(--brand);background:var(--brand);color:var(--white)}.pager__now{font:400 var(--fs-small)/1 "JetBrains Mono", monospace;font-variant-numeric:tabular-nums;color:var(--muted)}@media (width<=899px){.catalog__grid{grid-template-columns:1fr}.filters{position:static}.catalog__filterbtn{display:none}.js-filters .catalog__filterbtn{display:inline-flex}.js-filters .filters{z-index:60;background:var(--white);padding:16px 16px 96px;display:none;position:fixed;inset:0;overflow:auto}.js-filters .filters.is-open{display:block}.filters__popular{border-bottom:1px solid var(--line);padding:16px 0;display:block}.filters__popular .cats{margin-top:0}.filters__popular .cats__title{color:var(--muted);margin-bottom:10px;font-weight:500}.filters__popular .cats__list{gap:6px}.filters__popular .cat{white-space:normal;justify-content:flex-start;width:auto;min-height:36px;padding:0 11px}.js-filters .filters__mobile-actions{z-index:2;padding:12px 16px max(12px, env(safe-area-inset-bottom));border-top:1px solid var(--line);box-shadow:var(--sh-float);backdrop-filter:blur(10px);background:#fffffff5;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid;position:fixed;bottom:0;left:0;right:0}.js-filters .filters__mobile-actions[hidden]{display:none}.filters__show{border:1px solid var(--brand);border-radius:var(--r-sm);background:var(--cta);min-height:46px;color:var(--white);font:600 var(--fs-body)/1.2 Inter, sans-serif}.filters__show:disabled{opacity:.65}.filters__mobile-reset{color:var(--brand);font:500 var(--fs-small)/1 Inter, sans-serif;padding:12px 0}.js-filters .filters__close{width:36px;height:36px;font-size:var(--fs-lead);color:var(--ink-soft);justify-content:center;align-items:center;margin:-6px -6px -6px 0;display:inline-flex}.js-filters .filters__close:hover{text-decoration:none}}.catalog .section__eyebrow{color:var(--brand);font:500 var(--fs-micro)/1.2 "JetBrains Mono", monospace;letter-spacing:.08em;text-transform:uppercase;margin-bottom:9px}.catalog-benefits{margin-top:clamp(52px,6vw,84px)}.catalog-benefits__head{max-width:760px}.catalog-benefits__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px;display:grid}.catalog-benefits__grid article{border:1px solid var(--line);border-top:3px solid var(--brand);border-radius:var(--r);background:var(--white);min-height:154px;padding:22px}.catalog-benefits__grid strong{font:600 var(--fs-lead)/1.25 Inter, sans-serif}.catalog-benefits__grid p{font:400 var(--fs-body)/1.55 Inter, sans-serif;color:var(--ink-soft);margin:11px 0 0}.catalog-cta{border:1px solid var(--line-strong);border-left:4px solid var(--brand);border-radius:var(--r);background:var(--surface);justify-content:space-between;align-items:end;gap:30px;margin-top:clamp(44px,5vw,72px);padding:clamp(24px,3.5vw,42px);display:flex}.catalog-cta>div:first-child{max-width:760px}.catalog-cta p{font:400 var(--fs-body)/1.6 Inter, sans-serif;color:var(--ink-soft);margin:12px 0 0}.catalog-cta__actions{flex-wrap:wrap;flex:none;align-items:center;gap:14px;display:flex}@media (width<=999px){.catalog-benefits__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-cta{flex-direction:column;align-items:start}}@media (width<=599px){.catalog__intro{font-size:var(--fs-body)}.catalog__sort label{gap:0;font-size:0}.catalog__select{font-size:var(--fs-small)}.catalog-benefits__grid{grid-template-columns:1fr}.catalog-benefits__grid article{min-height:0}.catalog-cta__actions{flex-direction:column;align-items:stretch;width:100%}.catalog-cta__actions .btn-primary,.catalog-cta__actions .btn-quiet{justify-content:center}}.cats{margin-top:clamp(14px,1.8vw,20px)}.cats__title{font:400 var(--fs-micro)/1.2 "JetBrains Mono", monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.cats__list{flex-wrap:wrap;gap:6px;display:flex}.cat{border-radius:var(--r-sm);background:var(--surface);white-space:nowrap;border:0;align-items:center;gap:6px;height:32px;padding:0 10px;display:inline-flex}.cat:hover{background:var(--line-strong);text-decoration:none}.cat__name{font:400 var(--fs-small)/1 Inter, sans-serif;color:var(--ink)}.cat:hover .cat__name{color:var(--ink)}.cat__count{font:400 var(--fs-micro)/1 "JetBrains Mono", monospace;font-variant-numeric:tabular-nums;color:var(--muted)}@media (width<=700px){.cat{white-space:normal;justify-content:space-between;width:100%;height:auto;min-height:32px;padding-block:7px}.cat__name{line-height:1.25}.cat__count{flex:none}}.prose{max-width:80ch;margin-top:14px}.prose p{font:400 var(--fs-body)/1.65 Inter, sans-serif;color:var(--ink-soft);margin:0 0 12px}.prose p:last-child{margin-bottom:0}.prose ul,.prose ol{margin:0 0 12px;padding-left:20px}.prose li{font:400 var(--fs-body)/1.6 Inter, sans-serif;color:var(--ink-soft);margin-bottom:4px}.prose h3{font:600 var(--fs-h3)/1.3 Inter, sans-serif;color:var(--ink);margin:20px 0 8px}.prose a{color:var(--brand)}.prose--wide{max-width:92ch}.collection-cta{border:1px solid var(--line-strong);border-left:4px solid var(--brand);background:var(--surface);justify-content:space-between;align-items:end;gap:28px;margin-top:clamp(32px,4vw,52px);padding:clamp(22px,3vw,34px);display:flex}.collection-cta>div{max-width:720px}.collection-cta p{color:var(--ink-soft);font:400 var(--fs-body)/1.55 Inter, sans-serif;margin:10px 0 0}.collection-cta .btn-primary{flex:none}@media (width<=599px){.collection-rule{flex-direction:column;align-items:flex-start;gap:6px}.collection-cta{flex-direction:column;align-items:stretch}.collection-cta .btn-primary{justify-content:center}}.catalog__seo{margin-top:clamp(56px,7vw,104px)}.catalog__seo .prose{margin-top:16px}.notfound{padding-top:clamp(48px,8vw,96px);padding-bottom:clamp(48px,7vw,88px)}.notfound__code{letter-spacing:-.04em;color:var(--line-strong);font:500 clamp(56px,10vw,96px)/1 JetBrains Mono,monospace}.notfound__title{letter-spacing:-.035em;margin:8px 0 0;font:600 clamp(24px,3.2vw,34px)/1.06 Inter,sans-serif}.notfound__note{max-width:56ch;font:400 var(--fs-body)/1.6 Inter, sans-serif;color:var(--ink-soft);margin:12px 0 0}.notfound .btn-row{margin-top:22px}.notfound .cats{margin-top:clamp(32px,4vw,48px)}.example{padding-top:clamp(16px,2.4vw,24px)}.example-intro{margin-top:clamp(24px,3vw,40px)}.example-intro__back{border:1px solid var(--line-strong);background:var(--white);min-height:42px;color:var(--ink);font:600 var(--fs-small)/1 Inter, sans-serif;align-items:center;margin-bottom:18px;padding:0 14px;display:inline-flex}.example-intro__back:hover{border-color:var(--ink);color:var(--brand);text-decoration:none}.example-intro h1{letter-spacing:-.035em;max-width:52%;margin:0;font:600 clamp(30px,3vw,44px)/1.06 Inter,sans-serif}.project-browser{border:1px solid var(--line-strong);background:var(--white);margin-top:clamp(34px,5vw,56px)}.stage-select{display:none}.stage-tabs{border-bottom:1px solid var(--line-strong);grid-template-columns:repeat(auto-fit,minmax(0,1fr));min-width:0;display:grid;overflow:hidden}.stage-tab{text-align:left;min-width:0;min-height:82px;color:var(--ink);background:var(--white);border:0;border-left:1px solid var(--line);cursor:pointer;flex-direction:column;flex:1 0 150px;align-items:flex-start;gap:7px;padding:16px 18px 15px;display:flex;position:relative}.stage-tab:first-child{border-left:0}.stage-tab:after{content:"";background:0 0;height:3px;position:absolute;bottom:-1px;left:16px;right:16px}.stage-tab:hover{background:var(--card-bg)}.stage-tab.is-active:after{background:var(--brand)}.stage-tab strong{font:500 var(--fs-h3)/1 "JetBrains Mono", monospace;color:var(--muted)}.stage-tab.is-active strong{color:var(--brand)}.stage-tab span{max-width:18ch;font:500 var(--fs-micro)/1.35 Inter, sans-serif;color:var(--ink-soft)}.project-workspace{grid-template-columns:280px minmax(0,1fr);align-items:start;display:grid}.project-toc{border-right:1px solid var(--line-strong);background:var(--card-bg)}.project-toc__head{border-bottom:1px solid var(--line-strong);justify-content:space-between;align-items:flex-start;gap:12px;min-height:90px;padding:17px 18px;display:flex}.project-toc__head>div{min-width:0}.project-toc__head span{font:500 var(--fs-h3)/1 "JetBrains Mono", monospace;color:var(--brand);display:block}.project-toc__head strong{font:500 var(--fs-small)/1.35 Inter, sans-serif;margin-top:7px;display:block}.project-toc__head small{font:400 var(--fs-micro)/1 "JetBrains Mono", monospace;color:var(--muted);flex:none}.project-toc__sheet{text-align:left;width:100%;color:var(--ink);border:0;border-bottom:1px solid var(--line);cursor:pointer;background:0 0;border-left:3px solid #0000;grid-template-columns:50px minmax(0,1fr);gap:9px;padding:12px 17px;display:grid}.project-toc__sheet:hover{background:#eceff2}.project-toc__sheet.is-active{background:var(--white);border-left-color:var(--brand)}.project-toc__sheet span{font:500 var(--fs-micro)/1.35 "JetBrains Mono", monospace;color:var(--muted)}.project-toc__sheet strong{font:500 var(--fs-small)/1.4 Inter, sans-serif}.project-toc__mobile{display:none}.project-viewer{background:var(--white);min-width:0}.project-viewer__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:90px;padding:17px clamp(18px,3vw,32px);display:flex}.project-viewer__head>div{min-width:0}.project-viewer__head span{font:500 var(--fs-micro)/1.2 "JetBrains Mono", monospace;color:var(--brand);margin-bottom:5px;display:block}.project-viewer__head h2{margin:0;font:600 clamp(17px,2vw,22px)/1.25 Inter,sans-serif}.project-viewer__head a{font:500 var(--fs-small)/1.2 Inter, sans-serif;color:var(--ink);flex:none}.project-viewer__canvas{background:#e7eaee;place-items:start center;min-height:700px;padding:clamp(16px,3vw,32px);display:grid}.project-viewer__canvas img{object-fit:contain;object-position:top;background:var(--white);width:100%;height:auto;max-height:980px;display:block}.project-viewer__empty{text-align:center;width:100%;min-height:620px;color:var(--muted);background:#e1e5e9;border:1px dashed #bfc7d0;place-content:center;align-self:stretch;padding:30px}.project-viewer__empty:not([hidden]){display:grid}.project-viewer__empty span{font:500 var(--fs-body)/1.4 Inter, sans-serif;color:var(--ink-soft)}.project-viewer__empty small{font:400 var(--fs-micro)/1.4 "JetBrains Mono", monospace;margin-top:8px}.project-viewer__swipe{display:none}.project-viewer__nav{border-top:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;min-height:62px;padding:10px clamp(18px,3vw,32px);display:grid}.project-viewer__nav button{color:var(--ink);font:500 var(--fs-small)/1.2 Inter, sans-serif;cursor:pointer;background:0 0;border:0;padding:10px 0}.project-viewer__nav button:first-child{text-align:left}.project-viewer__nav button:last-child{text-align:right}.project-viewer__nav button:disabled{color:var(--muted);cursor:default}.project-viewer__nav span{font:400 var(--fs-micro)/1 "JetBrains Mono", monospace;color:var(--muted)}.example-form{padding-top:clamp(64px,9vw,106px);padding-bottom:clamp(64px,9vw,106px)}@media (width<=899px){.example-intro h1{max-width:75%}.stage-tabs{display:none}.stage-select{border-bottom:1px solid var(--line-strong);background:var(--card-bg);padding:14px;display:block}.stage-select span{font:500 var(--fs-micro)/1.2 "JetBrains Mono", monospace;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:7px;display:block}.stage-select select{border:1px solid var(--line-strong);background:var(--white);width:100%;min-height:52px;color:var(--ink);font:500 var(--fs-body)/1.3 Inter, sans-serif;border-radius:0;padding:0 14px}.project-workspace{grid-template-columns:1fr}.project-toc{border-right:0;border-bottom:1px solid var(--line-strong);max-height:none;position:static;overflow:visible}.project-toc__head,.project-toc__list{display:none}.project-toc__mobile{padding:14px;display:block}.project-toc__mobile>span{font:500 var(--fs-micro)/1.2 "JetBrains Mono", monospace;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:7px;display:block}.project-toc__mobile select{border:1px solid var(--line-strong);background:var(--white);width:100%;min-height:50px;color:var(--ink);font:500 var(--fs-body)/1.3 Inter, sans-serif;border-radius:0;padding:0 13px}.project-viewer__canvas{min-height:0}.project-viewer__swipe{text-align:center;border-top:1px solid var(--line);font:400 var(--fs-micro)/1.3 "JetBrains Mono", monospace;color:var(--muted);padding:10px 14px;display:block}}@media (width<=599px){.example-intro__back{box-sizing:border-box;justify-content:center;width:100%;margin-bottom:14px}.example-intro h1{max-width:92%;font-size:clamp(27px,8.5vw,36px)}.project-viewer__head{align-items:flex-start;min-height:78px}.project-viewer__head a{font-size:0}.project-viewer__head a:after{content:"↗";font-size:var(--fs-h3)}.project-viewer__canvas{padding:7px}.project-viewer__empty{min-height:400px}.project-viewer__nav{grid-template-columns:1fr 1fr}.project-viewer__nav span{display:none}}
