.vim-playground:where(.astro-lzffx25x){margin:1.75rem 0;--vim-mono: var( --__sl-font-mono, ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace )}.vim-pg-card:where(.astro-lzffx25x){border:1px solid var(--sl-color-hairline);border-radius:12px;background:var(--sl-color-black);overflow:hidden;transition:border-color .15s ease}.vim-pg-card:where(.astro-lzffx25x):focus-within{border-color:color-mix(in srgb,var(--sl-color-accent) 55%,transparent)}.vim-pg-header:where(.astro-lzffx25x){display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.4rem .5rem .4rem .85rem;border-bottom:1px solid var(--sl-color-hairline);background:color-mix(in srgb,var(--sl-color-white) 3%,transparent)}.vim-pg-title:where(.astro-lzffx25x){display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:color-mix(in srgb,var(--sl-color-white) 78%,transparent);white-space:nowrap}.vim-pg-glyph:where(.astro-lzffx25x){font-size:.9rem;line-height:1;color:color-mix(in srgb,var(--sl-color-accent) 90%,var(--sl-color-white))}.vim-pg-tools:where(.astro-lzffx25x){display:flex;align-items:center;gap:.45rem;min-width:0}.vim-pg-keys:where(.astro-lzffx25x){font-family:var(--vim-mono);font-size:.72rem;color:color-mix(in srgb,var(--sl-color-white) 55%,transparent);letter-spacing:.04em;min-width:0;max-width:9ch;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;opacity:0;transition:opacity .18s ease}.vim-pg-keys:where(.astro-lzffx25x).is-active{opacity:1}.vim-pg-reg:where(.astro-lzffx25x){display:inline-flex;align-items:center;gap:.3rem;max-width:18ch;padding:.15rem .45rem;border:1px solid var(--sl-color-hairline);border-radius:7px;background:color-mix(in srgb,var(--sl-color-white) 4%,transparent);font-family:var(--vim-mono);font-size:.72rem;line-height:1.4}.vim-pg-reg-label:where(.astro-lzffx25x){color:color-mix(in srgb,var(--sl-color-white) 50%,transparent);white-space:nowrap}.vim-pg-reg-val:where(.astro-lzffx25x){color:color-mix(in srgb,var(--sl-color-white) 85%,transparent);max-width:11ch;overflow:hidden;white-space:pre;text-overflow:ellipsis}.vim-pg-reg-val:where(.astro-lzffx25x).is-empty{color:color-mix(in srgb,var(--sl-color-white) 35%,transparent)}.vim-pg-reg-lw:where(.astro-lzffx25x){padding:0 .25rem;border-radius:4px;font-size:.62rem;font-weight:700;letter-spacing:.05em;color:var(--sl-color-black);background:color-mix(in srgb,var(--sl-color-accent) 80%,var(--sl-color-white))}.vim-pg-reset:where(.astro-lzffx25x){flex:none;padding:.2rem .6rem;border:1px solid var(--sl-color-hairline);border-radius:7px;background:transparent;color:color-mix(in srgb,var(--sl-color-white) 72%,transparent);font-size:.72rem;font-weight:500;cursor:pointer;transition:color .15s ease,border-color .15s ease,background-color .15s ease}.vim-pg-reset:where(.astro-lzffx25x):hover{color:var(--sl-color-accent);border-color:color-mix(in srgb,var(--sl-color-accent) 50%,transparent);background:color-mix(in srgb,var(--sl-color-accent) 8%,transparent)}.vim-pg-editor:where(.astro-lzffx25x){height:var(--vim-height, 280px);overflow:hidden}.vim-pg-editor:where(.astro-lzffx25x) .cm-editor{height:100%;background:transparent;font-family:var(--vim-mono)}.vim-pg-editor:where(.astro-lzffx25x) .cm-editor.cm-focused{outline:none!important}.vim-pg-editor:where(.astro-lzffx25x) .cm-scroller{overflow:auto;font-family:var(--vim-mono)}.vim-pg-editor:where(.astro-lzffx25x) .cm-gutters{background:transparent;border-right:1px solid var(--sl-color-hairline);color:var(--sl-color-gray-4)}.vim-pg-editor:where(.astro-lzffx25x) .cm-content{caret-color:var(--sl-color-accent)}.vim-pg-editor:where(.astro-lzffx25x) .cm-fat-cursor .cm-cursor,.vim-pg-editor:where(.astro-lzffx25x) .cm-cursor.cm-fat-cursor{background:color-mix(in srgb,var(--sl-color-accent) 70%,transparent);border:none;color:var(--sl-color-black)}.vim-pg-editor:where(.astro-lzffx25x) .cm-editor:not(.cm-focused) .cm-fat-cursor{background:none;outline:1px solid color-mix(in srgb,var(--sl-color-accent) 55%,transparent);outline-offset:-1px}.vim-pg-editor:where(.astro-lzffx25x) .cm-vim-panel{padding:.2rem .65rem;border-top:1px solid var(--sl-color-hairline);background:transparent;font-family:var(--vim-mono);font-size:12px;line-height:1.5;color:color-mix(in srgb,var(--sl-color-white) 55%,transparent)}.vim-pg-editor:where(.astro-lzffx25x) .cm-vim-panel input,.vim-pg-editor:where(.astro-lzffx25x) .cm-vim-message{font-family:var(--vim-mono);font-size:12px;color:color-mix(in srgb,var(--sl-color-white) 72%,transparent);background:transparent;border:none;outline:none}.vim-pg-editor:where(.astro-lzffx25x) .cm-vim-panel input{width:100%}.vim-pg-caption:where(.astro-lzffx25x){margin:.55rem .15rem 0;font-size:.8rem;color:color-mix(in srgb,var(--sl-color-white) 60%,transparent)}.vim-pg-touch:where(.astro-lzffx25x){display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.6rem;padding:.4rem .65rem;border:1px solid color-mix(in srgb,var(--sl-color-accent) 28%,transparent);border-radius:8px;background:color-mix(in srgb,var(--sl-color-accent) 6%,transparent);font-size:.78rem;color:color-mix(in srgb,var(--sl-color-white) 78%,transparent)}.vim-pg-touch-dismiss:where(.astro-lzffx25x){flex:none;border:none;background:transparent;color:inherit;font-size:1rem;line-height:1;cursor:pointer;opacity:.7}.vim-pg-touch-dismiss:where(.astro-lzffx25x):hover{opacity:1}.vim-pg-challenges:where(.astro-lzffx25x){list-style:none;margin:.85rem 0 0;padding:0;display:flex;flex-direction:column;gap:.4rem}.vim-pg-challenge:where(.astro-lzffx25x){display:flex;align-items:flex-start;gap:.6rem;margin:0;padding:.55rem .7rem;border:1px solid var(--sl-color-hairline);border-left:2px solid var(--sl-color-hairline);border-radius:9px;background:transparent;transition:background-color .25s ease,border-color .25s ease}.vim-pg-challenge:where(.astro-lzffx25x).is-solved{background:color-mix(in srgb,var(--sl-color-accent) 6%,transparent);border-color:color-mix(in srgb,var(--sl-color-accent) 22%,transparent);border-left-color:color-mix(in srgb,var(--sl-color-accent) 70%,transparent)}.vim-pg-dot:where(.astro-lzffx25x){flex:none;width:14px;height:14px;margin-top:.2rem;border:1.5px solid var(--sl-color-gray-4);border-radius:50%;position:relative;transition:border-color .25s ease,background-color .25s ease}.vim-pg-challenge:where(.astro-lzffx25x).is-solved .vim-pg-dot:where(.astro-lzffx25x){border-color:var(--sl-color-accent);background:var(--sl-color-accent)}.vim-pg-challenge:where(.astro-lzffx25x).is-solved .vim-pg-dot:where(.astro-lzffx25x):after{content:"";position:absolute;left:4px;top:1px;width:3px;height:6px;border:solid var(--sl-color-black);border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.vim-pg-cbody:where(.astro-lzffx25x){flex:1;min-width:0}.vim-pg-prompt:where(.astro-lzffx25x){font-size:.875rem;line-height:1.5;color:color-mix(in srgb,var(--sl-color-white) 88%,transparent)}.vim-pg-prompt:where(.astro-lzffx25x) code{font-family:var(--vim-mono);font-size:.82em;padding:.05em .35em;border-radius:5px;background:color-mix(in srgb,var(--sl-color-white) 8%,transparent)}.vim-pg-cactions:where(.astro-lzffx25x){display:flex;gap:.5rem;margin-top:.3rem}.vim-pg-toggle:where(.astro-lzffx25x){padding:0;border:none;background:transparent;color:color-mix(in srgb,var(--sl-color-accent) 90%,var(--sl-color-white));font-size:.74rem;font-weight:500;cursor:pointer;opacity:.85}.vim-pg-toggle:where(.astro-lzffx25x):hover{opacity:1;text-decoration:underline}.vim-pg-hint:where(.astro-lzffx25x){margin:.4rem 0 0;font-size:.8rem;color:color-mix(in srgb,var(--sl-color-white) 65%,transparent)}.vim-pg-solution:where(.astro-lzffx25x){margin:.4rem 0 0}.vim-pg-solution:where(.astro-lzffx25x) kbd{font-family:var(--vim-mono);font-size:.78rem;padding:.12em .5em;border:1px solid var(--sl-color-hairline);border-bottom-width:2px;border-radius:6px;background:color-mix(in srgb,var(--sl-color-white) 6%,transparent);color:color-mix(in srgb,var(--sl-color-white) 90%,transparent)}@media(prefers-reduced-motion:no-preference){.vim-pg-challenge:where(.astro-lzffx25x).is-glow{animation:vim-pg-glow .9s ease}@keyframes vim-pg-glow{0%{box-shadow:0 0 color-mix(in srgb,var(--sl-color-accent) 45%,transparent)}to{box-shadow:0 0 0 8px transparent}}}
