:root{--base:#191724;--surface:#1f1d2e;--overlay:#26233a;--muted:#6e6a86;--subtle:#908caa;--text:#e0def4;--love:#eb6f92;--gold:#f6c177;--rose:#ebbcba;--pine:#31748f;--foam:#9ccfd8;--iris:#c4a7e7;--highlight-low:#21202e;--highlight-med:#403d52;--highlight-high:#524f67;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:sans-serif;font-weight:400;line-height:1.5}@font-face{font-family:HackBold;src:local(HackBold),url(/fonts/HackNerdFont-Bold.ttf)format("truetype");font-weight:700;font-display:swap}body{background-color:var(--base);min-height:100vh;color:var(--text);flex-direction:column;margin:0;font-family:sans-serif;display:flex}#root,.App{flex-direction:column;flex:1;width:100%;display:flex}#wrapper{flex-direction:column;flex:1;min-height:100vh;display:flex;position:relative}#header{text-align:center;box-sizing:border-box;flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;margin:auto;padding:2em 1em;display:flex}#header hr{width:75%;color:var(--iris);margin:3em}#header .logo svg{color:var(--pine);font-size:2.5rem}#header .content{width:100%}#header .inner{flex-direction:column;align-items:center;width:100%;display:flex}#header h1{color:var(--rose);width:100%;margin:.5em 0;font-family:HackBold,sans-serif;font-size:2.5em}#header h3{color:var(--subtle);width:100%;margin:0;font-family:HackBold,sans-serif;font-size:1.2em}#header nav{width:100%}.nav-button{appearance:none}button{color:var(--base);cursor:pointer;border:none;border-radius:8px;font-family:sans-serif;transition:all .2s}button:hover{font-family:sans-serif;font-weight:550;transform:scale(1.02);box-shadow:0 4px 8px #0003}.nav-buttons{flex-direction:column;align-items:center;gap:1em;width:100%;margin:0;padding:0;list-style:none;display:flex}.nav-button{background-color:var(--foam);width:200px;padding:.8em 1.5em;font-size:1.1em}.nav-button:hover{background-color:var(--iris)}.back-button{background-color:var(--iris);margin-left:auto;padding:.5rem 1rem;font-size:1rem}.back-button:hover{background-color:var(--love)}.download-button{background-color:var(--pine);color:var(--text);border-radius:8px;width:180px;margin:2em;padding:.8em 0;font-size:1.1em}.download-button:hover{background-color:var(--foam);color:var(--base)}#footer{text-align:center;background-color:#0000;margin-top:auto;padding-bottom:2rem}#footer a{color:var(--gold);justify-content:center;align-items:center;transition:all .2s}#footer svg{font-size:1.9em}#footer svg:hover{color:var(--iris);transform:scale(1.2)}#resume,#gallery{box-sizing:border-box;flex-direction:column;flex:1;width:100%;padding:2em 1rem;display:flex}.section-header{justify-content:space-between;align-items:center;width:100%;margin-bottom:2rem;padding:0 1rem;display:flex}.section-header h2{text-align:left;flex-grow:1;margin:0;font-family:HackBold,sans-serif}#resume{flex-direction:column;align-items:center;width:100%;padding:2em;display:flex}#resume article{box-sizing:border-box;flex:1;width:75%;max-width:1200px;padding:0}#resume iframe{background:#fff;border:none;border-radius:8px;width:100%;height:90vh;box-shadow:0 2px 10px #0000001a}#gallery{flex-direction:column;align-items:center;width:100%;padding:2em;display:flex}.image-grid{flex-direction:column;gap:2rem;width:100%;max-width:800px;display:flex}.image-grid figure{flex-direction:column;align-items:center;margin:0;display:flex}.image-grid img{object-fit:contain;cursor:pointer;border-radius:3px;max-width:100%;height:auto;max-height:80vh;transition:all .2s;box-shadow:0 4px 8px #0003}.image-grid img:hover{transform:scale(1.02)}.image-grid figcaption{color:var(--subtle);text-align:center;width:100%;margin-top:.5rem}.camera-group{width:100%;margin:16rem 0}.camera-title{text-align:center;color:var(--rose);margin:1rem;padding:1rem;font-family:HackBold,sans-serif;font-size:1.5rem;position:relative}.camera-title em{color:var(--pine);font-size:.8em}.camera-title:after{content:"";background:var(--gold);width:100px;height:2px;margin:.5rem auto 0;display:block}.image-modal{z-index:1000;background-color:#000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{text-align:center;background-color:#f0f0f0;max-width:99vw;max-height:99vh;padding:.66rem}.modal-content img{max-width:90vw;max-height:95vh}#bg{z-index:-1;background:radial-gradient(circle at center, var(--base) 30%, var(--surface) 100%);width:100%;height:100%;position:fixed;top:0;left:0}
