.cursor-grid{width:100%;height:100%;position:relative;overflow:hidden}.cursor-grid__canvas{width:100%;height:100%;display:block}.refine-frame{--rf-w:320px;--rf-aspect:4 / 3;--rf-radius:16px;--rf-bg:#27272a;--rf-ink:#f5f5f5;--rf-stage:.4s;--rf-blur:1.5px;--rf-sat:.8;--rf-scale:1.02;--rf-opacity:.85;--rf-error:#ef4444;--rf-ease-out:cubic-bezier(.23, 1, .32, 1);isolation:isolate;width:min(var(--rf-w), 100%);aspect-ratio:var(--rf-aspect);border-radius:var(--rf-radius);background:var(--rf-bg);color:var(--rf-ink);font-family:inherit;font-size:12px;font-weight:500;line-height:1;position:relative;overflow:hidden}.refine-frame__media{opacity:var(--rf-opacity);filter:blur(var(--rf-blur)) saturate(var(--rf-sat));transform:scale(var(--rf-scale));transition:opacity var(--rf-stage) var(--rf-ease-out), filter var(--rf-stage) var(--rf-ease-out), transform var(--rf-stage) var(--rf-ease-out);position:absolute;inset:0}.refine-frame[data-status=queued] .refine-frame__media{animation:2.4s ease-in-out infinite refine-frame-wait}@keyframes refine-frame-wait{0%,to{opacity:.45}50%{opacity:.65}}.refine-frame__print{width:100%;height:100%;transition:opacity var(--rf-stage) ease}.refine-frame__print>*{object-fit:cover;width:100%;height:100%;display:block}.refine-frame[data-mosaic] .refine-frame__print{opacity:0}.refine-frame[data-resolved] .refine-frame__print{opacity:1}.refine-frame__mosaic{opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity var(--rf-stage) ease;position:absolute;inset:0}.refine-frame[data-mosaic] .refine-frame__mosaic{opacity:1}.refine-frame[data-resolved] .refine-frame__mosaic{opacity:0}.refine-frame__sweep{background:linear-gradient(115deg, transparent 38%, color-mix(in srgb, var(--rf-ink) 14%, transparent) 50%, transparent 62%);opacity:0;pointer-events:none;transition:opacity var(--rf-stage) ease;background-size:260% 100%;position:absolute;inset:0}.refine-frame[data-sweep]:not([data-mosaic]) .refine-frame__sweep{opacity:1;animation:2.2s linear infinite refine-frame-sweep}@keyframes refine-frame-sweep{0%{background-position:130% 0}to{background-position:-130% 0}}.refine-frame__chip{background:color-mix(in srgb, var(--rf-bg) 72%, transparent);-webkit-backdrop-filter:blur(8px);opacity:1;pointer-events:none;height:26px;transition:opacity .2s ease, transform .2s var(--rf-ease-out);border-radius:13px;align-items:center;gap:6px;padding:0 10px 0 8px;display:inline-flex;position:absolute;bottom:10px;left:10px;transform:translateY(0)}@starting-style{.refine-frame__chip{opacity:0;transform:translateY(4px)}}.refine-frame__mark{color:color-mix(in srgb, var(--rf-ink) 80%, transparent);display:inline-flex}.refine-frame__mark[data-kind=spin]{animation:1.1s linear infinite refine-frame-spin}.refine-frame__mark[data-kind=error]{color:var(--rf-error)}@keyframes refine-frame-spin{to{transform:rotate(360deg)}}.refine-frame__label{animation:.2s both refine-frame-label}@keyframes refine-frame-label{0%{opacity:0;filter:blur(2px)}}.refine-frame__retry{background:color-mix(in srgb, var(--rf-ink) 14%, var(--rf-bg));height:32px;color:var(--rf-ink);font:inherit;cursor:pointer;opacity:1;-webkit-tap-highlight-color:transparent;transition:opacity .2s ease, transform .16s var(--rf-ease-out), background-color .15s ease;border:0;border-radius:16px;outline:none;align-items:center;gap:6px;padding:0 14px 0 12px;font-size:13px;font-weight:500;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(1)}@starting-style{.refine-frame__retry{opacity:0;transform:translate(-50%,-50%)scale(.96)}}.refine-frame__retry:active{transform:translate(-50%,-50%)scale(.96)}@media (hover:hover) and (pointer:fine){.refine-frame__retry:hover{background:color-mix(in srgb, var(--rf-ink) 20%, var(--rf-bg))}}.refine-frame__sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.refine-frame__media{transition:opacity var(--rf-stage) ease}.refine-frame[data-sweep] .refine-frame__sweep{opacity:0;animation:none}.refine-frame[data-status=queued] .refine-frame__media,.refine-frame__mark[data-kind=spin]{animation:none}.refine-frame__chip,.refine-frame__retry{transition:opacity .2s}.refine-frame__retry:active{transform:translate(-50%,-50%)}}
