:root{--color-text-primary: #333;--color-text-secondary: #666;--color-text-muted: #999;--color-text-white: #fff;--color-text-strong: #111;--color-link: #0066cc;--color-bg-primary: #ffffff;--color-bg-secondary: #f5f5f5;--color-bg-tertiary: #f8f8f8;--color-bg-hover: #e8e8e8;--color-bg-dark: #333;--color-bg-darker: #1a1a1a;--color-border: #e0e0e0;--color-border-light: #ccc;--color-success: #4CAF50}[data-theme=dark]{--color-text-primary: #e0e0e0;--color-text-secondary: #b8b8b8;--color-text-muted: #787878;--color-text-white: #161618;--color-text-strong: #f0f0f0;--color-link: #8ec0f0;--color-bg-primary: #161618;--color-bg-secondary: #1e1e20;--color-bg-tertiary: #262628;--color-bg-hover: #2e2e30;--color-bg-dark: #e0e0e0;--color-bg-darker: #ececec;--color-border: #1e1e20;--color-border-light: #2a2a2c}:root{--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 20px;--spacing-2xl: 30px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 50%;--transition-fast: all .2s ease;--font-xs: 11px;--font-sm: 12px;--font-base: 13px;--font-md: 14px;--font-lg: 16px;--font-xl: 18px;--font-2xl: 20px;--font-3xl: 24px;--font-4xl: 32px;--max-width: 800px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--color-bg-primary);min-height:100vh;padding:var(--spacing-xl)}.flex-center{display:flex;align-items:center;justify-content:center}.card{background:var(--color-bg-primary);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:var(--spacing-xl)}.profile-card{background:var(--color-bg-primary);border-radius:var(--radius-md);border:1px solid var(--color-border);max-width:var(--max-width);width:100%;padding:var(--spacing-2xl);text-align:center;margin:0 auto var(--spacing-xl);position:relative}.theme-switcher-wrapper{position:absolute;top:var(--spacing-md);right:var(--spacing-md)}.profile-image{width:150px;height:150px;border-radius:var(--radius-full);background:var(--color-bg-secondary);margin:0 auto var(--spacing-xl);display:flex;align-items:center;justify-content:center;font-size:60px;color:var(--color-text-muted);border:2px solid var(--color-border)}.profile-image img{width:100%;height:100%;border-radius:var(--radius-full);object-fit:cover;filter:grayscale(100%);animation:fadeInClear 2s ease-out forwards}@keyframes fadeInClear{0%{filter:grayscale(100%) blur(15px);opacity:0}30%{opacity:1}to{filter:grayscale(100%) blur(0);opacity:1}}h1{font-size:var(--font-4xl);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.name-variants{color:var(--color-text-muted);font-size:var(--font-md);margin-bottom:10px}.bio{color:var(--color-text-secondary);line-height:1.6;margin-bottom:15px;font-size:var(--font-md)}.social-links{display:flex;justify-content:center;gap:var(--spacing-lg);margin-bottom:15px}.social-links a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);background:var(--color-bg-secondary);color:var(--color-text-secondary);transition:var(--transition-fast)}.social-links a:hover{background:var(--color-bg-dark);color:var(--color-text-white)}.profile-card nav{margin-top:var(--spacing-xl)}.internal-links{display:flex;justify-content:center;gap:var(--spacing-xl)}.internal-links a{color:var(--color-text-secondary);text-decoration:none;font-size:var(--font-md);padding:var(--spacing-sm) var(--spacing-xl);border-radius:var(--radius-xl);background:var(--color-bg-secondary);transition:var(--transition-fast)}.internal-links a:hover,.internal-links a.active{color:var(--color-text-white);background:var(--color-bg-dark)}.internal-links a.active{font-weight:600}.tag{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-lg);font-size:var(--font-sm);color:var(--color-text-secondary);text-decoration:none;transition:var(--transition-fast)}.tag:hover{background:var(--color-bg-dark);color:var(--color-text-white);text-decoration:none}.tag.active{background:var(--color-bg-dark);color:var(--color-text-white)}.tag-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);padding-bottom:var(--spacing-xl)}.post-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-xl)}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--spacing-lg);margin-top:var(--spacing-2xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border)}.pagination-link{padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-bg-secondary);border-radius:var(--radius-xl);font-size:var(--font-md);color:var(--color-text-secondary)!important;text-decoration:none;transition:var(--transition-fast)}.pagination-link:hover:not(.disabled){background:var(--color-bg-dark);color:var(--color-text-white)!important;text-decoration:none}.pagination-link.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.pagination-info{font-size:var(--font-md);color:var(--color-text-primary)}.blog-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:15px}.blog-item{padding:0;background:none;border-radius:0;margin-bottom:0}.blog-item a{display:flex;gap:15px;padding:15px;background:var(--color-bg-secondary);border-radius:var(--radius-md);text-decoration:none;transition:var(--transition-fast)}.blog-item a:hover{background:var(--color-bg-hover);text-decoration:none!important}.blog-item a:hover .blog-title{color:var(--color-text-strong)}.blog-item a:hover .blog-date{color:var(--color-text-secondary)}.blog-thumbnail,.related-thumbnail{flex-shrink:0;overflow:hidden;border-radius:var(--radius-sm)}.blog-thumbnail{width:120px;height:80px}.related-thumbnail{width:80px;height:53px}.blog-thumbnail img,.related-thumbnail img{width:100%;height:100%;object-fit:cover}.blog-info,.related-info{display:flex;flex-direction:column;justify-content:center}.related-info{min-width:0}.blog-title{color:var(--color-text-primary);font-size:var(--font-lg);font-weight:600;margin:0 0 6px;line-height:1.4}.blog-date{color:var(--color-text-muted);font-size:var(--font-sm);margin:0}.related-title{font-size:var(--font-base);color:var(--color-text-primary);font-weight:500;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.related-date{font-size:var(--font-xs);color:var(--color-text-muted);margin-top:var(--spacing-xs)}.content-container{max-width:var(--max-width);margin:0 auto}.hero-image{width:100%;overflow:hidden;border-radius:var(--radius-md);margin-bottom:var(--spacing-xl)}.hero-image img{width:100%;height:auto;display:block;object-fit:cover}.section{background:var(--color-bg-primary);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:var(--spacing-xl);margin-bottom:15px}.section h2{color:var(--color-text-primary);font-size:var(--font-2xl);margin-bottom:15px;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.section h3{color:var(--color-text-primary);font-size:var(--font-lg);margin-top:15px;margin-bottom:10px}.section>p,.section>div:not(.prose) p{color:var(--color-text-secondary);line-height:1.6;font-size:var(--font-md)}.section a{color:var(--color-link);text-decoration:none;transition:color .3s ease}.section a:hover{text-decoration:underline}.section .tag,.section .tag:hover{color:var(--color-text-secondary);text-decoration:none}.section .tag:hover,.section .tag.active{color:var(--color-text-white)}.section .post-navigation a:hover,.section .related-posts a:hover,.section .share-buttons a:hover{text-decoration:none}.section>ul:not(.blog-list),.section>div:not(.prose) ul{list-style:none;padding:0;margin:0}.section>li,.section>ul:not(.blog-list)>li,.section>div:not(.prose):not(.related-posts) li{padding:10px 12px;background:var(--color-bg-tertiary);border-radius:6px;font-size:var(--font-base);line-height:1.6;margin-bottom:6px;color:var(--color-text-secondary)}.section li strong{color:var(--color-text-primary);font-weight:600}.prose{color:var(--color-text-secondary);line-height:1.8;font-size:var(--font-md)}.prose .title{margin-bottom:var(--spacing-xl)}.prose .title h1{font-size:var(--font-3xl);margin-top:10px;margin-bottom:var(--spacing-lg)}.prose .title .tags{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.prose .title .date{color:var(--color-text-secondary);font-size:var(--font-md);margin-bottom:10px}.prose .title hr{border:none;border-top:1px solid var(--color-border);margin:15px 0}.prose h2{font-size:22px;color:var(--color-text-primary);margin-top:40px;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--color-text-primary)}.prose h3{font-size:var(--font-xl);color:var(--color-text-primary);margin-top:35px;margin-bottom:var(--spacing-lg);padding-bottom:6px;border-bottom:1px dashed var(--color-border-light)}.prose h4{font-size:var(--font-lg);color:var(--color-text-primary);margin-top:var(--spacing-2xl);margin-bottom:var(--font-md)}.prose p{margin-bottom:0;color:var(--color-text-secondary);font-size:var(--font-md);line-height:2}.prose a{color:var(--color-link);text-decoration:none}.prose a:hover{text-decoration:underline}.prose strong{color:var(--color-text-primary);font-weight:700}.prose em{font-style:italic}.prose img~em{display:block;margin:-1rem auto 14px;line-height:1.3;text-align:center;color:var(--color-text-secondary);padding:15px 25px 0;font-style:normal}.prose ul{margin-bottom:var(--spacing-lg);padding-left:1.5em;color:var(--color-text-secondary);list-style:disc}.prose ol{margin-bottom:var(--spacing-lg);padding-left:1.5em;color:var(--color-text-secondary);list-style:decimal}.prose li{margin-bottom:6px;line-height:1.7;padding:0;background:none;border-radius:0}.prose li>ul,.prose li>ol{margin-top:6px;margin-bottom:0}.prose blockquote{margin:var(--spacing-xl) 0;padding:15px var(--spacing-xl);background:var(--color-bg-tertiary);border-left:4px solid var(--color-text-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--color-text-secondary);font-size:var(--font-2xl);overflow-wrap:break-word;word-break:break-word}.prose blockquote p{margin-bottom:0}.prose code{background:var(--color-bg-secondary);padding:2px 6px;border-radius:var(--radius-sm);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:var(--font-lg);color:var(--color-text-primary)}.prose pre{margin:var(--spacing-xl) 0;padding:15px;background:#1e1e1e;border-radius:var(--radius-sm);overflow-x:auto}.prose pre code{background:none;padding:0;color:#d4d4d4;font-size:var(--font-md);line-height:1.5}.prose table{width:100%;margin:var(--spacing-xl) 0;border-collapse:collapse;font-size:var(--font-xl)}.prose th,.prose td{padding:10px 12px;border:1px solid var(--color-border);text-align:left}.prose th{background:var(--color-bg-tertiary);font-weight:700;color:var(--color-text-primary)}.prose td{color:var(--color-text-secondary)}.prose img{display:block;max-width:100%;height:auto;border-radius:var(--radius-sm);margin:15px auto}.prose hr{border:none;border-top:1px solid var(--color-border);margin:25px 0}.prose .footnotes{margin-top:24px;font-size:var(--font-sm);color:var(--color-text-muted)}.prose .footnotes h2{display:none}.prose .footnotes p{font-size:var(--font-sm);color:var(--color-text-muted);margin:0}.prose .footnotes a{color:var(--color-text-muted);word-break:break-all}.prose .footnotes ol{color:var(--color-text-muted);margin:0;padding-left:var(--spacing-xl)}.prose .footnotes li{margin:0}.related-posts{margin-top:24px}.related-posts h3{font-size:var(--font-lg);color:var(--color-text-primary);margin-bottom:var(--spacing-lg)}.related-posts ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.related-posts li{padding:0;background:none;border-radius:0;margin-bottom:0}.related-posts li.related-item{display:none}.related-posts li.related-item.visible{display:block}.related-posts li a{display:flex;gap:var(--spacing-md);padding:var(--spacing-md);background:transparent;border-radius:var(--radius-md);text-decoration:none;transition:var(--transition-fast)}.related-posts li a:hover{background:var(--color-bg-hover);text-decoration:none!important}.related-posts li a:hover .related-title{color:var(--color-text-strong)}.related-posts li a:hover .related-date{color:var(--color-text-secondary)}.post-navigation{display:flex;justify-content:space-between;gap:var(--spacing-xl);margin-top:40px;padding-top:var(--spacing-xl);border-top:1px solid var(--color-border)}.post-navigation .nav-prev,.post-navigation .nav-next{flex:1;max-width:50%}.post-navigation a{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);text-decoration:none;transition:var(--transition-fast)}.post-navigation .nav-prev a{justify-content:flex-start;background:var(--color-bg-secondary)}.post-navigation .nav-next a{justify-content:flex-end;background:var(--color-bg-darker)}.post-navigation .nav-next .nav-label,.post-navigation .nav-next .nav-title,.post-navigation .nav-next .nav-arrow{color:var(--color-text-white)}.post-navigation .nav-prev a:hover{background:var(--color-bg-hover);text-decoration:none!important}.post-navigation .nav-next a:hover{background:var(--color-bg-dark);text-decoration:none!important}.post-navigation .nav-prev a:hover .nav-label{color:var(--color-text-secondary)}.post-navigation .nav-prev a:hover .nav-title{color:var(--color-text-strong)}.post-navigation .nav-prev a:hover .nav-arrow{color:var(--color-text-secondary)}.post-navigation .nav-arrow{font-size:var(--font-2xl);font-weight:300}.post-navigation .nav-prev .nav-arrow{color:var(--color-text-muted)}.post-navigation .nav-next .nav-arrow{color:var(--color-text-white)}.post-navigation .nav-content{display:flex;flex-direction:column}.post-navigation .nav-prev .nav-content{text-align:left}.post-navigation .nav-next .nav-content{text-align:right}.post-navigation .nav-label{font-size:var(--font-sm);margin-bottom:var(--spacing-xs)}.post-navigation .nav-prev .nav-label{color:var(--color-text-muted)}.post-navigation .nav-title{font-size:var(--font-md);font-weight:500}.post-navigation .nav-prev .nav-title{color:var(--color-text-primary)}.share-buttons{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-xl)}.share-button{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-xs) var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:none;cursor:pointer;color:var(--color-text-secondary);text-decoration:none;transition:var(--transition-fast)}.share-button svg{fill:var(--color-text-secondary)}.share-button:hover{background:var(--color-bg-dark);color:var(--color-text-white)}.share-button:hover svg{fill:var(--color-text-white)}.share-button.copy-link.copied{background:var(--color-success);color:var(--color-text-white)}.share-button.copy-link.copied svg{fill:var(--color-text-white)}.project-list{font-size:var(--font-base);line-height:1.8;color:var(--color-text-secondary)}.project-list p{margin-bottom:6px}.project-images{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-top:15px;justify-content:center}.project-images img{width:140px;height:140px;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--color-border)}.other-content{font-size:var(--font-md)}.soundcloud-embeds{margin-top:10px;display:flex;flex-direction:column;gap:10px}.soundcloud-embeds iframe{border-radius:var(--radius-sm)}footer{text-align:center;padding:0px var(--spacing-xl);color:var(--color-text-muted);font-size:var(--font-sm);margin-top:var(--spacing-xl)}.footer-profile{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding-top:var(--spacing-2xl)}.footer-avatar{display:block;width:56px;height:56px;border-radius:var(--radius-full);overflow:hidden;transition:opacity .2s ease;margin-bottom:var(--spacing-xs)}.footer-avatar:hover{opacity:.8}.footer-avatar img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%)}.footer-name{font-size:var(--font-md);font-weight:600;color:var(--color-text-primary)}.footer-links{display:flex;justify-content:center;gap:var(--spacing-md);margin-top:var(--spacing-xs)}.footer-links a{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-full);background:var(--color-bg-secondary);color:var(--color-text-secondary);transition:var(--transition-fast)}.footer-links a:hover{background:var(--color-bg-dark);color:var(--color-text-white)}.footer-copyright{color:var(--color-text-muted);margin-top:24px;padding-bottom:var(--spacing-xl)}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background-color:#000000e6;justify-content:center;align-items:center}.modal-content{max-width:90%;max-height:90%;object-fit:contain}.close{position:absolute;top:var(--spacing-xl);right:35px;color:var(--color-text-white);font-size:40px;font-weight:700;cursor:pointer}.close:hover,.close:focus{color:var(--color-text-muted)}@media(max-width:768px){body{padding:15px 10px}.profile-card{padding:var(--spacing-xl) 15px}h1{font-size:22px}.profile-image{width:100px;height:100px;font-size:40px}.blog-item a{flex-direction:column}.blog-thumbnail{width:100%;height:150px}.related-posts ul{grid-template-columns:1fr}.post-navigation{flex-direction:column-reverse}.post-navigation .nav-prev,.post-navigation .nav-next{max-width:100%}.post-navigation .nav-next a{justify-content:flex-start}.post-navigation .nav-next .nav-content{text-align:left}.post-navigation .nav-next .nav-arrow{order:-1}.project-images img{width:120px;height:120px}}.theme-toggle[data-astro-cid-dz5h74bc]{display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;padding:4px;border-radius:20px}.toggle-track[data-astro-cid-dz5h74bc]{position:relative;display:flex;align-items:center;width:56px;height:28px;background:var(--color-bg-secondary);border-radius:14px;padding:0 4px;transition:background .3s ease}.toggle-thumb[data-astro-cid-dz5h74bc]{position:absolute;left:4px;width:22px;height:22px;background:var(--color-bg-dark);border-radius:50%;transition:transform .3s ease}[data-astro-cid-dz5h74bc][data-theme=dark] .toggle-thumb[data-astro-cid-dz5h74bc]{transform:translate(26px)}.toggle-icon[data-astro-cid-dz5h74bc]{display:flex;align-items:center;justify-content:center;width:22px;height:22px;z-index:1;transition:opacity .3s ease}.toggle-icon[data-astro-cid-dz5h74bc].sun{color:var(--color-text-muted)}.toggle-icon[data-astro-cid-dz5h74bc].moon{color:var(--color-text-muted);margin-left:4px}[data-astro-cid-dz5h74bc][data-theme=dark] .toggle-icon[data-astro-cid-dz5h74bc].sun{color:var(--color-text-muted)}[data-astro-cid-dz5h74bc][data-theme=dark] .toggle-icon[data-astro-cid-dz5h74bc].moon{color:var(--color-text-white)}
