:root{--bg:var(--main-light);--fg:var(--main-dark);--surface:var(--white);--on-surface:var(--black);--hover:var(--hover-light);--main-dark:#293132;--main-light:#d9d9d9;--hover-dark:#1982c4;--hover-light:#126fa8;--main-grey:#6c756b;--main-red:#983628;--black:#000;--white:#fff;--github-purple:#6e5494;--linkedin-blue:#0077b5;--navbar-height:56px}:root.dark{--bg:var(--main-dark);--fg:var(--main-light);--surface:var(--black);--on-surface:var(--white);--hover:var(--hover-dark)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg);color:var(--fg);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}html{scroll-behavior:smooth;scroll-padding-top:var(--navbar-height)}body,nav,footer,button{transition:background-color .3s linear,color .3s linear}button{cursor:pointer;border:none;border-radius:8px;font-family:Lucida Sans,Lucida Sans Regular,Lucida Grande,Lucida Sans Unicode,Geneva,Verdana,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}h1,h2,h3,p{text-align:center}.projects-header h2{margin-bottom:0}.projects-header p{margin-top:0}.bio{width:60%;max-width:715px;margin:0 auto}.resume-container{justify-content:center;display:flex}.resume-btn{color:var(--fg);border:2px solid var(--fg);background:0 0;border-radius:8px;align-items:center;gap:8px;padding:12px 24px;text-decoration:none;transition:background-color .3s linear,color .3s linear;display:inline-flex}.resume-btn:hover{color:var(--bg);background-color:var(--fg)}.resume-btn:active{transform:scale(.95)}@media screen and (width<=715px){.bio{box-sizing:border-box;width:100%;max-width:100%;padding:0 12px}.resume-container{box-sizing:border-box;width:100%;padding:0 12px}.resume-btn{box-sizing:border-box;justify-content:center;width:100%}}.about-section{box-sizing:border-box;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding-inline:1.5rem;display:flex}.about-section p,.about-section h3{text-wrap:balance}.about-section h1{margin:0;font-size:4rem}.intro-header h2{margin-bottom:0}.about-icons{justify-content:center;gap:12px;display:flex}.about-section .github-button{color:var(--github-purple)}.about-section .linkedin-button{color:var(--linkedin-blue)}.about-section .github-button:hover,.about-section .linkedin-button:hover{transition:transform .15s;transform:scale(1.04)}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));place-items:stretch center;gap:24px;max-width:1100px;margin:0 auto;display:grid}@media (width<=1000px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.card-grid{grid-template-columns:1fr}}h2{text-wrap:balance}.card{background:var(--surface);cursor:pointer;border:1px solid #ccc;border-radius:8px;width:300px;padding:20px;transition:transform .2s,box-shadow .2s;position:relative;box-shadow:0 2px 8px #0000001a}.card h2{min-height:2.4em;line-height:1.2}.card:hover{transform:scale(1.02)}.card:hover .card-icon{color:var(--hover)}.card-icon,.modal-icon{position:absolute;top:12px;right:12px}.timeframe,.skill{border-radius:15px;padding:5px;font-size:10px}.timeframe{background:var(--bg);position:absolute;top:12px;left:12px}.card-skills{box-sizing:border-box;flex-wrap:wrap;gap:4px;display:flex;position:absolute;bottom:12px;right:12px}.card-details{white-space:pre-line;text-align:left}.modal-overlay{background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:8px;width:400px;max-width:90%;padding:24px;position:relative}.modal-icon:hover{color:var(--main-red);cursor:pointer}.gallery-main{position:relative}.gallery-frame{aspect-ratio:3/2;overflow:hidden}.gallery-frame img{object-fit:contain;width:100%;height:100%}.gallery-btn{width:32px;height:32px;color:var(--fg);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:absolute;top:calc(50% - 16px)}.gallery-btn.prev{left:-18px}.gallery-btn.next{right:-18px}.gallery-btn:hover{opacity:.7}.gallery-btn:disabled{opacity:0;pointer-events:none}.gallery-dots{justify-content:center;gap:6px;display:flex}.gallery-dot{background:var(--main-grey);opacity:.4;cursor:pointer;border:none;border-radius:50%;width:8px;height:8px;padding:0}.gallery-dot.active{opacity:1}.list{text-align:left;margin:.5em 0 .1em;padding-left:.5em;list-style-type:"- "}.list-nested{margin:0;padding-left:1.2em}.skill-frame{box-sizing:border-box;border:2px solid var(--main-grey);background:var(--white);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:80px;height:80px;display:flex}.skill-frame.mini{border:1px solid var(--main-grey);gap:4px;width:30px;height:30px;padding:4px}.skill-frame.regular .icon{width:auto;height:32px}.skill-frame.mini .icon{object-fit:contain;width:100%;height:100%}.skill-frame.regular:hover{cursor:pointer;transform:scale(1.02)}.skill-frame p{color:var(--black);margin:0;font-size:.9em}.skill-frame p.small-name{font-size:11px}.section h2,.section p{margin:0}.job-position,.job-company{text-align:left}.section{width:60%;margin:0 auto 25px}.section:last-child{margin-bottom:0}.section ul{list-style-position:inside}.job-header{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"logo title duration""logo company duration";align-items:start;display:grid}.logo-frame{border:2px solid var(--main-grey);background:var(--white);box-sizing:border-box;border-radius:8px;grid-area:logo;justify-content:center;align-items:center;width:75px;height:50px;margin-right:12px;padding:5px;display:flex}.logo-frame img{object-fit:contain;width:100%;height:100%}.logo-icon{color:var(--black)}.job-position{text-wrap:balance;grid-area:title;font-size:1.5rem}.job-company{grid-area:company}.duration{grid-area:duration}.duration p{text-align:right}.experience-skills{box-sizing:border-box;flex-wrap:wrap;gap:4px;display:flex}@media screen and (width<=715px){.section{box-sizing:border-box;width:100%;padding:0 12px}}@media screen and (width<=500px){.job-header{grid-template-areas:"logo title duration""company company duration";row-gap:4px}.job-position{align-self:center;font-size:1.2rem}}@media screen and (width<=360px){.job-position{font-size:1.1rem}.duration{font-size:.725rem}}.skills{flex-direction:column;gap:1em;width:60%;margin:0 auto;display:flex}.skill-row{justify-content:space-between;gap:2em;display:flex}.skill-section-header{text-align:left;margin:0 auto;padding-bottom:8px}.tile-section{box-sizing:border-box;text-align:left;flex-wrap:wrap;gap:8px;display:flex}@media screen and (width<=715px){.skills{box-sizing:border-box;width:100%;max-width:100%;padding:0 12px}}nav{height:var(--navbar-height);box-sizing:border-box;z-index:100;background-color:var(--bg);justify-content:space-between;align-items:center;padding:0 12px;font-family:Lucida Sans,Lucida Sans Regular,Lucida Grande,Lucida Sans Unicode,Geneva,Verdana,sans-serif;font-size:1.1rem;display:flex;position:fixed;top:0;left:0;right:0}.nav-name,nav a{color:var(--fg)}.nav-name:hover,nav a:hover{color:var(--hover)}.nav-name,nav a{text-decoration:none}.navigation{justify-content:flex-end;align-items:center;gap:20px;margin-left:auto;display:flex}#appearance{background:var(--fg);min-width:125px;color:var(--bg);justify-content:center;align-items:center;gap:10px;padding:10px;font-size:.9rem;display:flex}#appearance:active{transform:scale(.95)}#appearance.web-view{margin-left:10px}.mobile-view,#appearance.mobile-view{cursor:pointer;display:none}.mobile-view{font-size:24px}.mobile-view.icon{min-width:24px}@media screen and (width<=715px){.mobile-view,#appearance.mobile-view{display:flex}#appearance.web-view{display:none}.navigation{top:var(--navbar-height);background:var(--surface);z-index:1000;border:1px solid #ccc;border-radius:8px;flex-direction:column;align-items:flex-start;gap:20px;padding:20px;display:none;position:absolute;right:12px;box-shadow:0 2px 8px #0000001a}.navigation.active{display:flex}}.mode-icon{animation:.3s ease-out icon-in}@keyframes icon-in{0%{opacity:0;filter:blur(4px);transform:scale(.25)}to{opacity:1;filter:blur();transform:scale(1)}}footer{background-color:var(--surface);text-align:center;width:100%;padding:8px 0;font-family:Lucida Sans,Lucida Sans Regular,Lucida Grande,Lucida Sans Unicode,Geneva,Verdana,sans-serif;font-size:.8rem}footer p{margin:0;padding:8px 0 0}.footer-icons{justify-content:center;gap:12px;display:flex}footer .github-button{color:var(--github-purple)}footer .linkedin-button{color:var(--linkedin-blue)}footer .github-button:hover,footer .linkedin-button:hover{transition:transform .15s;transform:scale(1.04)}
