@font-face{font-family:Anonymous Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a07e19359becce02-s.33d929b5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Anonymous Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d958f88ea6d8156f-s.a8ee64bb.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Anonymous Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a5ec43b3302f3558-s.3bb55ba5.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Anonymous Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/acecb4e547bb43b8-s.p.5ed851f3.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Anonymous Pro;font-style:normal;font-weight:700;font-display:swap;src:url(../media/18b0d3f2e17e9032-s.9c49b46f.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Anonymous Pro;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2c6e20f826b046f5-s.19407856.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Anonymous Pro;font-style:normal;font-weight:700;font-display:swap;src:url(../media/397e805cd1f98a9f-s.22ec23cc.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Anonymous Pro;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e138829f7bb6ac49-s.p.983e1cf2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Anonymous Pro Fallback;src:local(Arial);ascent-override:66.79%;descent-override:14.87%;line-gap-override:0.0%;size-adjust:122.45%}.anonymous_pro_70e9fc54-module__ACh5Fa__className{font-family:Anonymous Pro,Anonymous Pro Fallback;font-style:normal}.anonymous_pro_70e9fc54-module__ACh5Fa__variable{--font-anonymous-pro:"Anonymous Pro","Anonymous Pro Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid}}}.absolute{position:absolute}.relative{position:relative}.container{width:100%}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}:root{--bg-primary:#fff;--bg-secondary:#f7fafc;--text-primary:#1a202c;--text-secondary:#4a5568;--text-muted:#718096;--border-color:#718096;--link-color:#456666;--card-hover-bg:#f7fafc;--card-hover-text:#285e5e}.dark{--bg-primary:#1a202c;--bg-secondary:#2d3748;--text-primary:#f7fafc;--text-secondary:#cbd5e0;--text-muted:#a0aec0;--border-color:#4a5568;--link-color:#81e6d9;--card-hover-bg:#2d3748;--card-hover-text:#81e6d9}body{margin:0;padding:0;transition:background-color .2s,color .2s;background:var(--bg-primary)!important;color:var(--text-primary)!important}.theme-toggle-wrapper{z-index:100;position:fixed;top:40px;right:48px}.layout{min-height:100vh;font-family:var(--font-anonymous-pro),monospace;grid-template-columns:160px 1fr;display:grid}.sidebar{flex-direction:column;height:100vh;padding:40px 24px;display:flex;position:sticky;top:0}.sidebar-nav{flex-direction:column;flex:1;justify-content:center;gap:16px;font-size:14px;display:flex}.sidebar-nav a{color:var(--text-primary);text-decoration:none;transition:color .2s}.sidebar-nav a:hover{color:var(--link-color)}.sidebar-bottom{flex-direction:column;gap:12px;font-size:14px;display:flex}.sidebar-bottom a{color:var(--link-color);text-decoration:none}.sidebar-bottom a:hover{text-decoration:underline}.copyright{color:var(--text-muted);margin-top:8px;font-size:12px}.main-content{padding:40px 80px 40px 48px}@media (max-width:768px){.layout{grid-template-columns:1fr}.sidebar{flex-direction:row;justify-content:space-between;align-items:center;height:auto;padding:24px;position:relative}.sidebar-nav{flex-flow:wrap;flex:0;justify-content:flex-start;gap:16px}.sidebar-bottom{display:none}.main-content{padding:24px}.theme-toggle-wrapper{top:24px;right:24px}}.heading{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.profile-img{background:var(--bg-secondary)}.card{border:2px solid var(--border-color);background:0 0;transition:all .15s}.card:hover{background:var(--card-hover-bg);color:var(--card-hover-text)}.card-muted{background:var(--bg-secondary)}a,.link{color:var(--link-color);text-decoration:none;transition:all .1s}a:hover,.link:hover{text-decoration:underline}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{border:2px solid var(--text-muted);border-top-color:#0000;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin;display:inline-block}.journal-section{border-left:2px solid var(--border-color);padding-left:24px}.journal-heading{color:var(--text-primary);text-transform:lowercase}.journal-content{color:var(--text-secondary)}.project-card{border:2px solid var(--text-primary);background:0 0;border-radius:8px;transition:all .15s}.project-card:hover{background:var(--card-hover-bg);border-color:var(--link-color)}.project-card:hover h2{color:var(--card-hover-text)}.language-tag{color:var(--text-muted);border:1px solid var(--border-color);border-radius:4px;flex-shrink:0;padding:2px 8px}.site-footer{border-top:1px solid var(--border-color);color:var(--text-muted);margin-top:80px;padding-top:24px;font-size:13px}.site-footer a{color:var(--link-color)}.gallery-masonry{column-count:3;column-gap:16px}@media (max-width:768px){.gallery-masonry{column-count:2}}@media (max-width:480px){.gallery-masonry{column-count:1}}.gallery-item{break-inside:avoid;background:0 0}.gallery-item:hover img{transform:scale(1.05)}.gallery-overlay{color:#fff;opacity:0;background:linear-gradient(#0000,#000000b3);padding:12px;transition:opacity .3s;position:absolute;bottom:0;left:0;right:0}.gallery-item:hover .gallery-overlay{opacity:1}.lightbox{z-index:1000;cursor:pointer;background:#000000e6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox-content{cursor:default;position:relative}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
