.projects-grid{display:grid;gap:1.5rem;margin:25px 0;grid-template-columns:1fr}@media (min-width: 640px) and (max-width: 1023px){.projects-grid{grid-template-columns:repeat(2, 1fr)}}@media (min-width: 1024px){.projects-grid{grid-template-columns:repeat(3, 1fr)}}.project-tile{display:flex;flex-direction:column;border:1px solid var(--accent-color);padding:1.25rem;background:color-mix(in srgb, var(--text-color) 3%, rgba(0,0,0,0));font-family:"Fira Code",Monaco,Consolas,"Ubuntu Mono",monospace;transition:background .15s linear,border-color .15s linear}.project-tile:hover{background:color-mix(in srgb, var(--accent-color) 8%, rgba(0,0,0,0));border-color:color-mix(in srgb, var(--accent-color) 150%, var(--text-color))}.project-tile__header{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin-bottom:.75rem}.project-tile__title{font-size:calc(var(--font-size)*1.15);margin:0;width:100%}.project-tile__title a{color:var(--accent-color);text-decoration:none;word-break:break-word}.project-tile__title a:hover{text-decoration:underline}.project-tile__title a:focus-visible{outline:1px solid var(--accent-color);outline-offset:2px}.project-tile__language{display:inline-block;padding:.25rem .5rem;border-radius:3px;background:color-mix(in srgb, var(--accent-color) 25%, rgba(0,0,0,0));color:var(--text-color);font-size:calc(var(--font-size)*.85);white-space:nowrap;flex-shrink:0;border:1px solid color-mix(in srgb, var(--accent-color) 50%, rgba(0,0,0,0))}.project-tile__description{flex:1;line-height:1.6;color:var(--text-color);margin:0 0 1rem 0;font-size:var(--font-size)}.project-tile__description--empty{color:var(--footnote-color);font-style:italic}.project-tile__footer{display:flex;gap:1rem;margin-top:auto;padding-top:.75rem;border-top:1px solid color-mix(in srgb, var(--accent-color) 30%, rgba(0,0,0,0))}.project-tile__stat{display:inline-flex;align-items:center;gap:.25rem;color:var(--text-color);font-size:calc(var(--font-size)*.9)}