@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--primary-color: #2c2c2c;--heading-color: #1a1a1a;--text-color: #4a5568;--separator-color: #a0aec0;--bg-color: #f8f6f4;--hover-color: #2d3748;--email-hover-color: #4a5568;--font-family-mono: "JetBrains Mono", monospace;--space-sm: .7rem;--space-md: 1.3rem;--space-lg: 2.4rem;--space-xl: 3.2rem}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family-mono);background:var(--bg-color);color:var(--primary-color);position:relative;overflow-x:hidden;line-height:1.5}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background:radial-gradient(circle,rgba(120,119,198,.2) 0%,transparent 40%),radial-gradient(circle,rgba(180,160,140,.16) 0%,transparent 45%),radial-gradient(circle,rgba(160,140,120,.14) 0%,transparent 35%),radial-gradient(circle,rgba(140,130,160,.18) 0%,transparent 50%);background-size:200% 200%,220% 220%,180% 180%,200% 200%;background-position:25% 75%,75% 25%,50% 50%,80% 80%;animation:calmFlow 40s linear infinite;will-change:background-position}body:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background:radial-gradient(ellipse,rgba(200,180,160,.1) 0%,transparent 60%),radial-gradient(ellipse,rgba(160,140,180,.12) 0%,transparent 55%);background-size:250% 250%,220% 220%;background-position:30% 20%,70% 70%;animation:gentleWave 60s linear infinite;will-change:background-position}@keyframes calmFlow{0%,to{background-position:25% 75%,75% 25%,50% 50%,80% 80%}25%{background-position:40% 60%,60% 40%,65% 35%,65% 85%}50%{background-position:60% 40%,40% 60%,80% 20%,20% 90%}75%{background-position:40% 60%,60% 40%,35% 65%,85% 35%}}@keyframes gentleWave{0%,to{background-position:30% 20%,70% 70%}25%{background-position:45% 35%,55% 60%}50%{background-position:70% 30%,30% 80%}75%{background-position:55% 60%,45% 40%}}.container{max-width:800px;margin:0 auto;padding:var(--space-lg)}.hero-container{text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;gap:2rem}h1{font-size:var(--space-xl);font-weight:600;letter-spacing:.05em;color:var(--heading-color)}h2{font-size:1.8rem;font-weight:600;color:var(--heading-color);margin-bottom:var(--space-lg)}.nav-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--space-md);font-size:.95rem}.nav-links a,.email a{color:var(--text-color);text-decoration:none;font-weight:500;transition:all .3s ease}.nav-links a:hover,.nav-links a:focus{color:var(--hover-color);transform:translateY(-1.3px)}.separator{color:var(--separator-color);user-select:none}.email{color:var(--text-color);font-size:.9rem;font-weight:400}.email a:hover,.email a:focus{color:var(--email-hover-color);transform:translateY(-1px)}.painting{width:100%;max-width:400px;height:auto;opacity:.85;filter:sepia(10%) saturate(80%) hue-rotate(-15deg);transition:opacity .3s ease,transform .3s ease,box-shadow .3s ease;border-radius:8px}.painting:hover{opacity:1;transform:scale(1.01);box-shadow:0 8px 25px #0000001a}.painting-caption{font-size:.8rem;color:var(--text-color);margin-top:1rem;font-weight:300;letter-spacing:.02em}.content-grid{display:grid;gap:var(--space-lg);margin-top:var(--space-xl)}.content-card{padding:var(--space-lg);background:#ffffffb3;backdrop-filter:blur(10px);border-radius:8px;transition:transform .3s ease,box-shadow .3s ease}.content-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000014}.content-card{background:#f8fafccc;border:1px solid rgba(203,213,225,.3)}.content-card h3 a{color:#1e293b}.content-card h3 a:hover{color:#3730a3}.project-links{margin:1.5rem 0;display:flex;gap:1rem;flex-wrap:wrap}.project-links a{color:#06c;text-decoration:underline;font-size:1.1em;transition:color .3s ease}.project-links a:hover{color:#003d7a}.project-description{font-size:1.1em;color:var(--text-color);line-height:1.6}.content-card h3{font-size:1.2rem;margin-bottom:var(--space-sm);color:var(--heading-color)}.content-card p{color:var(--text-color);line-height:1.6}.content-card time{font-size:.85rem;color:var(--separator-color)}.project-image{width:100%;height:auto;border-radius:8px;margin-bottom:var(--space-md);transition:transform .3s ease,box-shadow .3s ease;object-fit:cover;max-height:250px}.project-image:hover{transform:scale(1.02);box-shadow:0 8px 20px #0000001f}.project-detail-image{width:100%;height:auto;border-radius:8px;margin:var(--space-lg) 0;box-shadow:0 4px 15px #0000001a}.back-link{display:inline-block;margin-bottom:var(--space-lg);color:var(--text-color);text-decoration:none;transition:color .3s ease}.back-link:hover{color:var(--hover-color)}.terminal-box{width:100%;max-width:480px;background:#24273a;border-radius:8px;font-family:var(--font-family-mono);box-shadow:0 4px 20px #0000004d;border:1px solid #363a4f;overflow:hidden}.terminal-header{display:flex;align-items:center;justify-content:center;padding:8px 12px;background:#1e2030;border-bottom:1px solid #363a4f}.terminal-title{color:#a5adcb;font-size:.8rem;font-weight:500}.terminal-content{padding:10px 12px 12px;height:180px;background:#24273a}.terminal-output{font-size:.8rem;line-height:1.3;text-align:left;min-height:100%}.cmd-line{color:#cad3f5;margin:3px 0;font-weight:400}.tech-item{color:#a6da95;margin:1px 0;font-weight:400}.cursor{animation:blink 1.5s infinite;color:#8aadf4}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@media(max-width:768px){.container{padding:1.5rem}.hero-container{gap:1.5rem}h1{font-size:2rem}.nav-links{flex-direction:column;gap:var(--space-sm);font-size:.9rem}.separator{display:none}.email{font-size:.85rem}.painting{max-width:320px}.terminal-box{max-width:340px}}@media(max-width:480px){.container{padding:var(--space-md)}h1{font-size:1.6rem;line-height:1.2}.nav-links{gap:.6rem;font-size:.85rem}.email{font-size:.8rem;overflow-wrap:break-word}.painting{max-width:280px}.terminal-box{max-width:290px}.terminal-output{font-size:.75rem}}footer{text-decoration:none;text-align:center;padding:3px;background-color:transparent;color:var(--text-color)}
