@keyframes react-loading-skeleton{to{transform:translate(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);width:100%;border-radius:.25rem;display:inline-flex;line-height:1;position:relative;-webkit-user-select:none;user-select:none;overflow:hidden}.react-loading-skeleton:after{content:" ";display:var(--pseudo-element-display);position:absolute;top:0;left:0;right:0;height:100%;background-repeat:no-repeat;background-image:var( --custom-highlight-background, linear-gradient( 90deg, var(--base-color) 0%, var(--highlight-color) 50%, var(--base-color) 100% ) );transform:translate(-100%);animation-name:react-loading-skeleton;animation-direction:var(--animation-direction);animation-duration:var(--animation-duration);animation-timing-function:ease-in-out;animation-iteration-count:infinite}@media(prefers-reduced-motion){.react-loading-skeleton{--pseudo-element-display: none}}@tailwind base;@tailwind components;@tailwind utilities;html{@apply dark;}body,#root{min-height:100vh;background-color:#000;color:#fff}.blinking-cursor{animation:blink 1s steps(2,start) infinite}@keyframes blink{to{visibility:hidden}}@keyframes slide-in-left{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slide-in-right{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slide-out-right{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@keyframes slide-out-left{0%{transform:translate(0);opacity:1}to{transform:translate(-100%);opacity:0}}.animate-slide-in-left{animation:slide-in-left .6s ease-out forwards}.animate-slide-in-right{animation:slide-in-right .6s ease-out forwards}.animate-slide-out-right{animation:slide-out-right .4s ease-in forwards}.animate-slide-out-left{animation:slide-out-left .4s ease-in forwards}.projects{padding:4rem 1.5rem 5rem}.projects__container{max-width:1120px;margin:0 auto}.section__title{font-size:2.25rem;font-weight:700;text-align:center;margin-bottom:2.5rem}.section__title .blue{color:#60a5fa}.projects__section-title{font-size:1.25rem;font-weight:600;margin:3rem 0 1.5rem}.projects__cards,.web-projects-grid{display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:768px){.projects__cards,.web-projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.web-projects-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.project-block{position:relative;display:flex;flex-direction:column;background:#020617;border-radius:1.5rem;border:1px solid rgba(148,163,184,.4);box-shadow:0 0 32px #0f172acc;overflow:hidden}.project-block--featured{border-color:#22c55ecc;box-shadow:0 0 40px #22c55e4d}.project-block--ux{border-color:#3b82f6b3}.project-badge-featured{position:absolute;top:1.25rem;left:1.25rem;padding:.35rem .75rem;border-radius:999px;font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;background:linear-gradient(90deg,#22c55e,#4ade80);color:#020617;font-weight:600}.project-badge-ux{background:linear-gradient(90deg,#38bdf8,#6366f1)}.project-image-container{width:100%;background:#020617;padding:1.25rem 1.25rem 0}.project-image-container.placeholder{padding:3.5rem 1.25rem}.project-image-simple{width:100%;border-radius:1rem;display:block}.project-simple-info{padding:1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column;height:100%}.project-simple-title{font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.project-simple-desc{font-size:.9rem;color:#cbd5f5;line-height:1.6;margin-bottom:.75rem}.project-timeline{font-size:.75rem;color:#9ca3af;margin-bottom:.75rem}.project-simple-links{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.9rem}.project-simple-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .9rem;border-radius:999px;font-size:.75rem;text-transform:uppercase;letter-spacing:.16em;background:#22c55e;color:#020617;font-weight:600}.project-simple-btn svg{font-size:.8rem}.project-simple-btn-github{background:#020617;color:#e5e7eb;border:1px solid rgba(148,163,184,.6)}.project-simple-btn--ux{background:#38bdf8;color:#020617}.project-simple-tags{display:flex;flex-wrap:wrap;gap:.4rem}.project-simple-tag{padding:.3rem .7rem;border-radius:999px;font-size:.7rem;background:#0f172ae6;color:#e5e7eb}.project-simple-tag--ux{background:#2563eb2e;color:#bfdbfe}.project-block--loading{min-height:260px;padding:1.25rem;border-radius:1.5rem;background:#020617;border:1px solid rgba(148,163,184,.3)}
