:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--accent-color: #3b82f6;--accent-hover: #60a5fa;--accent-light: rgba(59, 130, 246, .1);--accent-medium: rgba(59, 130, 246, .2);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .15);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .2);--ease-smooth: cubic-bezier(.4, 0, .2, 1);--section-gap: 160px}[data-theme=dark]{--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--color-border: var(--vt-c-divider-dark-2);--color-border-hover: var(--vt-c-divider-dark-1);--color-heading: var(--vt-c-text-dark-1);--color-text: var(--vt-c-text-dark-2);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .15);--shadow-md: 0 4px 12px rgba(0, 0, 0, .25);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .35);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .5)}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100vh;display:grid;grid-template-columns:1fr;padding:0 1rem;transition:opacity .3s var(--ease-smooth)}@media(min-width:768px){#app{grid-template-columns:1fr 1fr;padding:0 2rem}}#app>div{grid-column:1 / -1;max-width:1280px;width:100%;margin:0 auto;box-sizing:border-box}a,.green{text-decoration:none;color:var(--accent-color);transition:all .3s var(--ease-smooth);padding:3px;border-radius:4px;font-weight:700}a:hover{color:var(--accent-hover);background:var(--accent-light)}button,a,input,textarea,select{min-height:44px}button{min-width:44px}a{display:inline-block;min-height:auto}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px;box-shadow:0 0 0 4px var(--accent-light)}.page-enter-active,.page-leave-active{transition:all .3s var(--ease-smooth)}.page-enter-from{opacity:0;transform:translateY(20px) scale(.98)}.page-leave-to{opacity:0;transform:translateY(-20px) scale(1.02)}.fade-enter-active,.fade-leave-active{transition:opacity .3s var(--ease-smooth)}.fade-enter-from,.fade-leave-to{opacity:0}.slide-enter-active,.slide-leave-active{transition:all .3s var(--ease-smooth)}.slide-enter-from,.slide-leave-to{opacity:0;transform:translateY(-10px)}.theme-toggle[data-v-81a40342]{position:relative;width:60px;height:32px;background:transparent;border:none;border-radius:16px;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.toggle-track[data-v-81a40342]{position:absolute;width:100%;height:100%;background:linear-gradient(90deg,var(--accent-color) 0%,var(--color-background-soft) 100%);border-radius:12px;transition:all .3s ease;box-shadow:inset 0 2px 4px #0000001a}.theme-toggle.dark-mode .toggle-track[data-v-81a40342]{background:linear-gradient(90deg,var(--color-background-soft) 5%,var(--accent-color) 100%);box-shadow:inset 0 2px 4px #0000004d}.toggle-thumb[data-v-81a40342]{position:absolute;top:5px;left:2px;width:34px;height:34px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #00000026}.theme-toggle.dark-mode .toggle-thumb[data-v-81a40342]{left:24px;background:#2d3748;box-shadow:0 2px 8px #0000004d}.icon[data-v-81a40342]{font-size:12px;line-height:1;transition:all .3s ease;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.theme-toggle.dark-mode .icon[data-v-81a40342]{filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.theme-toggle:hover .toggle-track[data-v-81a40342]{transform:scale(1.05);box-shadow:inset 0 2px 4px #00000026}.theme-toggle.dark-mode:hover .toggle-track[data-v-81a40342]{box-shadow:inset 0 2px 4px #0006}.theme-toggle:active .toggle-thumb[data-v-81a40342]{transform:scale(.95)}.theme-toggle[data-v-81a40342]:focus-visible{outline:2px solid var(--color-border-hover);outline-offset:2px}.sr-only[data-v-81a40342]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:768px){.theme-toggle[data-v-81a40342]{width:68px;height:36px}.toggle-thumb[data-v-81a40342]{width:36px;height:36px;top:4px;left:2px}.theme-toggle.dark-mode .toggle-thumb[data-v-81a40342]{left:30px}.icon[data-v-81a40342]{font-size:14px}}.language-switcher[data-v-c04ac83a]{position:relative}.lang-select[data-v-c04ac83a]{appearance:none;background:transparent;border:none;padding:.5rem 1.5rem .5rem .5rem;font-size:1.2rem;color:var(--color-text);cursor:pointer;transition:all .2s var(--ease-smooth);min-height:44px;font-family:inherit;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23777777' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right .25rem center;background-repeat:no-repeat;background-size:1rem;width:auto;max-width:2.5rem}.lang-select[data-v-c04ac83a]{outline:none;max-width:200px}.lang-select option[data-v-c04ac83a]{font-size:1rem;padding:.5rem}.lang-select[data-v-c04ac83a]::-ms-expand{display:none}.lang-select[data-v-c04ac83a]{-moz-appearance:none}[data-theme=dark] .lang-select[data-v-c04ac83a]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23CCCCCC' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")}@media(max-width:767px){.lang-select[data-v-c04ac83a]{font-size:1.1rem;padding:.5rem 1.25rem .5rem .5rem}}header[data-v-9006c8b1]{width:100%;position:fixed;top:0;left:0;background:var(--color-background);z-index:1000;box-shadow:var(--shadow-md)}.content[data-v-9006c8b1]{margin:0 auto;box-sizing:border-box}.header-container[data-v-9006c8b1]{margin:0 auto;padding:.5rem 1rem;display:flex;justify-content:space-between;align-items:center}.left-section[data-v-9006c8b1]{display:flex;align-items:center;gap:.5rem}.logo[data-v-9006c8b1]{width:50px;height:50px}.port-header[data-v-9006c8b1]{font-size:1.5rem;font-weight:900;margin:0;color:var(--color-text)}@media(min-width:768px){.header-container[data-v-9006c8b1]{padding:.75rem 2rem}.left-section[data-v-9006c8b1]{gap:.75rem}.logo[data-v-9006c8b1]{width:100px;height:100px}.port-header[data-v-9006c8b1]{font-size:2.5rem}}.desktop-nav[data-v-9006c8b1]{display:flex;gap:2rem}.right-section[data-v-9006c8b1]{display:flex;align-items:center;gap:.75rem}.desktop-nav a[data-v-9006c8b1]{text-decoration:none;color:var(--color-text);font-size:1.05rem;padding:.25rem .5rem;position:relative;transition:color .2s var(--ease-smooth)}.desktop-nav a[data-v-9006c8b1]:hover{color:var(--accent-hover);font-weight:600}.desktop-nav a[data-v-9006c8b1]:after{content:"";position:absolute;bottom:-4px;left:0;height:2px;width:0%;background:var(--accent-color);transition:width .25s var(--ease-smooth)}.desktop-nav a[data-v-9006c8b1]:hover:after,.desktop-nav a.router-link-exact-active[data-v-9006c8b1]:after{width:100%}.desktop-nav a.router-link-exact-active[data-v-9006c8b1]{color:var(--accent-color);font-weight:600}.mobile-nav[data-v-9006c8b1]{display:none;position:relative}.menu-button[data-v-9006c8b1]{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-text);padding:.75rem;border-radius:8px;transition:all .2s var(--ease-smooth);min-width:44px;min-height:44px}.menu-button[data-v-9006c8b1]:hover{background-color:var(--accent-light);color:var(--accent-color);font-weight:600}.dropdown-menu[data-v-9006c8b1]{position:absolute;top:110%;right:0;background:var(--color-background);box-shadow:var(--shadow-lg);border-radius:8px;padding:.5rem;display:flex;flex-direction:column;gap:.25rem;min-width:160px;animation:fadeIn-9006c8b1 .3s var(--ease-smooth);border:1px solid var(--color-border)}.dropdown-menu a[data-v-9006c8b1]{text-decoration:none;color:var(--color-text);padding:.75rem 1rem;border-radius:6px;transition:all .2s var(--ease-smooth);font-size:1rem;min-height:44px;display:flex;align-items:center}.dropdown-menu a[data-v-9006c8b1]:hover{background-color:var(--accent-light);color:var(--accent-color)}.dropdown-menu a.router-link-exact-active[data-v-9006c8b1]{background-color:var(--accent-medium);color:var(--accent-color);font-weight:600}@media(max-width:768px){.desktop-nav[data-v-9006c8b1]{display:none}.mobile-nav[data-v-9006c8b1]{display:block}.right-section[data-v-9006c8b1]{display:none}.mobile-controls[data-v-9006c8b1]{display:flex;align-items:center;gap:.5rem;padding:.75rem;border-top:1px solid var(--color-border);margin-top:.5rem}}@media(min-width:769px){.mobile-nav[data-v-9006c8b1]{display:none}}@keyframes fadeIn-9006c8b1{0%{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.vim-wrap[data-v-8390944c]{display:grid;width:100%;gap:.75rem;place-items:center}.vim-window[data-v-8390944c]{width:100%;height:50vh;min-height:250px;border-radius:.75rem;overflow:hidden;box-shadow:0 10px 30px #00000040;background:#000;border:1px solid #1f2937}@media(min-width:768px){.vim-window[data-v-8390944c]{height:60vh;min-height:300px}}.vim-title[data-v-8390944c]{background:#0b0b0b;color:#9ca3af;font:500 12px ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;padding:.5rem .75rem;letter-spacing:.08em;border-bottom:1px solid #1f2937}.vim-buffer[data-v-8390944c]{padding:1rem .75rem 1.25rem;min-height:220px;height:calc(100% - 60px);color:#a7f3d0;background:var(--color-background-soft);overflow:auto;-ms-overflow-style:none;scrollbar-width:none}.vim-buffer[data-v-8390944c]::-webkit-scrollbar{display:none}.vim-line[data-v-8390944c],.vim-text[data-v-8390944c]{margin:0;white-space:pre-wrap;font:16px/1.6 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.vim-line[data-v-8390944c]{color:#374151}.vim-text[data-v-8390944c]{color:var(--accent-color)}.cursor[data-v-8390944c]{display:inline-block;width:.6ch;animation:blink-8390944c 1s steps(1) infinite}.cursor.off[data-v-8390944c]{animation:none;opacity:.6}@keyframes blink-8390944c{50%{opacity:0}}.vim-status[data-v-8390944c]{display:grid;grid-template-columns:1fr auto auto;gap:.75rem;align-items:center;padding:.4rem .75rem;color:#e5e7eb;background:#111827;font:12px ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;border-top:1px solid #1f2937}.vim-status .mode.insert[data-v-8390944c]{color:#10b981}.vim-status .pos[data-v-8390944c]{color:#9ca3af}.hint .btn[data-v-8390944c]{display:inline-block;margin-top:.5rem;padding:.6rem 1rem;border-radius:.75rem;background:var(--color-background-soft);color:var(--color-text);text-decoration:none;border:1px solid var(--color-border)}.hint .btn[data-v-8390944c]:hover{filter:brightness(1.1);border:1px solid var(--color-border-hover)}kbd[data-v-8390944c]{background:var(--color-background-soft);border:1px solid var(--color-border);border-radius:4px;padding:.15rem .4rem;margin:0 2px;font-family:inherit;font-size:.9em;font-weight:700;box-shadow:0 1px 1px #0003;color:var(--color-text)}.hint[data-v-8390944c]{text-align:center;padding:1rem;background:var(--color-background-soft, #111);border-radius:.75rem;border:1px solid var(--color-border);width:100%}.hint-controls p[data-v-8390944c]{line-height:1.8;margin-bottom:.5rem;font-size:.95rem}@media(prefers-color-scheme:light){.vim-window[data-v-8390944c]{box-shadow:0 10px 30px #00000026}}.home{min-height:100vh;display:flex;align-items:center;justify-content:center;padding-top:80px;padding-left:1rem;padding-right:1rem;box-sizing:border-box}@media(min-width:768px){.home{padding-top:calc(130px + 2.5em);padding-left:0;padding-right:0}}.rendered-terminal{color:var(--color-text);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Courier New,monospace}.rendered-terminal strong{font-weight:700!important}.terminal-wrapper{height:100%;position:relative;display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%;max-width:1200px}.vim-controls{display:flex;justify-content:flex-end;gap:.5rem;margin-bottom:.5rem;width:100%;max-width:1200px;pointer-events:auto}@media(min-width:768px){.vim-controls{gap:1rem;padding-right:.75rem}}.vim-controls .render-btn{pointer-events:auto}@keyframes jump{0%,to{transform:translateY(0)}25%{transform:translateY(-6px)}50%{transform:translateY(0)}75%{transform:translateY(-3px)}}.render-btn{pointer-events:auto;background:var(--color-background-soft);color:var(--color-text);border:1px solid var(--color-border);padding:.6rem 1rem;border-radius:.6rem;font:13px ui-monospace,monospace;box-shadow:0 4px 112px #0206174d;cursor:pointer;transition:transform .16s ease,filter .16s ease,opacity .16s;opacity:1;min-height:44px;min-width:80px}.render-btn.jump{animation:jump 1s infinite}.render-btn:hover{box-shadow:0 6px 16px #00000040;transform:scale(1.02);border:1px solid var(--color-border-hover)}.render-btn:active{transform:translateY(-1px) scale(.995)}.keyboard-warning{background:#fef3c7;color:#92400e;border:1px solid #fbbf24;border-radius:.5rem;padding:.75rem 1rem;margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between;font-size:.9rem;animation:slideInDown .3s ease-out;position:relative;z-index:40}.close-warning{background:none;border:none;color:#92400e;font-size:1.2rem;cursor:pointer;padding:0;margin-left:1rem;opacity:.7;transition:opacity .2s}.close-warning:hover{opacity:1}@keyframes slideInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-color-scheme:dark){.keyboard-warning{background:#451a03;color:#fef3c7;border-color:#d97706}.close-warning{color:#fef3c7}}
