:root{--navy: #0A192F;--light-navy: #112240;--lightest-navy: #233554;--slate: #8892b0;--light-slate: #a8b2d1;--lightest-slate: #ccd6f6;--white: #e6f1ff;--accent: #57cbff;--font-sans: "Inter", sans-serif;--transition: all .25s cubic-bezier(.645, .045, .355, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--navy);color:var(--slate);font-family:var(--font-sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{display:flex;flex-direction:column;min-height:100vh}main{padding:0 150px;margin:0 auto;width:100%;max-width:1600px;min-height:100vh}section{padding:100px 0;opacity:0;transform:translateY(20px);transition:opacity .5s ease-out,transform .5s ease-out}section.is-visible{opacity:1;transform:translateY(0)}h1,h2,h3,h4{color:var(--lightest-slate);font-weight:600}h1,h2,h3{margin-bottom:20px}.section-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:40px}.section-header .section-title{margin-bottom:0}.section-title{display:flex;align-items:center;font-size:2rem;margin-bottom:40px;white-space:nowrap}.section-title:after{content:"";display:block;position:relative;top:2px;width:300px;height:1px;margin-left:20px;background-color:var(--lightest-navy)}.btn{display:inline-block;padding:1rem 1.75rem;border-radius:4px;font-size:.875rem;font-weight:500;text-decoration:none;cursor:pointer;transition:var(--transition)}.btn-primary{color:var(--accent);background-color:transparent;border:1px solid var(--accent)}.btn-primary:hover{background-color:#57cbff1a}.main-header{display:flex;justify-content:space-between;align-items:center;padding:0 50px;height:100px;position:fixed;top:0;width:100%;z-index:10;transition:var(--transition)}.main-header.scrolled{height:70px;background-color:#0a192fd9;box-shadow:0 10px 30px -10px #020c1bb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.logo{font-size:1.5rem;font-weight:700;color:var(--accent);border:2px solid var(--accent);width:42px;height:42px;display:flex;justify-content:center;align-items:center;border-radius:50%}.main-nav ul{display:flex;list-style:none}.main-nav li{margin:0 15px;font-size:.875rem}.main-nav a{color:var(--lightest-slate);text-decoration:none;transition:var(--transition)}.main-nav a:hover{color:var(--accent)}.mobile-nav-toggle{display:none}.hero-section{display:flex;justify-content:center;flex-direction:column;min-height:100vh;padding:0}.hero-content{max-width:1000px}.hero-title{font-size:clamp(40px,8vw,80px);margin:0}.hero-description{max-width:540px;margin-top:30px;margin-bottom:50px;font-size:20px;color:var(--light-slate)}.about-content{display:grid;grid-template-columns:3fr 2fr;gap:50px;align-items:flex-start}.about-text p{margin-bottom:15px}.about-image{position:relative;max-width:300px}.about-image img{width:100%;border-radius:4px;object-fit:cover;aspect-ratio:1}.about-image:after{content:"";display:block;position:absolute;width:100%;height:100%;border:2px solid var(--accent);border-radius:4px;top:15px;left:15px;z-index:-1;transition:var(--transition)}.about-image:hover:after{top:10px;left:10px}.cv-section .cv-category,.projects-section .project-category{margin-bottom:50px}.cv-section .cv-category-title,.projects-section .project-category-title{font-size:1.5rem;color:var(--light-slate);margin-bottom:25px;padding-bottom:10px;border-bottom:1px solid var(--lightest-navy)}.cv-section .cv-entry{margin-bottom:25px;max-width:800px}.cv-section .cv-entry:last-child{margin-bottom:0}.cv-section .cv-entry-header{display:flex;justify-content:space-between;align-items:baseline;gap:20px}.cv-section .cv-entry h4{font-size:1.1rem;color:var(--lightest-slate);margin-bottom:0}.cv-section .cv-entry-header span{font-size:.9rem;color:var(--slate);flex-shrink:0;text-align:right}.cv-section .cv-entry>p,.cv-section .cv-entry>ul{margin-top:10px}.cv-section .cv-entry p{font-size:1rem;line-height:1.5}.cv-section .cv-entry ul{padding-left:20px;list-style-position:outside}.cv-section .cv-entry li{margin-bottom:8px;font-size:1rem;line-height:1.5}.cv-section .cv-skills-list{display:flex;flex-wrap:wrap;gap:10px;max-width:800px}.cv-section .cv-skills-list span{background-color:var(--lightest-navy);color:var(--accent);padding:5px 12px;border-radius:4px;font-size:.85rem;margin:0}.research-grid,.project-grid{display:grid;grid-template-columns:1fr;gap:25px}.writing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:25px}.research-card,.writing-card,.project-card{background-color:var(--light-navy);padding:2rem 1.75rem;border-radius:4px;transition:var(--transition);position:relative}.research-card{cursor:pointer}.research-card:hover,.writing-card:hover,.project-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px -15px #020c1bb3}.research-title,.writing-title,.project-title{font-size:1.3rem;margin-bottom:10px}.research-title a,.writing-title a,.project-title a{color:var(--lightest-slate);text-decoration:none;transition:var(--transition)}.research-card .research-title a{cursor:pointer}.research-card:hover .research-title a,.writing-title a:hover,.project-title a:hover{color:var(--accent)}.research-description,.writing-description,.project-description{font-size:.95rem;margin-bottom:15px}.research-tags,.writing-tags,.project-tags{display:flex;flex-wrap:wrap;list-style:none;padding:0;margin-top:20px;font-size:.8rem}.research-tags li,.writing-tags li,.project-tags li{margin-right:15px;margin-bottom:5px;background-color:var(--lightest-navy);color:var(--accent);padding:5px 10px;border-radius:15px}.tools-description{color:var(--light-slate);margin-bottom:30px;max-width:700px}.contact-section{max-width:600px}.contact-subtitle{color:var(--accent);font-size:1.2rem;margin-bottom:10px}.contact-text{margin-bottom:40px}.main-footer{padding:25px;text-align:center;font-size:.8rem}.social-links{display:none;justify-content:center;margin-bottom:10px}.social-links a{color:var(--light-slate);padding:10px}.social-links a:hover{color:var(--accent)}.social-links svg{width:20px;height:20px}@media (max-width: 1080px){main{padding:0 100px}}@media (max-width: 768px){main{padding:0 50px}.section-title:after{width:100px}.about-content{grid-template-columns:1fr;gap:40px}.about-image{grid-row:1;margin:0 auto;max-width:250px}.main-nav{display:none;flex-direction:column;justify-content:center;align-items:center;position:fixed;top:0;right:0;width:min(75vw,400px);height:100vh;background-color:var(--light-navy);box-shadow:-10px 0 30px -15px #020c1bb3;transform:translate(100%);transition:var(--transition)}body.mobile-nav-active .main-nav{display:flex;transform:translate(0)}.main-nav ul{flex-direction:column;text-align:center;padding:0}.main-nav li{margin:20px 0;font-size:1.2rem}.mobile-nav-toggle{display:block;position:relative;z-index:11;background:none;border:none;cursor:pointer}.hamburger{display:block;position:relative;width:30px;height:2px;background-color:var(--accent);transition:var(--transition)}.hamburger:before,.hamburger:after{content:"";position:absolute;width:30px;height:2px;background-color:var(--accent);transition:var(--transition)}.hamburger:before{top:-8px}.hamburger:after{bottom:-8px}body.mobile-nav-active .hamburger{transform:rotate(225deg)}body.mobile-nav-active .hamburger:before{top:0;transform:rotate(90deg)}body.mobile-nav-active .hamburger:after{opacity:0}.social-links{display:flex}}@media (max-width: 480px){main{padding:0 25px}}#password-protection-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--navy);display:flex;justify-content:center;align-items:center;z-index:2000;transition:opacity .3s ease-in-out}#password-protection-overlay.hidden{opacity:0;pointer-events:none}.password-box{background-color:var(--light-navy);padding:40px;border-radius:8px;text-align:center;box-shadow:0 10px 30px -10px #020c1bb3;max-width:400px;width:90%}.password-box h3{font-size:1.5rem;color:var(--lightest-slate);margin-bottom:10px}.password-box p{color:var(--slate);margin-bottom:25px}#password-form{display:flex;flex-direction:column;gap:15px}#password-input{width:100%;padding:12px 15px;border-radius:4px;border:1px solid var(--lightest-navy);background-color:var(--navy);color:var(--lightest-slate);font-family:var(--font-sans);font-size:1rem;text-align:center;transition:var(--transition)}#password-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #57cbff33}.hidden{display:none!important}.page-header{padding:20px 50px}.back-link{color:var(--lightest-slate);text-decoration:none;transition:var(--transition);font-weight:500;background:none;border:none;cursor:pointer;font-size:1rem;font-family:var(--font-sans);padding:0}.back-link:hover{color:var(--accent)}#converter-page main,#pdf-viewer-page main{padding:20px}.page-container{max-width:900px;margin:0 auto;padding:20px;text-align:center}.page-container h1{font-size:2.5rem;margin-bottom:10px}.page-container .instructions{margin-bottom:20px;font-size:1.1rem;color:var(--light-slate)}#paste-area{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:15px;border:2px dashed var(--lightest-navy);border-radius:8px;padding:60px 20px;background-color:var(--light-navy);color:var(--slate);cursor:pointer;transition:var(--transition)}#paste-area:hover,#paste-area.drag-over{border-color:var(--accent);color:var(--lightest-slate)}#paste-area svg{stroke:var(--slate);transition:var(--transition)}#paste-area:hover svg,#paste-area.drag-over svg{stroke:var(--accent)}#paste-area span{font-size:1.2rem;font-weight:500}#preview-section{margin-top:50px;text-align:left}#preview-section h2{font-size:1.75rem;color:var(--light-slate);margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid var(--lightest-navy)}#preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:20px}.preview-item{position:relative;border-radius:4px;overflow:hidden;border:1px solid var(--lightest-navy);cursor:grab;transition:transform .2s ease-in-out,border-color .2s,opacity .2s;-webkit-user-select:none;-ms-user-select:none;user-select:none}.preview-item:active{cursor:grabbing}.preview-item.dragging{opacity:.4;transform:scale(.95)}.preview-item.drag-over-elem{border:2px dashed var(--accent);transform:scale(1.05)}.preview-item img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.preview-item .page-number{position:absolute;top:0;left:0;background-color:#0a192fcc;color:var(--white);padding:4px 8px;font-size:.8rem;font-weight:700;border-bottom-right-radius:4px;pointer-events:none}.pdf-title-container{margin:40px auto 20px;max-width:400px;text-align:left}.pdf-title-label{display:block;margin-bottom:8px;color:var(--light-slate);font-weight:500}.pdf-title-input{width:100%;padding:12px 15px;border-radius:4px;border:1px solid var(--lightest-navy);background-color:var(--light-navy);color:var(--lightest-slate);font-family:var(--font-sans);font-size:1rem;transition:var(--transition)}.pdf-title-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #57cbff33}.actions{margin-top:20px;display:flex;flex-wrap:wrap;justify-content:center;gap:20px}.actions .btn{font-size:1rem;border:1px solid transparent}.actions .btn-primary:disabled,.actions .btn-secondary:disabled{opacity:.5;cursor:not-allowed;border-color:var(--lightest-navy);color:var(--slate);background-color:transparent}.actions .btn-secondary:disabled:hover{filter:none}.actions .btn-secondary{background-color:var(--lightest-navy);color:var(--lightest-slate)}.actions .btn-secondary:hover:not(:disabled){filter:brightness(1.2)}@media (max-width: 768px){.page-header{padding:20px}.page-container h1{font-size:2rem}.page-container .instructions{font-size:1rem}}#pdf-viewer-page .page-container{max-width:1200px;padding-top:100px}#pdf-viewer-page .project-main-title{font-size:clamp(1.8rem,5vw,3rem);text-align:center;margin-bottom:20px}#pdf-viewer-page .pdf-subtitle{font-size:clamp(1rem,3vw,1.2rem);color:var(--light-slate);text-align:center;max-width:800px;margin:0 auto;font-weight:400}#pdf-viewer-page #back-to-portfolio-from-pdf-btn{position:fixed;top:25px;right:40px;z-index:1001}.pdf-viewer-wrapper{position:relative;height:75vh;max-width:1100px;margin:40px auto 0;border-radius:4px;overflow:hidden;box-shadow:0 5px 20px #0000004d;transition:all .3s ease-in-out;z-index:500}.pdf-viewer-wrapper object{width:100%;height:100%;border:none}.pdf-viewer-wrapper.is-sticky{position:fixed;top:90px;bottom:20px;left:50px;right:50px;height:auto;max-width:none;z-index:500}.pdf-scroll-track{position:relative;width:100%;height:150vh;z-index:499}.paper-card{background-color:var(--light-navy);padding:2rem 1.75rem;border-radius:4px;transition:var(--transition);cursor:pointer;height:100%;display:flex;flex-direction:column}.paper-card:hover,.paper-card:focus{transform:translateY(-5px);box-shadow:0 10px 30px -15px #020c1bb3;outline:none}.paper-card p{margin-top:auto}.writing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.pdf-actions{margin-top:30px;text-align:center}
