.catalog-hero{padding:clamp(48px,7vw,88px) 0 32px;position:relative;overflow:hidden}.catalog-hero:before{content:"";z-index:-1;pointer-events:none;background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-size:32px 32px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 90% at 30% 20%,#000 15%,#0000 70%);mask-image:radial-gradient(70% 90% at 30% 20%,#000 15%,#0000 70%)}.catalog-hero h1{letter-spacing:-.03em;max-width:16ch;margin:0 0 18px;font-size:clamp(2.4rem,5.4vw,4.2rem);line-height:1}.catalog-jump{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.catalog-jump a{border:1px solid var(--line);background:var(--card);height:34px;color:var(--ink);border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:.86rem;text-decoration:none;transition:border-color .15s;display:inline-flex}.catalog-jump a:hover{border-color:var(--ink-3)}.catalog-jump .mono{color:var(--ink-3);font-size:.72rem}.catalog-cat{border-top:1px solid var(--line-2);padding:36px 0 24px;scroll-margin-top:70px}.catalog-cat-head{flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-bottom:18px;display:flex}.catalog-cat-head h2{margin:0;font-size:clamp(1.4rem,2.6vw,1.9rem)}.catalog-cat-head p{color:var(--ink-2);margin:0}.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.gcard{border:1px solid var(--line);background:var(--card);color:var(--ink);transition:transform .2s var(--ease), box-shadow .2s, border-color .2s;border-radius:22px;flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.gcard:hover{box-shadow:var(--shadow-lg);border-color:var(--ink-3);transform:translateY(-3px)}.gcard-media{aspect-ratio:4/3;border-bottom:1px solid var(--line-2);background:linear-gradient(var(--grid) 1px, transparent 1px) -1px -1px / 20px 20px, linear-gradient(90deg, var(--grid) 1px, transparent 1px) -1px -1px / 20px 20px, radial-gradient(90% 90% at 50% 40%, var(--card), var(--stage));position:relative}.gcard-media img{object-fit:contain;width:100%;height:100%;transition:transform .5s var(--ease)}.gcard:hover .gcard-media img{transform:scale(1.05)rotate(-1deg)}.gcard-size{color:var(--blue);background:color-mix(in srgb, var(--card) 85%, transparent);border:1px solid color-mix(in srgb, var(--blue) 30%, transparent);border-radius:7px;padding:3px 8px;font-size:.68rem;position:absolute;bottom:10px;left:12px}.gcard-body{flex-direction:column;flex:1;gap:10px;padding:16px 18px;display:flex}.gcard-body h3{letter-spacing:-.02em;margin:0;font-size:1.06rem}.gcard-body>p{color:var(--ink-2);margin:0;font-size:.86rem;line-height:1.5}.gcard-sliders{flex-wrap:wrap;align-items:center;gap:5px;margin:0;padding:0;list-style:none;display:flex}.gcard-sliders svg{width:14px;height:14px;color:var(--ink-3);margin-right:2px}.gcard-sliders li{background:var(--paper-2);border:1px solid var(--line);height:24px;color:var(--ink-2);border-radius:999px;align-items:center;padding:0 9px;font-size:.72rem;display:inline-flex}.gcard-sliders li.more{color:var(--ink-3)}.gcard-body footer{border-top:1px dashed var(--line);color:var(--ink-3);align-items:center;gap:12px;margin-top:auto;padding-top:12px;font-size:.76rem;display:flex}.gcard-body footer .ok{color:var(--ok);align-items:center;gap:4px;display:inline-flex}.gcard-body footer .ok svg{width:13px;height:13px}.gcard-go{color:var(--ink);align-items:center;gap:4px;margin-left:auto;font-weight:500;display:inline-flex}.gcard-go svg{width:14px;height:14px;transition:transform .2s var(--ease)}.gcard:hover .gcard-go svg{transform:translate(3px)}.catalog-cta{text-align:center;border-top:1px solid var(--line-2);padding:clamp(64px,9vw,110px) 0}.catalog-cta h2{margin:0 0 10px;font-size:clamp(1.8rem,3.6vw,2.6rem)}.catalog-cta p{color:var(--ink-2);max-width:52ch;margin:0 auto 24px}.catalog-cta .mascot{margin:0 auto 12px}.lib-search{align-items:center;max-width:640px;margin:0 0 18px;display:flex;position:relative}.lib-search>svg{width:18px;height:18px;color:var(--ink-3);pointer-events:none;position:absolute;left:16px}.lib-search input{border:1px solid var(--line);background:var(--card);width:100%;height:52px;color:var(--ink);font:400 1rem/1 var(--font-body);border-radius:999px;padding:0 48px 0 46px;box-shadow:0 1px 2px #0000000a}.lib-search input:focus{border-color:var(--ink-2);box-shadow:0 0 0 3px color-mix(in srgb, var(--ink) 10%, transparent);outline:none}.lib-search input::-webkit-search-cancel-button{display:none}.lib-clear{width:36px;height:36px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;right:8px}.lib-clear:hover{background:var(--paper-2);color:var(--ink)}.lib-clear svg{width:16px;height:16px}.lib-bar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.lib-bar .gallery-filters{justify-content:flex-start;margin-bottom:8px}.lib-bar .lib-cat{opacity:.85}.lib-sort select{border:1px solid var(--line);background:var(--card);height:34px;color:var(--ink-2);font:500 .84rem/1 var(--font-body);border-radius:999px;padding:0 12px}.lib-count{min-height:1.2em;margin:0 0 14px}.ld .lib-h,.lib-h{letter-spacing:-.02em;flex-wrap:wrap;align-items:baseline;gap:12px;margin:26px 0 16px;font-size:1.3rem;display:flex}.ld .lib-h small,.lib-h small{color:var(--ink-3);letter-spacing:0;font-size:.86rem;font-weight:400}.mcard-tags{gap:6px;display:flex;position:absolute;top:12px;left:12px}.mcard-tags .mcard-tag{position:static}.mcard-tag.free{color:#9a3d0c;background:#ffedd5d9;border-color:#ea580c40}.mcard-tag.workshop{color:#1e4fae;background:#dbe7ffd9;border-color:#2f6fe447}.lib-design .mcard-media img{object-fit:cover}.lib-design .lib-by{color:var(--ink-3);-webkit-line-clamp:1;margin-top:6px;font-size:.78rem}.lib-stats{color:var(--ink-3);align-items:center;gap:10px;margin-left:auto;font-size:.76rem;display:inline-flex}.lib-stats span{align-items:center;gap:4px;display:inline-flex}.lib-stats svg{width:14px;height:14px}.lib-empty{text-align:center;color:var(--ink-2);justify-items:center;gap:14px;padding:48px 16px;display:grid}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .mcard-tag.free{color:#fdba74;background:#7c2d12b3}}:root[data-theme=dark] .mcard-tag.free{color:#fdba74;background:#7c2d12b3}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .mcard-tag.workshop{color:#a9c4ff;background:#1e3a8ab3}}:root[data-theme=dark] .mcard-tag.workshop{color:#a9c4ff;background:#1e3a8ab3}@media (max-width:640px){.catalog-hero{padding:24px 0 12px}.catalog-hero h1{margin-bottom:10px;font-size:2.05rem}.catalog-hero .ld-sub{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.92rem;line-height:1.5;display:-webkit-box;overflow:hidden}.gallery-filters{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;justify-content:flex-start;margin-inline:-16px;padding-inline:16px;overflow-x:auto}.gallery-filters::-webkit-scrollbar{display:none}.gallery-filters>*{flex:none}}.lib-fresh-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 16px;display:flex}.lib-fresh-head .lib-h{margin-bottom:0}.lib-fresh-cta{color:var(--ink);border-bottom:1.5px solid var(--accent,#ff6b35);align-items:center;gap:4px;padding:6px 0;font-size:.92rem;font-weight:600;text-decoration:none;display:inline-flex}.lib-fresh-cta svg{width:16px;height:16px}.lib-fresh .gallery-grid{margin-top:16px}
