.bwface{display:block;width:100%;height:100%;overflow:visible}.bwface .bwf-head{fill:var(--face-skin, #17191c)}.bwface .bwf-ring{fill:none;stroke:var(--face-ring, transparent);stroke-width:1;vector-effect:non-scaling-stroke}.bwface .bwf-eye{fill:var(--face-ink, #f7f9f9)}.bwface .bwf-lid{fill:var(--face-skin, #17191c)}.bwface .bwf-pupil{fill:var(--face-pupil, var(--face-skin, #17191c))}.bwface .bwf-mouth{fill:none;stroke:var(--face-ink, #f7f9f9);stroke-width:3.2;stroke-linecap:round}.bwface .bwf-mouth-talk{fill:var(--face-ink)}.bwface .bwf-mouth-open{fill:var(--face-ink, #f7f9f9)}:root{color-scheme:dark;--bg: #000000;--surface: #0b0b0c;--surface-hover: #131315;--line: #232427;--line-strong: #34363a;--fg: #e9ebec;--fg-muted: #85898e;--fg-faint: #55595e;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px;--radius-pill: 999px;--step-0: .875rem;--step-1: 1rem;--step-2: 1.25rem;--step-3: clamp(1.5rem, 3vw, 2rem);--step-4: clamp(2.25rem, 6vw, 4.25rem);--gutter: clamp(1.25rem, 4vw, 2.5rem);--measure: 62ch;--ease: cubic-bezier(.32, .72, 0, 1)}@media (prefers-color-scheme: light){:root{color-scheme:light;--bg: #ffffff;--surface: #fbfbfc;--surface-hover: #f2f3f4;--line: #e4e6e8;--line-strong: #cfd2d5;--fg: #0d0f11;--fg-muted: #62676c;--fg-faint: #8d9298}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:var(--step-1);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.03em;line-height:1.08;text-wrap:balance}h1{font-size:var(--step-4)}h2{font-size:var(--step-3)}h3{font-size:var(--step-2);letter-spacing:-.02em}p{margin:0;color:var(--fg-muted);text-wrap:pretty}a{color:inherit;text-decoration:none}code,pre{font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,monospace;font-size:.85em}:focus-visible{outline:2px solid var(--fg);outline-offset:2px;border-radius:var(--radius-sm)}.shell{max-width:1080px;margin:0 auto;padding-inline:var(--gutter)}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;height:58px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.wordmark{display:flex;align-items:center;gap:.6rem;font-size:var(--step-0);font-weight:600;letter-spacing:-.01em}.topbar nav{display:flex;gap:1.5rem;font-size:var(--step-0);color:var(--fg-muted)}.topbar nav a:hover{color:var(--fg)}.wordmark-by{padding-left:.7rem;border-left:1px solid var(--line-strong);margin-left:.15rem;font-weight:400;font-size:.75rem;letter-spacing:0;color:var(--fg-faint);white-space:nowrap}.wordmark-by a{color:var(--fg-muted);text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--line-strong)}.wordmark-by a:hover{color:var(--fg);text-decoration-color:currentColor}@media (max-width: 720px){.wordmark-by{display:none}}@media (max-width: 640px){.topbar{gap:.5rem}.topbar nav{gap:.9rem;font-size:.8125rem}.wordmark{font-size:.8125rem;gap:.45rem}}section{padding-block:clamp(3.5rem,9vw,7rem);border-bottom:1px solid var(--line);scroll-margin-top:74px}.section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.75rem 2rem;margin-bottom:2.5rem}.eyebrow{font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-faint)}.lede{max-width:var(--measure);font-size:var(--step-2)}.hero{position:relative;display:grid;place-items:center;gap:2.5rem;text-align:center;min-height:min(78vh,720px);padding-block:clamp(4rem,12vh,8rem);margin-inline:calc(50% - 50vw);padding-inline:var(--gutter);overflow:hidden}.wall-stage{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:var(--bg)}.wall{position:absolute;top:0;left:0;right:0;will-change:transform}.wall-row{display:grid;grid-template-columns:repeat(var(--cols),1fr)}.wall-tile{position:relative;aspect-ratio:1;--face-skin: var(--bg);--face-ring: var(--line)}.wall-face{position:absolute;top:12%;right:12%;bottom:12%;left:12%}.wall-tag{position:absolute;left:0;right:0;bottom:6%;font-size:10px;letter-spacing:.06em;color:var(--fg-faint);opacity:0;transition:opacity .15s var(--ease);pointer-events:none}.wall-tile:hover .wall-tag{opacity:1}.hero-copy{position:relative;z-index:1;display:grid;gap:1.25rem;justify-items:center;padding:clamp(1.5rem,4vw,2.75rem);border-radius:var(--radius-lg);background:radial-gradient(ellipse at center,var(--bg) 0%,var(--bg) 55%,color-mix(in srgb,var(--bg) 0%,transparent) 100%)}@media (prefers-reduced-motion: reduce){.wall-tag{transition:none}}.hero-copy h1{max-width:14ch}.hero-copy p{max-width:30ch;font-size:var(--step-2)}.install code{display:inline-block;padding:.5rem 1rem;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);color:var(--fg);font-size:var(--step-0)}.btn{display:inline-flex;align-items:center;gap:.4rem;height:34px;padding-inline:.95rem;border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:transparent;color:var(--fg);font:inherit;font-size:var(--step-0);font-weight:500;cursor:pointer;transition:background .15s var(--ease),border-color .15s var(--ease)}.btn:hover{background:var(--surface-hover);border-color:var(--fg-faint)}.btn[aria-pressed=true]{background:var(--fg);border-color:var(--fg);color:var(--bg)}.btn-row{display:flex;flex-wrap:wrap;gap:.5rem}.swatches{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.swatch{display:grid;gap:1rem;justify-items:center;padding:1.75rem 1rem 1.35rem;border:1px solid var(--line);border-radius:var(--radius-md)}.swatch>figcaption{font-size:.8rem;color:var(--fg-muted)}.swatch.mono{background:var(--fg);--face-skin: var(--fg);--face-ink: var(--bg)}.swatch.mono>figcaption{color:color-mix(in srgb,var(--bg) 65%,var(--fg))}.swatch.void{background:var(--surface);--face-skin: var(--bg);--face-ink: var(--fg);--face-ring: var(--line-strong)}.swatch.acid{background:#0a0f0b;--face-skin: #0a0f0b;--face-ink: #b6ff3d;--face-ring: #1d2a1e}.swatch.sky{background:#071018;--face-skin: #071018;--face-ink: #6ec6ff;--face-ring: #14283a}pre{overflow-x:auto;margin:0;padding:1.15rem 1.35rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--fg-muted);line-height:1.7}pre b{color:var(--fg);font-weight:500}.footer{display:grid;gap:1rem;padding-block:2.5rem 4rem;border-top:1px solid var(--line);font-size:var(--step-0);color:var(--fg-faint)}.footer-links{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}.footer-links a{color:var(--fg-muted);transition:color .15s var(--ease)}.footer-links a:hover{color:var(--fg)}.play{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:1.5rem;align-items:start}@media (max-width: 780px){.play{grid-template-columns:1fr}}.play-stage{position:relative;display:grid;place-items:center;min-height:340px;padding:2rem;border:1px solid var(--line);border-radius:var(--radius-lg);transition:background .25s var(--ease)}.play-stage .bwface-host{cursor:pointer}.play-controls{display:grid;gap:1.5rem;align-content:start}.control{display:grid;gap:.6rem}.control>label{font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-faint)}.swatches-row{display:flex;flex-wrap:wrap;gap:1.15rem}.swatch-field{display:inline-flex;align-items:center;gap:.5rem;font-size:var(--step-0);color:var(--fg-muted)}input[type=color]{width:30px;height:30px;padding:0;border:1px solid var(--line-strong);border-radius:50%;background:none;cursor:pointer}input[type=color]::-webkit-color-swatch-wrapper{padding:2px}input[type=color]::-webkit-color-swatch{border:none;border-radius:50%}input[type=color]::-moz-color-swatch{border:none;border-radius:50%}input[type=range]{width:100%;max-width:320px;accent-color:var(--fg);cursor:pointer}.shot-tools{position:absolute;top:.85rem;right:.85rem;display:flex;flex-direction:column;gap:.5rem}.shot-btn{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid currentColor;border-radius:50%;background:transparent;opacity:.6;cursor:pointer;transition:opacity .15s var(--ease),transform .15s var(--ease)}.shot-btn:hover{opacity:1;transform:scale(1.07)}.shot-btn:active{transform:scale(.93)}.shot-btn:disabled{cursor:progress;opacity:.35}.shot-status{position:absolute;left:0;right:0;bottom:.9rem;color:inherit;font-size:.7rem;font-variant-numeric:tabular-nums;letter-spacing:.08em;text-align:center;text-transform:uppercase;opacity:.65;pointer-events:none}.shot-flash{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:#fff;pointer-events:none;animation:shot-flash .42s var(--ease) forwards}@keyframes shot-flash{0%{opacity:.8}to{opacity:0}}.shot-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:var(--gutter);background:color-mix(in srgb,var(--bg) 76%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:shot-fade .18s var(--ease)}@keyframes shot-fade{0%{opacity:0}to{opacity:1}}.shot-card{display:grid;gap:1rem;justify-items:center;width:min(420px,100%);padding:1rem 1rem 1.15rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.shot-card img,.shot-card video{display:block;width:100%;max-height:56vh;object-fit:contain;border-radius:var(--radius-md)}.shot-meta{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-faint)}@media (max-width: 780px){.play-stage{position:sticky;align-content:center;justify-items:center;top:58px;z-index:2;min-height:0;padding:.75rem;border-color:var(--line-strong);box-shadow:0 10px 22px -10px #000000b3}.play-stage .bwface-host{width:clamp(120px,40vw,180px)!important;height:clamp(120px,40vw,180px)!important}.play-controls{padding-bottom:1.5rem}}.fx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem 1.25rem}.fx-knob{display:grid;gap:.15rem;font-size:.75rem;color:var(--fg-faint)}.fx-knob input{max-width:none}.snippet{position:relative;margin-top:1.5rem}@media (max-width: 780px){.snippet pre{overflow-x:auto;font-size:.72rem}}.snippet pre{padding-right:6rem}.snippet-copy{position:absolute;top:.75rem;right:.75rem;height:30px;background:var(--bg)}.way{display:grid;gap:1rem;align-content:start}.way h3{font-size:var(--step-1)}.way pre{margin:0}.demo-row{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(1rem,4vw,2.5rem);margin:1.75rem 0;padding:1.75rem 1rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.demo-cell{display:grid;gap:.75rem;justify-items:center;margin:0;--face-skin: var(--surface);--face-ink: var(--fg);--face-ring: var(--line-strong)}.demo-cell figcaption{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-faint)}.demo-stage{display:grid;justify-items:center;gap:1.25rem;margin:1.75rem 0;padding:2rem 1rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);--face-skin: var(--surface);--face-ink: var(--fg);--face-ring: var(--line-strong)}.demo-stage .btn-row{justify-content:center}.prose{max-width:68ch}.prose h1{margin-bottom:1.25rem}.prose h2{margin:3.5rem 0 1rem}.prose h3{margin:2.25rem 0 .5rem}.prose p+p{margin-top:1rem}.prose p{font-size:1.0625rem}.prose .lede{color:var(--fg-muted)}.prose strong{color:var(--fg);font-weight:600}.prose a{color:var(--fg);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-strong)}.prose a:hover{text-decoration-color:currentColor}.prose pre{margin:1.25rem 0}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;margin:2.5rem 0;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--line);overflow:hidden}.stat-row>div{display:grid;gap:.15rem;padding:1.15rem 1.25rem;background:var(--bg)}.stat-row b{font-size:1.5rem;font-weight:600;letter-spacing:-.02em}.stat-row span{font-size:.8125rem;color:var(--fg-faint)}.colophon{max-width:62ch;margin:0;font-size:var(--step-0);color:var(--fg-faint)}.bwnd-band{display:grid;justify-items:center;gap:.35rem;margin-inline:calc(50% - 50vw);padding:clamp(3rem,8vw,5rem) var(--gutter);background:var(--fg);color:var(--bg);text-align:center;transition:background .2s var(--ease)}.bwnd-band:hover{background:color-mix(in srgb,var(--fg) 88%,var(--bg))}.bwnd-eyebrow{font-size:.75rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;opacity:.6}.bwnd-mark{font-size:clamp(2.5rem,9vw,4.5rem);font-weight:600;letter-spacing:-.04em;line-height:1}.bwnd-motto{font-size:var(--step-1);opacity:.72;max-width:34ch}.footer-brand{margin:0;padding-top:1.15rem;border-top:1px solid var(--line);font-size:var(--step-0);color:var(--fg-muted)}.footer-brand a{color:var(--fg);font-weight:500;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-strong);transition:text-decoration-color .15s var(--ease)}.footer-brand a:hover{text-decoration-color:currentColor}.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem 2.5rem}.note{display:grid;gap:.4rem;padding-top:1rem;border-top:1px solid var(--line)}.note dt{font-size:var(--step-0);font-weight:600}.note dd{margin:0;font-size:var(--step-0);color:var(--fg-muted)}@media (prefers-reduced-motion: reduce){.shot-btn:hover,.shot-btn:active{transform:none}.shot-flash{display:none}.shot-backdrop{animation:none}}@media (pointer: coarse){.btn{height:40px;padding-inline:1.05rem}.shot-btn{width:44px;height:44px}input[type=color]{width:40px;height:40px}input[type=range]{height:34px}}.play-tabs{display:none}@media (max-width: 780px){.play-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:.25rem;width:100%;margin-top:.75rem;padding:.25rem;border:1px solid var(--line-strong);border-radius:999px;background:var(--bg)}.play-tab{min-height:40px;padding:0 .5rem;border:0;border-radius:999px;background:none;color:var(--fg-faint);font:inherit;font-size:.8rem;letter-spacing:.04em;cursor:pointer;transition:background .18s var(--ease),color .18s var(--ease)}.play-tab[aria-selected=true]{background:var(--fg);color:var(--bg)}.play-controls[data-tab]>.control{display:none}.play-controls[data-tab=look]>.control[data-group=look],.play-controls[data-tab=motion]>.control[data-group=motion],.play-controls[data-tab=fx]>.control[data-group=fx],.play-controls[data-tab=poke]>.control[data-group=poke]{display:grid}}
