.library-preview.svelte-g1k1va{position:relative;margin:0;width:100%;border:1px solid var(--ws-line);border-radius:12px;overflow:hidden;background:#202d3b}img.svelte-g1k1va,video.svelte-g1k1va,model-viewer.svelte-g1k1va{display:block;width:100%;height:100%;object-fit:cover}model-viewer.svelte-g1k1va{--poster-color: transparent;background:#202d3b}.reveal-button.svelte-g1k1va{position:absolute;left:16px;bottom:16px;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid #bad1f34d;border-radius:9px;background:#182738ed;color:#edf3fc;font:700 14px/1 var(--font-body);cursor:pointer}.reveal-button.svelte-g1k1va:hover:not(:disabled){background:#22364d}.reveal-button.svelte-g1k1va:disabled{cursor:progress;opacity:.85}.reveal-button.svelte-g1k1va:focus-visible{outline:3px solid var(--ws-yellow);outline-offset:3px}.viewer-error.svelte-g1k1va{position:absolute;left:16px;right:16px;top:16px;margin:0;padding:8px 12px;border-radius:8px;background:#182738ed;color:#edf3fc;font-size:13px}ul.svelte-1npv9ak{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.rb-badge.svelte-1npv9ak{display:inline-flex;align-items:center;border:1px solid var(--ws-line);border-radius:999px;overflow:hidden;font:600 12px/1 var(--font-body)}.badge-renderer.svelte-1npv9ak{padding:7px 9px;background:var(--ws-tint);color:var(--ws-ink)}.badge-status.svelte-1npv9ak{padding:7px 9px;color:var(--ws-ink)}.rb-pass.svelte-1npv9ak .badge-status:where(.svelte-1npv9ak){background:#dff3e8;color:#17603f}.rb-warn.svelte-1npv9ak .badge-status:where(.svelte-1npv9ak){background:#fdf0d4;color:#7a4f05}.rb-fail.svelte-1npv9ak .badge-status:where(.svelte-1npv9ak){background:#fbe1df;color:#8c241b}[data-theme=dark] .rb-pass.svelte-1npv9ak .badge-status:where(.svelte-1npv9ak){background:#1f3d2f;color:#a8e3c4}[data-theme=dark] .rb-warn.svelte-1npv9ak .badge-status:where(.svelte-1npv9ak){background:#43361a;color:#f3d48f}[data-theme=dark] .rb-fail.svelte-1npv9ak .badge-status:where(.svelte-1npv9ak){background:#4a2523;color:#f5b5ae}.unverified.svelte-1npv9ak,.renderer-summary.svelte-1npv9ak{margin:0;font-size:13px;line-height:1.6;color:var(--ws-muted)}.renderer-summary.svelte-1npv9ak{margin-top:8px;overflow-wrap:anywhere}.renderer-summary.svelte-1npv9ak code{font:.92em var(--font-code);background:var(--ws-tint);border:1px solid var(--ws-line);border-radius:4px;padding:0 4px;color:var(--ws-ink);overflow-wrap:anywhere}.notes-link.svelte-1npv9ak{color:var(--ws-blue);font-weight:600;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}.notes-link.svelte-1npv9ak:hover{text-decoration-thickness:2px}.download-card.svelte-1x621e1{padding:22px;display:flex;flex-direction:column;gap:18px}.download-button.svelte-1x621e1{width:100%}.download-button.svelte-1x621e1 small:where(.svelte-1x621e1){font-weight:600;opacity:.8}.facts.svelte-1x621e1{display:grid;gap:12px;margin:0}.facts.svelte-1x621e1>div:where(.svelte-1x621e1){display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;align-items:center}.facts-renderers.svelte-1x621e1{align-items:start!important}dt.svelte-1x621e1{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ws-muted)}.facts-renderers.svelte-1x621e1 dt:where(.svelte-1x621e1){padding-top:7px}dd.svelte-1x621e1{margin:0;font-size:14px;color:var(--ws-ink)}.chip.svelte-1x621e1{display:inline-flex;align-items:center;padding:4px 9px;border:1px solid var(--ws-line);border-radius:999px;background:var(--ws-tint);color:var(--ws-ink);font:600 12px/1.3 var(--font-body);text-decoration:none}.chip-cc0.svelte-1x621e1:hover{border-color:var(--ws-blue);color:var(--ws-blue)}.fact-note.svelte-1x621e1{font-size:13px;color:var(--ws-muted)}.zip-heading.svelte-1x621e1{margin:0;font:700 15px/1.4 var(--font-heading);color:var(--ws-ink)}.zip-contents.svelte-1x621e1{margin:-8px 0 0;padding:0;list-style:none;display:grid;gap:6px}.zip-contents.svelte-1x621e1 li:where(.svelte-1x621e1){display:flex;align-items:center;gap:8px;font:13px/1.5 var(--font-code);color:var(--ws-muted);overflow-wrap:anywhere}.zip-contents.svelte-1x621e1 li:where(.svelte-1x621e1) .icon{flex:none;color:var(--ws-blue)}.table-wrap.svelte-fuyond{overflow-x:auto;border:1px solid var(--ws-line);border-radius:10px;background:var(--ws-surface)}.table-wrap.svelte-fuyond+.table-wrap:where(.svelte-fuyond){margin-top:18px}table.svelte-fuyond{width:100%;border-collapse:collapse;font-size:14px;line-height:1.6}th.svelte-fuyond,td.svelte-fuyond{padding:11px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--ws-line);color:var(--ws-ink)}tbody.svelte-fuyond tr:where(.svelte-fuyond):last-child>:where(.svelte-fuyond){border-bottom:0}thead.svelte-fuyond th:where(.svelte-fuyond){background:var(--ws-tint);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ws-muted);white-space:nowrap}tbody.svelte-fuyond th:where(.svelte-fuyond){font-weight:600;white-space:nowrap}td.svelte-fuyond:last-child{color:var(--ws-muted);min-width:220px}code.svelte-fuyond{font:13px/1.5 var(--font-code)}td.svelte-fuyond:last-child code{font:13px/1.5 var(--font-code);overflow-wrap:anywhere}.library-item.svelte-1770yll{padding:20px 0 48px;color:var(--ws-ink)}.item-header.svelte-1770yll{margin:8px 0 28px;max-width:820px}.item-header.svelte-1770yll h1:where(.svelte-1770yll){margin:12px 0;font:800 clamp(32px,4vw,50px)/1.12 var(--font-heading);letter-spacing:-.04em}.item-promise.svelte-1770yll{margin:0;font-size:18px;line-height:1.65;color:var(--ws-muted)}.item-top.svelte-1770yll{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:24px;align-items:start}.item-content.svelte-1770yll{max-width:820px}.item-content.svelte-1770yll .ws-section:where(.svelte-1770yll){border-bottom:1px solid var(--ws-line)}.item-content.svelte-1770yll .ws-section:where(.svelte-1770yll):last-child{border-bottom:0}.install-steps.svelte-1770yll{margin:0;padding-left:24px;display:grid;gap:10px;font-size:16px;line-height:1.7;color:var(--ws-muted)}.install-steps.svelte-1770yll li:where(.svelte-1770yll){min-width:0}.install-steps.svelte-1770yll li:where(.svelte-1770yll)::marker{color:var(--ws-blue);font-weight:700}.install-steps.svelte-1770yll code,.pitfalls.svelte-1770yll code,.renderer-notes.svelte-1770yll code,.section-note.svelte-1770yll code:where(.svelte-1770yll),.faq-a.svelte-1770yll code{font:.9em var(--font-code);background:var(--ws-tint);border:1px solid var(--ws-line);border-radius:5px;padding:1px 5px;color:var(--ws-ink);overflow-wrap:anywhere}.section-note.svelte-1770yll{margin:0;font-size:15px;line-height:1.7;color:var(--ws-muted)}.shader-source.svelte-1770yll{margin-top:22px}.pitfalls.svelte-1770yll{margin:0 0 18px;padding:0;list-style:none;display:grid;gap:12px}.pitfalls.svelte-1770yll li:where(.svelte-1770yll){display:flex;gap:12px;font-size:16px;line-height:1.7;color:var(--ws-muted)}.pitfalls.svelte-1770yll li:where(.svelte-1770yll)>span:where(.svelte-1770yll){min-width:0}.pitfalls.svelte-1770yll li:where(.svelte-1770yll) .icon{flex:none;margin-top:4px;color:#d98a1c}.renderer-notes.svelte-1770yll{margin:0;padding:14px 16px;border:1px solid var(--ws-line);border-radius:10px;background:var(--ws-tint);font-size:15px;line-height:1.7;color:var(--ws-ink);scroll-margin-top:110px}.pairs-grid.svelte-1770yll{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:22px}.lessons-heading.svelte-1770yll{margin:0 0 10px;font:700 17px/1.4 var(--font-heading)}.lessons.svelte-1770yll{margin:0 0 18px;padding:0;list-style:none;display:grid;gap:8px}.lesson-note.svelte-1770yll{display:block;margin-top:2px;font-size:14px;line-height:1.6;color:var(--ws-muted)}.more-link.svelte-1770yll{margin:0}.faq-q.svelte-1770yll{margin:22px 0 6px;font:700 18px/1.4 var(--font-heading);color:var(--ws-ink)}.faq-q.svelte-1770yll:first-of-type{margin-top:0}.faq-a.svelte-1770yll{margin:0;font-size:16px;line-height:1.75;color:var(--ws-muted)}.not-found.svelte-1770yll{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;padding:40px 18px;text-align:center}.not-found.svelte-1770yll h1:where(.svelte-1770yll){margin:0 0 8px;font:800 64px/1 var(--font-heading);color:var(--text-tertiary)}.not-found.svelte-1770yll p:where(.svelte-1770yll){margin:0 0 24px;color:var(--ws-muted)}@media(max-width:1024px){.item-top.svelte-1770yll{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){.library-item.svelte-1770yll{padding-top:8px}.pairs-grid.svelte-1770yll{grid-template-columns:1fr}.item-promise.svelte-1770yll{font-size:16px}}
