@font-face{font-family:JetBrains Mono;src:local("JetBrains Mono Regular Italic"),local("JetBrains Mono Italic"),url(../_fonts/Df7M9JXECnQBPeMk0JlWv5oI4E80OSjKvG82PCAX-MI-aXpKyr1n0W6NWbCApKANrm9O50H_fjFMdBzwfTY75iM.woff2) format(woff2);font-display:swap;unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-weight:400;font-style:italic}@font-face{font-family:"JetBrains Mono Fallback: Courier New";src:local("Courier New");size-adjust:99.9837%;ascent-override:102.0166%;descent-override:30.0049%;line-gap-override:0%}@font-face{font-family:"JetBrains Mono Fallback: Roboto Mono";src:local("Roboto Mono");size-adjust:99.9837%;ascent-override:102.0166%;descent-override:30.0049%;line-gap-override:0%}@font-face{font-family:"JetBrains Mono Fallback: Noto Sans Mono";src:local("Noto Sans Mono");size-adjust:100%;ascent-override:102%;descent-override:30%;line-gap-override:0%}@font-face{font-family:JetBrains Mono;src:local("JetBrains Mono Regular Italic"),local("JetBrains Mono Italic"),url(../_fonts/F00Bxq4ciZESODR5suhK3xDWcsQ9RLj9SyZQEevpEsw-BLNEvb6wAcL3fpb4n4d3zVEKUoa2hsUKxxkf3YdvJKc.woff2) format(woff2);font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-weight:400;font-style:italic}@font-face{font-family:JetBrains Mono;src:local("JetBrains Mono Regular Italic"),local("JetBrains Mono Italic"),url(../_fonts/AA0_6TP-Ed9gQINhOsvbweBE3xLQgxmg6pXqHmvCwsM-egZLwYC5qVnfGWql7G5NfYTIiMP1PB_tQWIq5f7S-0k.woff2) format(woff2);font-display:swap;unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;font-weight:400;font-style:italic}@font-face{font-family:JetBrains Mono;src:local("JetBrains Mono Regular Italic"),local("JetBrains Mono Italic"),url(../_fonts/3mk1pEYaO7RuhctnlpKcyb7yjVLICedncSfY13ffbM8-vJidvBvYJRk77_zQIyVpja44ymm1FQTiYKUcM_aD5Sg.woff2) format(woff2);font-display:swap;unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-weight:400;font-style:italic}@font-face{font-family:JetBrains Mono;src:local("JetBrains Mono Regular Italic"),local("JetBrains Mono Italic"),url(../_fonts/3e3wuf-V_7icWvlsSS3Ud6R1mFSymwsfz35VcqiVjOk-jnii4_jMs7YAJOhzZP3bGdrbXGt5dYv8_t_rhpHzpcQ.woff2) format(woff2);font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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-weight:400;font-style:italic}@font-face{font-family:JetBrains Mono;src:local("JetBrains Mono Regular Italic"),local("JetBrains Mono Italic"),url(../_fonts/NwLHmPccLrJlBVGp4QRXOLZaNI0M_K6XuSwyVjpr47g-jl4tqz8gcsgAJDPcbl5roY78zy31I6Rq51WBLpZngFg.woff2) format(woff2);font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:400;font-style:italic}@font-face{font-family:JetBrains Mono;src:local("JetBrains Mono Regular"),local("JetBrains Mono"),url(../_fonts/f3COenLcoezM74LmVz7-HHQTyPKopVoMY6x2syLMzQE-shPZYE7IAjZWz4okT_CWn96WfGzoLhasK43_mhj3CZI.woff2) format(woff2);font-display:swap;unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-weight:400;font-style:normal}@font-face{font-family:JetBrains Mono;src:local("JetBrains Mono Regular"),local("JetBrains Mono"),url(../_fonts/KOrIgK47CByspZJWjOLg8AL2ADg9uFcNjZd9W78jrmM-dU37DP77KwUzMqqldljJHhSe3lJpaSfI9HPfiVAxPOM.woff2) format(woff2);font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-weight:400;font-style:normal}@font-face{font-family:JetBrains Mono;src:local("JetBrains Mono Regular"),local("JetBrains Mono"),url(../_fonts/9IZYb3o3tpRXPqjzNd4r3vIIohLuRBC5-h_ByvqRowU-ZgMUMfi6FcHpaV_ucYIWcBvLG6geajFq70Smps0DAj0.woff2) format(woff2);font-display:swap;unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;font-weight:400;font-style:normal}@font-face{font-family:JetBrains Mono;src:local("JetBrains Mono Regular"),local("JetBrains Mono"),url(../_fonts/bUcXp2ExGsFoCjH4L_AiPGX0TLCAgnqR8nvW7SxSJYQ-kvm9UWc_MFZW_r85yX6uPdzXVmdcUOio_Wb1x_7QdXM.woff2) format(woff2);font-display:swap;unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-weight:400;font-style:normal}@font-face{font-family:JetBrains Mono;src:local("JetBrains Mono Regular"),local("JetBrains Mono"),url(../_fonts/_lyVj3lEzRng_G7gZNcCmL83BnMEos-Hf8bpHLMzGQI-zsVE1T2QbmkXlEbQhs2gb3j3VBOOGhzqyW_ZW_0s3F8.woff2) format(woff2);font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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-weight:400;font-style:normal}@font-face{font-family:JetBrains Mono;src:local("JetBrains Mono Regular"),local("JetBrains Mono"),url(../_fonts/sqxfSu-14RfawvZSbzb3mPoBYaXxmTGIac1Kk0GVk_w-oe_5KiWXPVdvpURHWSiaIjA1N_zLqpjSzmfpwRHr7CQ.woff2) format(woff2);font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-weight:400;font-style:normal}.project-grid[data-v-a4465af6]{display:grid;gap:12px;grid-auto-rows:200px;grid-template-columns:repeat(3,1fr)}.project-card[data-v-a4465af6]{border-radius:15px;cursor:pointer;overflow:hidden;position:relative;transition:transform .3s ease}.project-card[data-v-a4465af6]:hover{transform:translateY(-2px)}.card-wide[data-v-a4465af6]{grid-column:span 2}.card-tall[data-v-a4465af6]{grid-row:span 2}.card-actions[data-v-a4465af6]{display:flex;gap:8px;position:absolute;right:20px;top:20px;transform:translateY(-100px);transition:transform .3s ease;z-index:10}.project-card:hover .card-actions[data-v-a4465af6]{transform:translateY(0)}.action-btn[data-v-a4465af6]{align-items:center;background-color:#fff;border-radius:50%;display:flex;height:24px;justify-content:center;transition:transform .2s ease;width:24px}.action-btn[data-v-a4465af6]:hover{transform:scale(1.1)}.card-info-overlay[data-v-a4465af6]{bottom:0;left:0;padding:24px;position:absolute;z-index:10}.tech-pill[data-v-a4465af6]{background-color:#4dc9b040;border-radius:32px;display:flex;padding:6px 16px}.tech-pill-sm[data-v-a4465af6]{background-color:#4dc9b04d;border-radius:16px;color:#fff;font-family:JetBrains Mono,"JetBrains Mono Fallback: Courier New","JetBrains Mono Fallback: Roboto Mono","JetBrains Mono Fallback: Noto Sans Mono",monospace;font-size:.65rem;padding:2px 8px}.square-info-overlay[data-v-a4465af6]{background:linear-gradient(180deg,transparent,rgba(0,0,0,.85) 70%);border-radius:15px;display:flex;flex-direction:column;inset:0;justify-content:flex-end;opacity:0;padding:16px;position:absolute;transition:opacity .3s ease;z-index:10}.project-card:hover .square-info-overlay[data-v-a4465af6]{opacity:1}.mockup-wide[data-v-a4465af6]{opacity:.7;position:absolute;right:0;top:-20px;transform:translate(25%) rotate(-24deg);transition:opacity .3s ease;z-index:0}.project-card:hover .mockup-wide[data-v-a4465af6]{opacity:.9}.mockup-tall[data-v-a4465af6]{display:flex;gap:16px;opacity:.7;position:absolute;right:-12px;top:-20px;transform:translate(50%) rotate(-30deg);transition:opacity .3s ease;z-index:0}.project-card:hover .mockup-tall[data-v-a4465af6]{opacity:.9}@media(max-width:1024px){.project-grid[data-v-a4465af6]{grid-auto-rows:180px;grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.project-grid[data-v-a4465af6]{grid-auto-rows:200px;grid-template-columns:1fr}.card-wide[data-v-a4465af6]{grid-column:span 1}.card-tall[data-v-a4465af6]{grid-row:span 2}.mockup-wide[data-v-a4465af6]{transform:translate(30%) rotate(-24deg)}.card-info-overlay[data-v-a4465af6]{padding:16px}}
