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