@import url(https://unpkg.com/@tailwindcss/typography@0.2.x/dist/typography.min.css);@import url(https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css);@import url(https://fonts.googleapis.com/css2?family=Amatic+SC:wght@700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap);:root{--lang-color:#18181b;--lang-background:#fff;--text-shadow:#fff;--selection-shade:#bddafd;--accent-1:#07a;--accent-2:#690;--accent-3:#905;--accent-4:#df9306;--hue-1:#ffffff80;--hue-2:#999;--hue-3:crimson}.dark{--lang-color:#fff;--lang-background:#18181ba4;--text-shadow:#18181b;--selection-shade:#333;--accent-1:#4ab7ff;--accent-2:#b4f72f;--accent-3:#06fafa;--accent-4:#f5a207;--hue-1:#0000;--hue-2:#fff;--hue-3:#c26af5}code[class*=language-],pre[class*=language-]{word-wrap:normal;background:none;color:#18181b;color:var(--lang-color);font-family:var(--gitlabmono),Monaco,"Andale Mono","Ubuntu Mono",monospace;font-size:.83rem;font-weight:200;hyphens:none;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;line-height:1.5;tab-size:4;text-align:left;text-shadow:0 1px #fff;text-shadow:0 1px var(--text-shadow);white-space:pre;word-break:normal;word-spacing:normal}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{background:#bddafd;background:var(--selection-shade);text-shadow:none}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{margin:.5em 0;overflow:auto;padding:1rem}:not(pre)>code[class*=language-],pre[class*=language-]{background:#fff;background:var(--lang-background)}:not(pre)>code[class*=language-]{border-radius:.3em;padding:.1em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999;color:var(--hue-2)}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905;color:var(--accent-3)}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690;color:var(--accent-2)}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{background:#ffffff80;background:var(--hue-1);color:#9a6e3a}.token.atrule,.token.attr-value,.token.keyword{color:#07a;color:var(--accent-1)}.token.class-name,.token.function{color:crimson;color:var(--hue-3)}.token.important,.token.regex,.token.variable{color:#df9306;color:var(--accent-4)}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}pre[data-line]{padding:1em 0 1em 3em;position:relative}.line-highlight{background:#997a6614;background:linear-gradient(90deg,#997a661a 70%,#997a6600);left:0;line-height:inherit;margin-top:1em;padding-bottom:inherit;padding-left:0;padding-right:0;padding-top:inherit;pointer-events:none;position:absolute;right:0;white-space:pre}.line-highlight:before,.line-highlight[data-end]:after{background-color:#997a6666;border-radius:999px;box-shadow:0 1px #fff;color:#f5f2f0;content:attr(data-start);font:700 65%/1.5 sans-serif;left:.6em;min-width:1em;padding:0 .5em;position:absolute;text-align:center;text-shadow:none;top:.4em;vertical-align:.3em}.line-highlight[data-end]:after{bottom:.4em;content:attr(data-end);top:auto}.line-numbers .line-highlight:after,.line-numbers .line-highlight:before{content:none}@tailwind base;@tailwind components;@tailwind utilities;html{scroll-behavior:smooth}body{background-image:url(/static/media/noise.56af95d40084f094eb73.png);background-position:0 0;background-size:200px 200px}h1,h2,h3,h4{font-family:var(--incognito),"Inter",sans-serif}.path{stroke-dasharray:500px 100px;animation:animate 100s linear infinite alternate-reverse}@keyframes animate{0%{stroke-dashoffset:0}to{stroke-dashoffset:12433.8193359375}}.cursive{font-family:Amatic SC,cursive;font-weight:700}.prose img{border-radius:5px;margin-left:auto;margin-right:auto}@font-face{font-family:Incognito_bold;font-style:normal;font-weight:800;src:url(/static/media/incognito_bold.56bed54fe63a393a1702.woff2) format("woff2")}@font-face{font-family:Incognito_regular;font-style:normal;font-weight:400;src:url(/static/media/incognito_regular.d12f682d43cdf307800b.woff2) format("woff2")}@font-face{font-family:GitLabMono_mono;font-style:normal;font-weight:300;src:url(/static/media/gitlab-mono.ac7c64627e5e2701eac7.woff2) format("woff2")}@font-face{font-family:incognito_medium;font-style:normal;font-weight:600;src:url(/static/media/incognito_medium.793e270c559610d2ba3b.woff2) format("woff2")}.inter{font-style:normal;font-weight:400}.bold-text,.inter{font-family:Inter,sans-serif}.bold-text{font-weight:800}.light-text{font-family:Inter,sans-serif;font-weight:300}@media (min-width:1024px){#home-main{margin-left:128px;margin-right:128px}}@keyframes react-loading-skeleton{to{transform:translateX(100%)}}.react-loading-skeleton{--base-color:#ebebeb;--highlight-color:#f5f5f5;--animation-duration:1.5s;--animation-direction:normal;--pseudo-element-display:block;background-color:var(--base-color);border-radius:.25rem;display:inline-flex;line-height:1;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none;width:100%}.react-loading-skeleton:after{animation-direction:var(--animation-direction);animation-duration:var(--animation-duration);animation-iteration-count:infinite;animation-name:react-loading-skeleton;animation-timing-function:ease-in-out;background-image:linear-gradient(90deg,var(--base-color) 0,var(--highlight-color) 50%,var(--base-color) 100%);background-image:var(
    --custom-highlight-background,linear-gradient(90deg,var(--base-color) 0,var(--highlight-color) 50%,var(--base-color) 100%)
  );background-repeat:no-repeat;content:" ";display:var(--pseudo-element-display);height:100%;left:0;position:absolute;right:0;top:0;transform:translateX(-100%)}@media (prefers-reduced-motion){.react-loading-skeleton{--pseudo-element-display:none}}.projects-grid-responsive{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}@media (max-width:900px){.projects-grid-responsive{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.projects-grid-responsive{gap:14px;grid-template-columns:1fr}}@media (max-width:1200px){.project-card{gap:12px;padding:12px}}@media (max-width:900px){.project-card__title{font-size:16px}.project-card__tagline{font-size:13px}}@media (max-width:800px){.project-card__fallback{height:48px;min-height:48px;min-width:48px;width:48px}}@media (max-width:700px){.project-card{align-items:center;flex-direction:row;gap:10px}.project-card__fallback{margin-bottom:0;margin-right:12px}}@media (max-width:600px){.project-card{border-radius:6px;padding:10px}.project-card__title{font-size:15px}.project-card__tagline{font-size:12px}}.project-card{align-items:center;background:#fafafa;border:1px solid #eee;border-radius:8px;color:inherit;display:flex;gap:16px;padding:16px;text-decoration:none;transition:border .2s,box-shadow .2s,transform .2s}.project-card:hover{border:1.5px solid #b3b3ff;box-shadow:0 4px 24px 0 #5050ff1a;transform:translateY(-4px) scale(1.025)}.project-card__logo{background:#f3f3f3;object-fit:contain}.project-card__fallback,.project-card__logo{border-radius:8px;height:60px;padding:8px;width:60px}.project-card__fallback{align-items:center;background:#fafafa;display:flex;font-size:32px;justify-content:center}.project-card__title{font-size:18px;font-weight:700;margin-bottom:4px}.project-card__tagline{color:#888;font-size:14px}.project-detail-back-btn{align-items:center;border:1.5px solid #0000;border-radius:8px;box-shadow:none;color:#52525b;cursor:pointer;display:inline-flex;font-family:inherit;font-size:16px;font-weight:500;gap:6px;outline:none;padding:8px 18px 8px 10px;transition:background .15s,border .15s,color .15s}.project-detail-back-btn:focus,.project-detail-back-btn:hover{background:#f3f4f6;border-color:#a1a1aa;color:#3f3f46}.project-detail-link-btn{align-items:center;border:1.5px solid #0000;border-radius:8px;box-shadow:none;color:#52525b;cursor:pointer;display:inline-flex;font-family:inherit;font-size:16px;font-weight:500;gap:6px;outline:none;padding:8px 18px 8px 10px;text-decoration:none;transition:background .15s,border .15s,color .15s}.project-detail-link-btn:focus,.project-detail-link-btn:hover{background:#f3f4f6;border-color:#a1a1aa;color:#3f3f46}.project-detail-header-row{flex-wrap:nowrap;width:100%}.project-detail-header-row,.project-detail-links{align-items:center;display:flex;gap:16px}@media (max-width:600px){.project-detail-header-row{align-items:flex-start;display:block;flex-direction:column;.project-detail-title{display:block;margin-left:auto!important;margin-right:auto!important;min-width:0!important;overflow:visible!important;text-align:center!important;text-overflow:clip!important;white-space:normal!important;width:100%}}.project-detail-links{flex-direction:row;gap:16px;justify-content:center;margin-bottom:0;margin-top:4px;width:100%}}.project-detail-title{font-size:2.2rem;margin-left:0;margin-right:0;text-align:left}@media (min-width:1024px){.project-detail-title{font-size:3rem}}.blog-post-nav{margin:0 auto;max-width:1200px;padding:30px 20px 30px 0}.back-link{align-items:center;background:#ffffff0d;border:1px solid #0000;border-radius:8px;color:#52525b;display:inline-flex;font-weight:600;padding:10px 16px;text-decoration:none;transition:all .3s ease}.back-link:hover{background:#f3f4f6;border-color:#a1a1aa;color:#27272a;transform:translateY(-2px)}.back-link i{font-size:14px}.project-detail-image{margin:0 0 2rem;width:100%}.project-detail-content{color:#333;font-size:1.08rem;line-height:1.7;margin-bottom:2rem}.project-detail-content h2,.project-detail-content h3,.project-detail-content h4{color:#2d2d2d;font-weight:600;margin-bottom:1rem;margin-top:2rem}.project-detail-content ol,.project-detail-content ul{margin-bottom:1rem;margin-left:1.5rem}.project-detail-content img{border-radius:8px;margin:1.5rem 0;max-width:100%}.project-detail-content a{color:#6366f1;text-decoration:underline;word-break:break-all}.project-detail-content pre{background:#f6f8fa;border-radius:6px;margin:1.5rem 0;overflow-x:auto;padding:1rem}
/*# sourceMappingURL=main.4d3e22c5.css.map*/