:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light only;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{max-width:100%;overflow-x:hidden}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.home-container{box-sizing:border-box;text-align:center;padding:0 clamp(0px,5vw,80px);max-width:1200px;margin:0 auto}.top-right-buttons{position:absolute;top:clamp(1rem,2vw,1.5rem);right:clamp(1rem,2vw,1.5rem);display:flex;gap:.8rem;z-index:10}.top-left-buttons{position:absolute;top:clamp(1rem,2vw,1.5rem);left:clamp(1rem,2vw,1.5rem);display:flex;gap:1rem}.single-top-right-button{background-color:#1e1e1e;color:#fff;padding:clamp(.5rem,1.15vw,.7rem) clamp(.8rem,2vw,1.2rem);border-radius:clamp(10px,2vw,15px);text-decoration:none;font-size:clamp(.9rem,2vw,1.2rem);font-weight:500;transition:background-color .2s ease,transform .1s ease;display:flex;align-items:center}.single-top-left-button{background-color:#1e1e1e;color:#fff;padding:clamp(.6rem,1.7vw,.85rem) clamp(.7rem,2vw,1rem);border-radius:clamp(10px,2vw,16px);text-decoration:none;font-size:clamp(.9rem,2vw,1.2rem);font-weight:500;transition:background-color .2s ease,transform .1s ease;display:flex;align-items:center}.single-top-right-button:hover,.single-top-left-button:hover{color:#fff;background-color:#333;transform:translateY(-2px);box-shadow:0 8px 12px #00000026}h1{color:#333;font-family:Bungee Shade,sans-serif;font-weight:600;font-size:clamp(2rem,5vw,3.2rem)}p{color:#666;font-family:Ubuntu,sans-serif;font-weight:400;font-size:clamp(1rem,2vw,1.3em)}.banner-grid{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:clamp(15px,3vw,30px);padding:20px 0;justify-items:center;margin-top:2rem}.home-banner{background-color:transparent;border-radius:20px;width:100%;max-width:450px;aspect-ratio:1 / 1;box-shadow:0 4px 6px #0000001a;display:flex;text-decoration:none;color:inherit;transition:transform .3s ease,box-shadow .3s ease;overflow:hidden}.home-banner:hover{transform:translateY(-10px);box-shadow:0 0 20px #5556}.home-banner-image{width:100%;height:100%;object-fit:cover;border-radius:20px}@media (max-width: 700px){.home-container h1{padding:25px 0 0;margin-top:clamp(2rem,8vw,3.5rem);font-size:clamp(1.5rem,8vw,2.5rem)}.banner-grid{grid-template-columns:1fr;gap:30px;padding:0}.home-banner{aspect-ratio:1 / 1;margin:0 auto}}.projects-page{overflow-y:auto;box-sizing:border-box;padding:15px clamp(0px,1vw,15px);max-width:1200px;margin:0 auto}.project-banner{background-color:#f8f8f800;border:1px solid #ddd;border-radius:25px;padding:20px;max-width:800px;margin-bottom:30px;box-shadow:0 4px 6px #0000001a;display:flex;align-items:flex-start;text-decoration:none;color:inherit;transition:transform .3s ease,box-shadow .3s ease;overflow:hidden}.project-banner-no-link{background-color:#f8f8f800;border:1px solid #ddd;border-radius:25px;padding:20px;max-width:800px;margin-bottom:30px;box-shadow:0 2px 3px #0000000d;display:flex;align-items:flex-start;text-decoration:none;color:inherit;transition:transform .3s ease,box-shadow .3s ease;cursor:default}.project-banner:hover{color:#000;transform:translateY(-2px);box-shadow:0 8px 15px #00000026}.project-banner-image{max-width:150px;max-height:150px;object-fit:cover;border-radius:18px;margin-right:30px}.project-banner-content{text-align:left;flex:1}.project-banner-content h2{color:#333;font-family:Ubuntu,sans-serif}.project-banner-content p{color:#555;font-size:1em;margin-right:10px}.divider-with-text{display:flex;align-items:center;text-align:center;margin:2rem 0}.divider-with-text:before,.divider-with-text:after{content:"";flex:1;border-bottom:1px solid #ccc}.divider-with-text:not(:empty):before{margin-right:.75em}.divider-with-text:not(:empty):after{margin-left:.75em}.divider-with-text span{color:#666;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}@media (max-width: 500px){.project-banner{border:1px solid #ccc;flex-direction:column;align-items:center;text-align:center;padding:30px 20px 15px}.project-banner-no-link{flex-direction:column;align-items:center;text-align:center;padding:30px 20px 15px}.project-banner:hover{transform:none;box-shadow:0 4px 6px #0000001a;color:inherit}.project-banner-image{margin-right:0;margin-bottom:20px}.project-banner-content{width:100%}.project-banner-content h2{margin-top:0;font-size:1.5rem}.project-banner-content p{margin-right:0;font-size:1rem}}.photos-page{overflow-y:auto;box-sizing:border-box;padding:15px clamp(0px,1vw,15px);font-family:sans-serif;max-width:1200px;margin:0 auto}.photo-row{display:grid;margin-bottom:20px;gap:clamp(20px,3vw,40px);justify-content:center}.photo-row-2{grid-template-columns:repeat(2,1fr)}.photo-row-3{grid-template-columns:repeat(3,.6fr)}.photo-card{display:flex;flex-direction:column;align-items:center}.photo-wrapper{max-width:500px;max-height:500px;border-radius:16px;overflow:hidden;box-shadow:0 4px 10px #0000001a}.photo-wrapper img{width:100%;height:100%;object-fit:cover;display:block}.photo-caption{margin-top:10px;font-size:1rem;color:#555;text-align:center}@media (max-width: 700px){.photo-row-2,.photo-row-3{grid-template-columns:1fr;gap:15px}.photo-wrapper{max-width:100%;max-height:none}}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.single-project-page{padding:15px clamp(0px,1vw,15px);max-width:900px;margin:0 auto;line-height:1.7;color:#eaeaea;align-self:flex-start;width:100%}.single-project-page h1{color:#333;font-family:Ubuntu,sans-serif}.single-project-page h2{margin-bottom:16px;color:#333}.single-project-page p{text-align:justify}.code{background-color:#f4f4f4;padding:2px 5px;border-radius:4px;font-family:monospace;color:#333}.project-screenshot-section{display:flex;flex-wrap:wrap;margin-top:30px;margin-bottom:30px;justify-content:center}.project-screenshots-image{max-width:800px;width:100%;height:auto;border:1px solid #ddd;border-radius:15px;overflow:hidden;box-shadow:0 4px 12px #0000001a}.project-page-button{background-color:#1e1e1e;color:#fff;padding:clamp(.5rem,1.15vw,.7rem) clamp(.8rem,2vw,1.2rem);border-radius:clamp(10px,2vw,16px);text-decoration:none;font-size:clamp(.9rem,2vw,1.2rem);font-weight:500;margin-bottom:10px;transition:background-color .2s ease,transform .1s ease;display:inline-flex;align-items:center}.project-page-button svg{margin-right:clamp(.2rem,2vw,.6rem);font-size:clamp(1.2rem,3vw,1.6rem)}.project-page-button:hover{color:#fff;background-color:#333;transform:translateY(-2px);box-shadow:0 8px 12px #00000026}
