﻿*{margin:0;padding:0;box-sizing:border-box}:root{--gray-1: #f5f5f5;--gray-2: #e0e0e0;--gray-3: #cccccc;--gray-4: #a3a3a3;--gray-5: #808080;--gray-6: #666666;--gray-7: #4d4d4d;--gray-8: #333333;--gray-9: #1a1a1a;--gray-10: #0d0d0d;--gray-11: #050505;--gray-12: #000000;--text: var(--gray-2);--text-muted: var(--gray-4);--text-dim: var(--gray-5);--bg: var(--gray-10);--bg-muted: var(--gray-9);--bg-dim: var(--gray-8);--border: var(--gray-7);--link: var(--gray-3);--link-hover: var(--gray-1);--ctp-rosewater: var(--gray-2);--ctp-flamingo: var(--gray-3);--ctp-pink: var(--gray-4);--ctp-mauve: var(--gray-3);--ctp-red: var(--gray-5);--ctp-maroon: var(--gray-3);--ctp-peach: var(--gray-4);--ctp-yellow: var(--gray-5);--ctp-green: var(--gray-4);--ctp-teal: var(--gray-5);--ctp-sky: var(--gray-2);--ctp-sapphire: var(--gray-3);--ctp-blue: var(--gray-3);--ctp-lavender: var(--gray-4);--ctp-text: var(--gray-2);--ctp-subtext1: var(--gray-4);--ctp-subtext0: var(--gray-4);--ctp-overlay2: var(--gray-5);--ctp-overlay1: var(--gray-6);--ctp-overlay0: var(--gray-7);--ctp-surface2: var(--gray-8);--ctp-surface1: var(--gray-9);--ctp-surface0: var(--gray-9);--ctp-base: var(--gray-10);--ctp-mantle: var(--gray-11);--ctp-crust: var(--gray-12)}html{scrollbar-gutter:stable}@keyframes blink{0%, 50%{opacity:1}51%, 100%{opacity:0}}.section-cursor{animation:blink 1.2s infinite;font-weight:400;color:var(--text-dim)}body,p,a,li,span,div{font-family:"MonoLisa",monospace;font-weight:400;letter-spacing:-.01em}h1,h2,h3,h4{font-family:"MonoLisa",monospace;font-weight:700;letter-spacing:-.02em}body{background:var(--bg);color:var(--text);line-height:1.7;font-size:1rem;min-height:100vh;display:flex;flex-direction:column}a{color:var(--link);text-decoration:none;transition:color .2s}a:hover{color:var(--link-hover)}.container{max-width:56rem;margin:0 auto;padding:0 1.5rem;margin-bottom:4rem;flex:1;margin-top:3rem}header{margin-bottom:1.5rem}header .header-top{display:flex;justify-content:space-between;align-items:baseline}header .site-title{font-size:2rem;font-weight:700;line-height:2.5rem;letter-spacing:-.025em;color:var(--text);text-decoration:none;margin-top:1rem}header .site-title:hover{color:var(--text-dim);text-decoration:none}header .site-title em{font-weight:700}header .terminal-cursor{animation:blink 1.2s infinite;font-weight:400;position:relative;top:-.1em;margin-left:1px;color:var(--text-dim)}header .current-path{font-size:.875rem;color:var(--text-dim)}header nav{display:flex;gap:1rem;margin-top:.25rem}header nav a{font-size:.875rem;color:var(--text-dim)}header nav a:hover{color:var(--text-muted)}main{min-height:60vh;margin-top:1.5rem}.homepage .bio{font-size:1rem;line-height:1.5rem;color:var(--text-muted);margin-bottom:2rem}.homepage .bio a{color:var(--link);text-decoration:underline;text-underline-offset:2px}.homepage .bio a:hover{color:var(--link-hover)}.section{margin-bottom:2.5rem}.section-header{margin-bottom:.75rem;display:flex;justify-content:space-between;align-items:baseline}.section-header h2{font-size:1.125rem;font-weight:700;color:var(--text)}.section-header .section-path{font-size:.875rem;color:var(--text-dim)}.experience-content .company{color:var(--text-dim);font-weight:400}.experience-content ul{list-style:none;padding:0;margin:0}.experience-content ul li{margin-bottom:.5rem;padding-left:1rem;border-left:2px solid var(--border);font-size:.875rem;line-height:1.5;color:var(--text-muted)}.project-list{list-style:none;padding:0;margin:0}.project-list li{margin-bottom:.5rem;padding-left:1rem;border-left:2px solid var(--border);font-size:.875rem;line-height:1.5;transition:border-color .2s}.project-list li:hover{border-left-color:var(--text-muted)}.project-list li a{color:var(--text);text-decoration:none}.project-list li a:hover{color:var(--link-hover);text-decoration:underline}.project-list li .project-desc{color:var(--text-dim);margin-left:.5rem}.project-detail{margin-bottom:1.5rem}.project-detail .project-name{font-size:1rem;font-weight:600;color:var(--text);margin-bottom:.5rem}.project-detail .project-name .project-github{font-weight:400;font-size:.875rem;color:var(--text-dim);text-decoration:none;margin-left:.5rem}.project-detail .project-name .project-github:hover{color:var(--text-muted)}.project-detail .project-content p{font-size:.875rem;color:var(--text-muted);margin-bottom:.5rem;line-height:1.6}.project-detail .project-content strong{color:var(--text)}.project-detail .project-content a{color:var(--link);text-decoration:underline;text-underline-offset:2px}.project-detail .project-content a:hover{color:var(--link-hover)}.project-detail .project-content ul{list-style:none;padding:0;margin:.5rem 0;display:flex;flex-direction:column;gap:.5rem}.project-detail .project-content ul li{border-color:var(--border);padding-left:.75rem;color:var(--text-muted);font-size:.875rem;line-height:1.6}.skills-content p{display:inline}.skills-content ul{list-style:none;padding:0;margin:0}.skills-content li{display:inline;color:var(--text-muted);font-size:.9rem}.skills-content li::before{content:"* ";color:var(--text-dim)}.education-content p{font-size:.875rem;color:var(--text-muted);margin-bottom:.5rem;border-color:var(--border);padding-left:.75rem;line-height:1.5}.education-content strong{color:var(--text)}.skills-list ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem 2rem}.skills-list li{color:var(--text-muted);font-size:.9rem}.skills-list li::before{content:"→ ";color:var(--text-dim)}.post-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.5rem;font-size:.9rem}.post-list li{border-color:var(--border);padding-left:.75rem;padding-top:.25rem;padding-bottom:.25rem}.post-list .edu-title{color:var(--text);display:block}.post-list .edu-meta{color:var(--text-dim);font-size:.8rem;display:block;margin-top:.15rem}article header{margin-bottom:1.5rem}article header h1{font-size:1.5rem;font-weight:700;color:var(--text);margin-bottom:.25rem}article header time{font-size:.875rem;color:var(--text-dim)}article .content{font-size:.9rem;line-height:1.7;color:var(--text-muted)}article .content p{margin-bottom:.75rem}article .content strong{color:var(--text)}article .content a{color:var(--link);text-decoration:underline;text-underline-offset:2px}article .content a:hover{color:var(--link-hover)}article .content ul{list-style:none;padding:0;margin:.5rem 0}article .content ul li{margin-bottom:.5rem;padding-left:1rem;border-left:2px solid var(--border)}footer{margin-top:auto;padding-top:1.5rem;border-color:var(--border);display:flex;justify-content:space-between;font-size:.8rem;color:var(--text-dim)}footer .contact{color:var(--text-muted)}@media (max-width: 640px){.container{padding:0 1rem;margin-top:1.5rem}.site-title{font-size:1.5rem}footer{flex-direction:column;gap:.5rem}}