@font-face{font-family:HelveticaBold;src:url(/assets/Helvetica-Bold-5fUkqpUs.woff2) format("woff2"),url(/assets/Helvetica-Bold-f9sPcipv.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Helvetica;src:url(/assets/Helvetica-CTQTbuhf.woff2) format("woff2"),url(/assets/Helvetica-20SXhLvR.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:HelveticaBoldTilted;src:url(/assets/Helvetica-BoldOblique-BeRYAkE0.woff2) format("woff2"),url(/assets/Helvetica-BoldOblique-CMUlcbia.woff) format("woff");font-weight:700;font-style:italic;font-display:swap}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}*{margin:0;padding:0;box-sizing:border-box;font-family:HelveticaBold,Inter,system-ui,sans-serif}#loading-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#111;display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .5s ease}#loading-screen.fade-out{opacity:0;pointer-events:none}#loading-screen .loader-wrapper{width:100%;height:100%;background:#333;border-radius:5px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;position:relative}#loading-screen .loader-wrapper .loader-bar{width:100%;height:0%;background:#fcfcfc;transition:height .2s ease;transform-origin:bottom}#loading-screen .loader-wrapper .loader-text{font-family:HelveticaBold,serif;position:absolute;top:50%;color:#000;font-size:10rem;margin-top:10px}#tutorial-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000d9;display:none;align-items:center;justify-content:center;z-index:8888;opacity:1;transition:opacity .5s ease;cursor:pointer}#tutorial-overlay.fade-out{opacity:0;pointer-events:none}#tutorial-overlay .tutorial-content{background:#f5e6df;padding:2.5rem;border-radius:16px;max-width:600px;width:90%;box-shadow:0 10px 40px #0000004d;animation:slideIn .5s ease}#tutorial-overlay .tutorial-title{font-family:HelveticaBold,serif;font-size:2rem;color:#333;margin:0 0 1.5rem;text-align:center}#tutorial-overlay .tutorial-section{margin-bottom:1.5rem}#tutorial-overlay .tutorial-section.mobile-controls{display:none}#tutorial-overlay .control-item{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding:.75rem;background:#ffffff80;border-radius:8px;transition:transform .2s ease}#tutorial-overlay .control-item:hover{transform:translate(5px)}#tutorial-overlay .control-item .control-icon{font-size:2rem;min-width:2.5rem;text-align:center}#tutorial-overlay .control-item .control-text{display:flex;flex-direction:column;gap:.25rem}#tutorial-overlay .control-item .control-text strong{font-family:HelveticaBold,serif;color:#333;font-size:1rem}#tutorial-overlay .control-item .control-text span{color:#666;font-size:.9rem}#tutorial-overlay .tutorial-hint{text-align:center;font-style:italic;color:#777;margin:1.5rem 0 0;font-size:1rem}#tutorial-overlay .tutorial-dismiss{text-align:center;color:#999;margin:.5rem 0 0;font-size:.85rem;opacity:.8}@keyframes slideIn{0%{transform:translateY(-30px);opacity:0}to{transform:translateY(0);opacity:1}}.is-phone #tutorial-overlay .tutorial-section.desktop-controls{display:none}.is-phone #tutorial-overlay .tutorial-section.mobile-controls{display:block}.is-phone #tutorial-overlay .tutorial-content{padding:2rem}.is-phone #tutorial-overlay .tutorial-title{font-size:1.5rem}.is-phone #tutorial-overlay .control-item .control-icon{font-size:1.5rem;min-width:2rem}.is-phone #tutorial-overlay .control-item .control-text strong{font-size:.9rem}.is-phone #tutorial-overlay .control-item .control-text span{font-size:.8rem}.is-phone #tutorial-overlay .tutorial-hint{font-size:.9rem}.is-phone #tutorial-overlay .tutorial-dismiss{font-size:.8rem}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#experience{position:fixed;height:100%;width:100%;top:0;left:0;overflow:hidden}#experience #experience-canvas{height:100%;width:100%;z-index:2}#experience .sunny-side{position:absolute;top:3vh;right:3vw}.modal-container{display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;width:100vw;height:100vh}.profile-image{width:200px;height:200px;border-radius:50%;object-fit:cover;margin-bottom:1px}p{font-size:1.3rem}.is-phone p{font-size:1rem}.modal{font-family:Helvetica,serif;line-height:1.3;position:fixed;width:90%;padding:2rem;max-height:80vh;max-width:700px;transition:background-color .3s ease,transform .2s;z-index:999;display:none;background-color:#f5e6df;border-radius:12px;box-shadow:0 2px 6px #00000026;overflow:hidden;white-space:normal}.modal .modal-title{font-family:HelveticaBold,serif;font-size:30px}.modal .modal-title.night{color:#ffd294}.modal.night{transition:background-color .3s ease,transform .2s;background-color:#222}.modal .modal-content{color:#32312d;display:flex;flex-direction:column;align-items:center;gap:1rem;overflow-y:auto;overflow-x:hidden;word-wrap:break-word;white-space:normal;padding:1rem;max-height:calc(80vh - 4rem)}.modal .modal-content.night{color:#f1f1f1}.project-content{width:100%;padding:.5rem}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;width:100%;margin-top:1rem}.project-card{display:flex;flex-direction:column;background:#ffffff80;border-radius:12px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;box-shadow:0 2px 6px #0000001a}.project-card:hover{transform:translateY(-5px);box-shadow:0 6px 12px #0003}.project-card a{display:flex;flex-direction:column;width:100%;text-decoration:none;color:inherit}.project-card .project-image{width:100%;height:180px;object-fit:cover;display:block}.project-card .project-info{padding:1rem;display:flex;flex-direction:column;gap:.5rem}.project-card .project-title{font-family:HelveticaBold,serif;font-size:1.2rem;color:#333;margin:0;line-height:1.3}.project-card .project-description{font-size:.9rem;color:#555;line-height:1.4;margin:0}.project-card .project-tech{font-size:.8rem;color:#777;font-style:italic;margin:0}.modal.night .project-card{background:#323232cc}.modal.night .project-card .project-title{color:#ffd294}.modal.night .project-card .project-description{color:#ddd}.modal.night .project-card .project-tech{color:#aaa}.is-phone .project-grid{grid-template-columns:1fr;gap:1rem}.is-phone .project-card .project-image{height:150px}.is-phone .project-card .project-info{padding:.75rem}.is-phone .project-card .project-title{font-size:1rem}.is-phone .project-card .project-description{font-size:.85rem}.is-phone .project-card .project-tech{font-size:.75rem}.pageAlign{display:flex;flex-direction:row;gap:2%;align-items:center;justify-content:center;margin:1rem auto;height:100%}.uniform-image{position:relative;justify-content:center;align-items:center;width:100%;object-fit:cover;border-radius:12px;box-shadow:0 2px 6px #00000026}.image-container{position:relative;display:flex;justify-content:center;align-items:center}.image-container .uniform-image{z-index:0;position:relative;justify-content:center;align-items:center;width:100%;height:25vh;object-fit:cover;border-radius:12px;box-shadow:0 2px 6px #00000026;transition:opacity .3s ease}.image-container .overlay-text{opacity:0;position:absolute;z-index:1;background:#0009;color:#fff;height:100%;padding:.5rem 1rem;border-radius:8px;font-weight:700;transition:.3s ease;pointer-events:none}.image-container:hover .uniform-image{opacity:.7}.image-container:hover .overlay-text{opacity:1}.is-phone .image-container .uniform-image{height:17vh}.first-line,.second-line{display:flex;flex:1;flex-direction:column;border-radius:12px;gap:1rem;height:100%}.modal-exit-button{position:absolute;top:1rem;right:1rem;width:3rem;height:3rem;font-weight:700;border:none;border-radius:12px;background-color:#e83e3e;color:#fff;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;padding:0;box-shadow:0 2px 6px #00000026;transition:background-color .3s ease,transform .2s}.modal-exit-button img{width:1.8rem;height:1.8rem;filter:brightness(0) invert(1);color:#fff}.modal-exit-button:hover{background-color:#d9363e;transform:scale(1.05)}.download-button{position:absolute;top:1rem;right:5rem;width:3rem;height:3rem;border:none;border-radius:12px;background-color:#3e6ee8;cursor:pointer;display:flex;align-items:center;justify-content:center;overflow-x:visible;box-shadow:0 2px 6px #00000026;transition:background-color .3s ease,transform .2s}.download-button:hover{background-color:#3e5ae8;transform:scale(1.05)}.download-button .download-icon{top:1rem;right:5rem;width:2rem;height:2rem;border-radius:12px;cursor:pointer;overflow-x:visible}.sunny-side{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;background-color:#ef8f41;border-radius:12px;border:none;box-shadow:0 2px 6px #00000026;transition:background-color .3s ease,transform .2s}.sunny-side:hover{background-color:#ea9a69;transform:scale(1.05)}.sunny-side.night{transition:background-color .5s ease,transform .2s;background-color:#284095}.sunny-side .brightness-icon{width:70%;height:70%}.resume-modal{overflow-x:visible}.resume-image{width:100%;height:100%;object-fit:cover;margin-bottom:1px}.resume-content{overflow-x:visible;overflow-y:auto;max-height:calc(80vh - 4rem)}.modal-content::-webkit-scrollbar{width:17px}.modal-content::-webkit-scrollbar-track{background:#fec097;border-radius:8px}.modal-content::-webkit-scrollbar-thumb{background:#da7702;border-radius:8px}.modal-content::-webkit-scrollbar-thumb:hover{background:#555}.resume-content::-webkit-scrollbar{width:17px}.resume-content::-webkit-scrollbar-track{background:#fec097;border-radius:8px}.resume-content::-webkit-scrollbar-thumb{background:#da7702;border-radius:8px}.resume-content::-webkit-scrollbar-thumb:hover{background:#555}
