@font-face { font-family: 'Figtree'; src: url("/assets/assets/fonts/Figtree-Light.ttf") format("truetype"); font-weight: 300; font-style: normal; }

@font-face { font-family: 'Figtree'; src: url("/assets/assets/fonts/Figtree-Regular.ttf") format("truetype"); font-weight: 400; font-style: normal; }

@font-face { font-family: 'Figtree'; src: url("/assets/assets/fonts/Figtree-Medium.ttf") format("truetype"); font-weight: 500; font-style: normal; }

@font-face { font-family: 'Figtree'; src: url("/assets/assets/fonts/Figtree-SemiBold.ttf") format("truetype"); font-weight: 600; font-style: normal; }

@font-face { font-family: 'Figtree'; src: url("/assets/assets/fonts/Figtree-Bold.ttf") format("truetype"); font-weight: 700; font-style: normal; }

@font-face { font-family: 'Figtree'; src: url("/assets/assets/fonts/Figtree-ExtraBold.ttf") format("truetype"); font-weight: 800; font-style: normal; }

@font-face { font-family: 'Figtree'; src: url("/assets/assets/fonts/Figtree-Black.ttf") format("truetype"); font-weight: 900; font-style: normal; }

@font-face { font-family: 'Figtree'; src: url("/assets/assets/fonts/Figtree-LightItalic.ttf") format("truetype"); font-weight: 300; font-style: italic; }

@font-face { font-family: 'Figtree'; src: url("/assets/assets/fonts/Figtree-Italic.ttf") format("truetype"); font-weight: 400; font-style: italic; }

@font-face { font-family: 'Figtree'; src: url("/assets/assets/fonts/Figtree-MediumItalic.ttf") format("truetype"); font-weight: 500; font-style: italic; }

@font-face { font-family: 'Figtree'; src: url("/assets/assets/fonts/Figtree-SemiBoldItalic.ttf") format("truetype"); font-weight: 600; font-style: italic; }

@font-face { font-family: 'Figtree'; src: url("/assets/assets/fonts/Figtree-BoldItalic.ttf") format("truetype"); font-weight: 700; font-style: italic; }

@font-face { font-family: 'Figtree'; src: url("/assets/assets/fonts/Figtree-ExtraBoldItalic.ttf") format("truetype"); font-weight: 800; font-style: italic; }

@font-face { font-family: 'Figtree'; src: url("/assets/assets/fonts/Figtree-BlackItalic.ttf") format("truetype"); font-weight: 900; font-style: italic; }

