*{box-sizing:border-box;margin:0;padding:0}:root{--primary:#0f172a;--secondary:#1e293b;--accent:#0ea5e9;--accent-dark:#0284c7;--text-primary:#0f172a;--text-secondary:#475569;--border-color:#e2e8f0;--bg-light:#f8fafc;--bg-white:#fff;--success:#10b981;--warning:#f59e0b}body{color:var(--text-primary);letter-spacing:.3px;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);font-family:Segoe UI,Helvetica Neue,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6}.container{background:var(--bg-white);border-radius:12px;max-width:900px;margin:20px auto;animation:.8s ease-out slideUp;overflow:hidden;box-shadow:0 20px 60px #00000014}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.header{background:linear-gradient(135deg, var(--primary) 0%, #1a1f3a 100%);color:#fff;padding:50px 50px 40px;position:relative;overflow:hidden}.header:before{content:"";pointer-events:none;background:radial-gradient(circle,#0ea5e91a 0%,#0000 70%);border-radius:50%;width:500px;height:500px;position:absolute;top:-50%;right:-10%}.header:after{content:"";pointer-events:none;background:radial-gradient(circle,#10b98114 0%,#0000 70%);border-radius:50%;width:300px;height:300px;position:absolute;bottom:-30%;left:10%}.header-content{z-index:1;position:relative}.name{letter-spacing:-1px;background:linear-gradient(135deg,#fff 0%,#e0f2fe 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:2.8em;font-weight:700}.title{color:var(--accent);letter-spacing:.5px;margin-bottom:12px;font-size:1.3em;font-weight:600}.header-play{margin:0 0 16px}.header-play-link{color:#0f172a;background:linear-gradient(135deg,#a5f3fc 0%,#67e8f9 100%);border:1px solid #ffffff59;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:.88em;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 4px 14px #0ea5e940}.header-play-link:hover{transform:translateY(-1px);box-shadow:0 6px 20px #0ea5e959}.contact-info{color:#ffffffd9;flex-wrap:wrap;gap:25px;margin-top:20px;font-size:.95em;display:flex}.contact-item{align-items:center;gap:8px;transition:color .3s;display:flex}.contact-item:hover{color:var(--accent)}.contact-link{color:inherit;text-decoration:none}.icon{opacity:.9;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.content{padding:50px}.section{margin-bottom:45px}.section-title{color:var(--primary);border-bottom:3px solid var(--accent);letter-spacing:-.5px;margin-bottom:20px;padding-bottom:12px;font-size:1.4em;font-weight:700;display:inline-block}.about-text{color:var(--text-secondary);max-width:95%;margin-bottom:0;font-size:1em;line-height:1.8}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:15px;margin-top:20px;display:grid}.skill-badge{color:var(--accent-dark);cursor:default;background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border:1px solid #bae6fd;border-radius:8px;align-items:center;gap:8px;padding:12px 18px;font-size:.95em;font-weight:600;transition:all .3s;display:flex}.skill-badge:before{content:"▸";opacity:.7;font-weight:700}.skill-badge:hover{background:linear-gradient(135deg,#e0f2fe 0%,#cffafe 100%);border-color:#0ea5e9;transform:translateY(-2px);box-shadow:0 4px 12px #0ea5e926}.job{border-bottom:1px solid var(--border-color);margin-bottom:35px;padding-bottom:30px}.job:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.job-header{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:8px;display:flex}.job-title{color:var(--primary);font-size:1.2em;font-weight:700}.job-company{color:var(--accent);margin-right:8px;font-size:1.05em;font-weight:600}.job-dates{color:var(--text-secondary);white-space:nowrap;font-size:.95em;font-weight:500}.job-description{margin-top:12px}.job-description ul{margin-left:0;list-style:none}.job-description li{color:var(--text-secondary);margin-bottom:8px;padding-left:20px;font-size:.95em;line-height:1.6;position:relative}.job-description li:before{content:"→";color:var(--accent);font-weight:700;position:absolute;left:0}.projects-container{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:20px;display:grid}.project-card{border:1px solid var(--border-color);cursor:pointer;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-radius:10px;padding:20px;transition:all .3s;position:relative;overflow:hidden}.project-card:before{content:"";background:linear-gradient(90deg, var(--accent) 0%, var(--success) 100%);height:3px;transition:transform .3s;position:absolute;top:0;left:0;right:0;transform:translate(-100%)}.project-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 8px 24px #0ea5e91f}.project-card:hover:before{transform:translate(0)}.project-url{color:var(--accent);word-break:break-all;font-size:.95em;font-weight:600;text-decoration:none;transition:color .3s;display:inline-block}.project-url:hover{color:var(--accent-dark);text-decoration:underline}.project-blurb{color:var(--text-secondary);margin-top:8px;font-size:.85em}.education-item{margin-bottom:20px}.degree{color:var(--primary);margin-bottom:5px;font-size:1.05em;font-weight:700}.school{color:var(--accent);margin-bottom:5px;font-size:.95em;font-weight:600}.study-period{color:var(--text-secondary);font-size:.9em}.footer{text-align:center;color:var(--text-secondary);border-top:1px solid var(--border-color);background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);padding:30px 50px;font-size:.85em}@media print{body{background:#fff}.container{max-width:100%;box-shadow:none;border-radius:0;margin:0}.header:before,.header:after{display:none}}@media (max-width:768px){.container{border-radius:8px;margin:10px}.header{padding:40px 30px}.content{padding:30px}.footer{padding:20px 30px}.name{font-size:2em}.title{font-size:1.1em}.contact-info{flex-direction:column;gap:10px}.job-header{flex-direction:column;gap:8px}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.section-title{font-size:1.2em}}
