/*! tailwindcss v2.2.17 | MIT License | https://tailwindcss.com*/

/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */html{-webkit-text-size-adjust:100%;line-height:1.15;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji;margin:0}hr{color:inherit;height:0}abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=submit],button{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}button{background-color:transparent;background-image:none}fieldset,ol,ul{margin:0;padding:0}ol,ul{list-style:none}html{line-height:1.5}body{font-family:inherit;line-height:inherit}*,:after,:before{border:0 solid}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{color:inherit;line-height:inherit;padding:0}code,kbd,pre,samp{font-family:JetBrains Mono,Fira Code,Consolas,monospace}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}*,:after,:before{--tw-border-opacity:1;border-color:#e5e7eb;border-color:rgba(229,231,235,var(--tw-border-opacity))}.visible{visibility:visible}.static{position:static}.inline{display:inline}.flex{display:flex}.table{display:table}.flex-shrink{flex-shrink:1}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(0) translateY(0) rotate(0) skewX(0) skewY(0) scaleX(1) scaleY(1);transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.border{border-width:1px}.font-mono{font-family:JetBrains Mono,Fira Code,Consolas,monospace}*,:after,:before{--tw-shadow:0 0 transparent;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 transparent;--tw-ring-shadow:0 0 transparent}.transition{transition-duration:.15s;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--bg:#000;--t1:#e4e4e7;--t2:#a1a1aa;--t3:#71717a;--t4:#52525b;--t5:#3f3f46;--bd:hsla(0,0%,100%,.07);--bd2:hsla(0,0%,100%,.05);--hover:#fff}html.light{--bg:#fafafa;--t1:#18181b;--t2:#27272a;--t3:#52525b;--t4:#71717a;--t5:#a1a1aa;--bd:rgba(0,0,0,.08);--bd2:rgba(0,0,0,.05);--hover:#000}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;color:#e4e4e7;color:var(--t1);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;scroll-behavior:smooth;transition:background-color .2s ease,color .2s ease}body,html{background-color:#000;background-color:var(--bg)}*,:after,:before{box-sizing:border-box;margin:0}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:#000;background:var(--bg)}::-webkit-scrollbar-thumb{background:#3f3f46;background:var(--t5);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#71717a;background:var(--t3)}a{color:#52525b;color:var(--t4);transition:color .15s ease-in-out}a:hover{color:#fff;color:var(--hover)}a:focus{outline:none}.layout-enter-active,.layout-leave-active,.page-enter-active,.page-leave-active{transition:opacity .4s ease}.layout-enter,.layout-leave-active,.page-enter,.page-leave-active{opacity:0}.dot-grid{background-image:radial-gradient(hsla(0,0%,100%,.035) 1px,transparent 0);background-size:26px 26px}.section-label{color:#22d3ee;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase}.section-label,.skill-pill{font-family:JetBrains Mono,monospace}.skill-pill{background:rgba(34,211,238,.06);border:1px solid rgba(34,211,238,.15);border-radius:4px;color:#94a3b8;display:inline-block;font-size:.72rem;font-weight:500;margin:3px 3px 3px 0;padding:3px 10px;transition:all .15s ease}.skill-pill:hover{background:rgba(34,211,238,.12);border-color:rgba(34,211,238,.35);color:#22d3ee}.principle-pill{background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.07);border-radius:4px;color:#64748b;display:inline-block;font-size:.78rem;font-weight:500;margin:3px 4px 3px 0;padding:4px 12px}.glow-cyan{box-shadow:0 0 24px rgba(34,211,238,.18),0 0 48px rgba(34,211,238,.08)}.social-icon[data-v-245b3a79]{align-items:center;color:var(--t5);display:flex;justify-content:center;transition:color .15s ease,transform .15s ease}.social-icon[data-v-245b3a79]:hover{color:var(--t2);transform:translateY(-2px)}.icon[data-v-245b3a79]{height:18px;width:18px}.toggle[data-v-597ca304]{align-items:center;background:transparent;border:1px solid var(--bd);border-radius:6px;color:var(--t4);cursor:pointer;display:flex;flex-shrink:0;height:32px;justify-content:center;transition:color .15s ease,border-color .15s ease;width:32px}.toggle[data-v-597ca304]:hover{border-color:var(--t5);color:var(--t1)}.scroll-top[data-v-522121fa]{align-items:center;background:var(--bg);border:1px solid var(--bd);border-radius:8px;bottom:28px;color:var(--t4);cursor:pointer;display:flex;height:36px;justify-content:center;opacity:.8;position:fixed;right:28px;transition:color .15s ease,border-color .15s ease,opacity .15s ease;width:36px;z-index:50}.scroll-top[data-v-522121fa]:hover{border-color:var(--t5);color:var(--t1);opacity:1}.site[data-v-2605317c]{background:var(--bg);min-height:100vh}.shell[data-v-2605317c]{margin:0 auto;max-width:680px;padding:0 24px}.nav[data-v-2605317c]{align-items:center;border-bottom:1px solid var(--bd);display:flex;justify-content:space-between;margin-bottom:64px;padding:28px 0}.nav-logo[data-v-2605317c]{color:var(--t1);font-size:.82rem;font-weight:600;letter-spacing:.02em;-webkit-text-decoration:none;text-decoration:none;transition:color .15s ease}.nav-logo[data-v-2605317c]:hover{color:var(--hover)}.nav-right[data-v-2605317c]{gap:20px}.nav-links[data-v-2605317c],.nav-right[data-v-2605317c]{align-items:center;display:flex}.nav-links[data-v-2605317c]{gap:24px}.nav-link[data-v-2605317c]{color:var(--t4);font-size:.82rem;-webkit-text-decoration:none;text-decoration:none;transition:color .15s ease}.nav-link[data-v-2605317c]:hover{color:var(--t1)}.nuxt-link-exact-active[data-v-2605317c]{color:var(--t2)!important}.main[data-v-2605317c]{min-height:60vh}.footer[data-v-2605317c]{align-items:center;border-top:1px solid var(--bd);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:80px;padding:36px 0 28px}.footer-copy[data-v-2605317c]{color:var(--t5);font-size:.7rem;letter-spacing:.04em}@media (max-width:480px){.nav-links[data-v-2605317c]{gap:16px}}