body { background-color: #fdfdfc; font-family: 'Figtree', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; font-weight: 400; color: #666; margin: 0; padding: 0; font-size: 16px; line-height: 1.6; }

strong, b { color: #111; font-weight: 500; }

h1, h2, h3 { color: #111; line-height: 1.2; margin-top: 0; }

a { color: inherit; text-decoration: none; border-bottom: 1px solid #e5e5e5; transition: all 0.15s ease; }

a:hover { border-color: #999; }

.container { max-width: 640px; margin: 0 auto; padding: 80px 20px; }

.site-header { margin-bottom: 80px; }

.site-header .site-title { font-size: 1rem; font-weight: 500; color: #111; margin-bottom: 4px; text-decoration: none; border-bottom: none; display: block; }

.site-header .site-title:hover { color: #111; border-bottom: none; }

.site-header .site-tagline { font-size: 0.95rem; font-weight: 400; color: #888; line-height: 1.4; }

.spacer { margin-bottom: 80px; }

.project { padding: 20px; margin-left: -20px; margin-right: -20px; border-radius: 8px; transition: background-color 0.15s ease; display: flex; justify-content: space-between; align-items: center; }

.project:hover { background-color: #f9f9f8; }

.project .project-content { flex: 1; }

.project .project-title { font-size: 1rem; font-weight: 500; margin-bottom: 6px; color: #111; }

.project .project-description { margin-bottom: 0; line-height: 1.5; font-size: 0.95rem; margin-right: 100px; }

.project .project-link { color: #666; font-weight: 400; font-size: 0.9rem; border: 1px solid #e5e5e5; display: inline-flex; align-items: center; padding: 6px 10px; border-radius: 20px; transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); background-color: transparent; white-space: nowrap; overflow: hidden; flex-shrink: 0; width: 32px; justify-content: center; }

.project .project-link .link-text { opacity: 0; transition: opacity 0.3s ease; margin-right: 0; width: 0; }

.project .project-link:hover { color: #fff; background-color: #E28413; border-color: #E28413; width: 60px; padding: 6px 16px; }

.project .project-link:hover .link-text { opacity: 1; margin-right: 4px; width: auto; }

.project .view-project { display: flex; align-items: center; flex: 0 0 auto; min-width: 70px; justify-content: flex-end; }

.post-item { margin-bottom: 16px; }

.post-item .post-link { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; border-bottom: 1px solid #f0f0f0; transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); }

.post-item .post-link:hover { border-bottom-color: #E28413; }

.post-item .post-link:hover .post-title { color: #111; }

.post-item .post-link:hover .post-date { color: #E28413; }

.post-item .post-title { font-weight: 400; color: #666; transition: color 0.3s ease; }

.post-item .post-date { font-size: 0.9rem; color: #999; font-weight: 300; transition: color 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); }

.post .post-header { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; border-bottom: 1px solid #f0f0f0; margin-bottom: 40px; }

.post .post-header .post-title { font-size: 1rem; font-weight: 400; color: #666; margin: 0; }

.post .post-header .post-date { font-size: 0.9rem; color: #999; font-weight: 300; }

.post .post-content h1, .post .post-content h2, .post .post-content h3, .post .post-content h4, .post .post-content h5, .post .post-content h6 { margin-top: 2em; margin-bottom: 1em; }

.post .post-content p { margin-bottom: 1.5em; }

.post .post-content code { background-color: #f6f6f5; padding: 2px 6px; border-radius: 4px; font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace; font-size: 0.85em; color: #E28413; font-weight: 400; }

.post .post-content pre { background-color: #191724; border-radius: 8px; padding: 16px 20px; overflow-x: auto; margin-bottom: 1.5em; border: 1px solid #26233a; }

.post .post-content pre code { background-color: transparent; padding: 0; color: #e0def4; font-size: 0.9rem; line-height: 1.5; display: block; }

.post .post-content .highlight pre { background-color: #191724; border: 1px solid #26233a; }

.post .post-content .highlight .c { color: #6e6a86; font-style: italic; }

.post .post-content .highlight .cm { color: #6e6a86; font-style: italic; }

.post .post-content .highlight .cp { color: #6e6a86; font-style: italic; }

.post .post-content .highlight .c1 { color: #6e6a86; font-style: italic; }

.post .post-content .highlight .k { color: #31748f; }

.post .post-content .highlight .kd { color: #31748f; }

.post .post-content .highlight .kn { color: #31748f; }

.post .post-content .highlight .kp { color: #31748f; }

.post .post-content .highlight .kr { color: #31748f; }

.post .post-content .highlight .kt { color: #9ccfd8; }

.post .post-content .highlight .s { color: #f6c177; }

.post .post-content .highlight .sb { color: #f6c177; }

.post .post-content .highlight .sc { color: #f6c177; }

.post .post-content .highlight .sd { color: #f6c177; }

.post .post-content .highlight .s2 { color: #f6c177; }

.post .post-content .highlight .se { color: #f6c177; }

.post .post-content .highlight .sh { color: #f6c177; }

.post .post-content .highlight .si { color: #f6c177; }

.post .post-content .highlight .sx { color: #f6c177; }

.post .post-content .highlight .sr { color: #f6c177; }

.post .post-content .highlight .s1 { color: #f6c177; }

.post .post-content .highlight .ss { color: #f6c177; }

.post .post-content .highlight .n { color: #e0def4; }

.post .post-content .highlight .na { color: #ebbcba; }

.post .post-content .highlight .nb { color: #ebbcba; }

.post .post-content .highlight .nc { color: #9ccfd8; }

.post .post-content .highlight .nd { color: #9ccfd8; }

.post .post-content .highlight .nf { color: #ebbcba; }

.post .post-content .highlight .nn { color: #9ccfd8; }

.post .post-content .highlight .nt { color: #9ccfd8; }

.post .post-content .highlight .nv { color: #eb6f92; }

.post .post-content .highlight .o { color: #908caa; }

.post .post-content .highlight .p { color: #908caa; }

.post .post-content .highlight .m { color: #c4a7e7; }

.post .post-content .highlight .mf { color: #c4a7e7; }

.post .post-content .highlight .mh { color: #c4a7e7; }

.post .post-content .highlight .mi { color: #c4a7e7; }

.post .post-content .highlight .mo { color: #c4a7e7; }

.post .post-content .highlight .il { color: #c4a7e7; }

.site-footer { margin-top: 80px; padding-top: 40px; text-align: center; }

.site-footer .footer-content { font-size: 0.9rem; color: #999; }

.site-footer .footer-text { margin-right: 8px; }

.site-footer .footer-separator { margin: 0 8px; color: #ccc; }

.site-footer .footer-link { color: #666; font-weight: 400; transition: color 0.2s ease; border-bottom: none; }

.site-footer .footer-link:hover { color: #E28413; border-bottom: none; }

.post .post-content pre code[class*="language-"] { background-color: transparent; padding: 0; color: #e0def4; font-size: 0.9rem; line-height: 1.5; display: block; }

img { max-width: 100%; height: auto; }

/*# sourceMappingURL=main.css.map */