@charset "UTF-8";:root{--bg-primary: #1a1a1a;--bg-secondary: #2d2d2d;--bg-tertiary: #404040;--text-primary: #ffffff;--text-secondary: #e5e5e5;--text-muted: #a0a0a0;--accent-primary: #4a90e2;--accent-hover: #357abd;--border-color: #404040;--border-hover: #555555;--shadow: rgba(0, 0, 0, .3);--font-family-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-family-mono: "Monaco", "Menlo", "Ubuntu Mono", monospace;--border-radius: 8px;--border-radius-sm: 4px;--border-radius-lg: 12px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--transition: all .2s ease}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-family-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent-primary);text-decoration:none;transition:var(--transition)}a:hover{color:var(--accent-hover)}.page{color:var(--text-primary)}.page h1{font-size:2.5rem;font-weight:700;margin-bottom:var(--spacing-lg);color:var(--text-primary)}.page h2{font-size:1.75rem;font-weight:600;margin:var(--spacing-xl) 0 var(--spacing-md) 0;color:var(--text-primary)}.page h3{font-size:1.25rem;font-weight:600;margin:var(--spacing-lg) 0 var(--spacing-sm) 0;color:var(--text-primary)}.page p{line-height:1.7;margin-bottom:var(--spacing-md);color:var(--text-secondary)}.page .page-header{margin-bottom:var(--spacing-xl)}.page .page-header h1{margin-bottom:var(--spacing-sm)}.page .page-header p{font-size:1.1rem;color:var(--text-secondary);margin:0}.page .post-card,.page .project-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-lg);transition:var(--transition);cursor:pointer;display:flex;flex-direction:column;height:100%}.page .post-card:hover,.page .project-card:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow)}.page .post-card h3,.page .project-card h3{margin:0 0 var(--spacing-sm) 0;color:var(--text-primary)}.page .post-card p,.page .project-card p{margin-bottom:var(--spacing-md);color:var(--text-secondary);flex-grow:1}.page .post-grid,.page .posts-grid,.page .projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.page .category-filter{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin:var(--spacing-lg) 0}.page .category-filter .category-btn{padding:var(--spacing-xs) var(--spacing-md);border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);border-radius:var(--border-radius-sm);cursor:pointer;transition:var(--transition)}.page .category-filter .category-btn:hover,.page .category-filter .category-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.page .post-meta{display:flex;justify-content:flex-start;align-items:center;font-size:.875rem;color:var(--text-muted);margin-top:auto;padding-top:var(--spacing-md)}.page .post-meta .category{background:var(--accent-primary);color:#fff;padding:2px 8px;border-radius:var(--border-radius-sm);font-size:.75rem;font-weight:500}.page .post-meta .date{color:var(--text-muted);font-size:.875rem}.page .profile-content,.page .contact-content{max-width:700px}.page .profile-content .profile-header,.page .profile-content .contact-header,.page .contact-content .profile-header,.page .contact-content .contact-header{margin-bottom:var(--spacing-xl)}.page .profile-content .profile-header h1,.page .profile-content .contact-header h1,.page .contact-content .profile-header h1,.page .contact-content .contact-header h1{margin-bottom:var(--spacing-sm)}.page .profile-content .profile-header .profile-intro,.page .profile-content .profile-header .contact-intro,.page .profile-content .contact-header .profile-intro,.page .profile-content .contact-header .contact-intro,.page .contact-content .profile-header .profile-intro,.page .contact-content .profile-header .contact-intro,.page .contact-content .contact-header .profile-intro,.page .contact-content .contact-header .contact-intro{font-size:1.1rem;color:var(--text-secondary);margin:0}.page .profile-content .profile-section,.page .profile-content .contact-section,.page .contact-content .profile-section,.page .contact-content .contact-section{margin-bottom:calc(var(--spacing-xl) + var(--spacing-md))}.page .profile-content .profile-section:last-child,.page .profile-content .contact-section:last-child,.page .contact-content .profile-section:last-child,.page .contact-content .contact-section:last-child{margin-bottom:0}.page .profile-content .profile-section h2,.page .profile-content .contact-section h2,.page .contact-content .profile-section h2,.page .contact-content .contact-section h2{margin-top:0;margin-bottom:var(--spacing-lg)}.page .contact-links{display:flex;flex-direction:column;gap:var(--spacing-md)}.page .contact-links .contact-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:var(--transition)}.page .contact-links .contact-item:hover{border-color:var(--border-hover);background:var(--bg-tertiary)}.page .contact-links .contact-item .contact-label{font-weight:500;color:var(--text-primary);min-width:80px;font-size:.95rem}.page .contact-links .contact-item .contact-link{color:var(--accent-primary);font-family:var(--font-family-mono);font-size:.9rem;text-decoration:none}.page .contact-links .contact-item .contact-link:hover{color:var(--accent-hover);text-decoration:underline}.page .tech-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin:var(--spacing-md) 0}.page .tech-tags .tech-tag{background:var(--bg-tertiary);color:var(--text-secondary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:.8rem;font-weight:500;border:1px solid var(--border-color);transition:var(--transition)}.page .tech-tags .tech-tag:hover{background:var(--bg-secondary);color:var(--text-primary)}.page .tag-filter{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.page .tag-filter .tech-tag{background:var(--bg-tertiary);color:var(--text-secondary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:.8rem;font-weight:500;border:1px solid var(--border-color);transition:var(--transition);cursor:pointer}.page .tag-filter .tech-tag:hover{background:var(--bg-secondary);color:var(--text-primary)}.page .tag-filter .tech-tag.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.page .tag-filter .tech-tag.active:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.page .note-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin:var(--spacing-sm) 0 var(--spacing-md) 0}.page .note-tags .tech-tag{background:var(--bg-tertiary);color:var(--text-secondary);padding:4px 8px;border-radius:var(--border-radius-sm);font-size:.75rem;font-weight:500;border:1px solid var(--border-color);transition:var(--transition);cursor:pointer}.page .note-tags .tech-tag:hover{background:var(--bg-secondary);color:var(--text-primary)}.page .note-tags .tech-tag.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.page .filter-info{margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border-radius:var(--border-radius-sm);border-left:3px solid var(--accent-primary)}.page .filter-info p{margin:0;font-size:.9rem;color:var(--text-secondary)}.page .about-content ul{list-style:none;padding-left:0}.page .about-content ul li{padding:var(--spacing-xs) 0;color:var(--text-secondary)}.page .about-content ul li:before{content:"→";color:var(--accent-primary);margin-right:var(--spacing-sm)}.page .about-content .tech-stack{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.page .about-content .tech-stack .tech-category{background:var(--bg-secondary);padding:var(--spacing-lg);border-radius:var(--border-radius);border:1px solid var(--border-color)}.page .about-content .tech-stack .tech-category h3{margin:0 0 var(--spacing-sm) 0;color:var(--accent-primary)}.page .about-content .tech-stack .tech-category p{margin:0;color:var(--text-secondary)}.page .project-links{display:flex;gap:var(--spacing-sm)}.page .project-links .project-link{color:var(--accent-primary);font-size:.875rem;font-weight:500}.page .project-links .project-link:hover{color:var(--accent-hover)}.page .error{text-align:center;padding:var(--spacing-xl)}.page .error h1{color:var(--text-primary);margin-bottom:var(--spacing-md)}.page .error p{color:var(--text-secondary);margin-bottom:var(--spacing-lg)}.page .error-actions{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap}.page .empty-state{text-align:center;padding:var(--spacing-xl);color:var(--text-muted)}.page .empty-state p{margin:0;font-size:1.1rem}.page .loading{text-align:center;padding:var(--spacing-xl)}.page .loading p{color:var(--text-secondary);margin:0}@media (max-width: 768px){.page h1{font-size:2rem}.page .post-grid,.page .posts-grid,.page .projects-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.page .tech-stack{grid-template-columns:1fr}.page .contact-links .contact-item{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.page .contact-links .contact-item .contact-label{min-width:unset;font-size:.9rem}.page .contact-links .contact-item .contact-link{word-break:break-all;font-size:.85rem}.page .error-actions{flex-direction:column;align-items:center}.page .tech-tags,.page .tag-filter{gap:var(--spacing-xs)}.page .tech-tags .tech-tag,.page .tag-filter .tech-tag{font-size:.75rem;padding:4px 8px}.page .note-tags .tech-tag{font-size:.7rem;padding:3px 6px}}.navigation{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:var(--spacing-md) 0;position:sticky;top:0;z-index:100}.navigation .nav-container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg);display:flex;justify-content:space-between;align-items:center}.navigation .nav-links{display:flex;list-style:none;gap:var(--spacing-lg)}.navigation .nav-links .nav-link{color:var(--text-secondary);font-size:1rem;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-sm);transition:var(--transition)}.navigation .nav-links .nav-link:hover{color:var(--text-primary);background-color:var(--bg-tertiary)}.navigation .nav-links .nav-link.active{color:var(--accent-primary);background-color:var(--bg-tertiary)}.navigation .hamburger{display:none;background:transparent;border:none;cursor:pointer;padding:var(--spacing-xs);color:var(--text-secondary);transition:var(--transition)}.navigation .hamburger:hover{color:var(--text-primary)}.navigation .nav-actions{display:flex;align-items:center;gap:var(--spacing-md)}.navigation .nav-actions .lang-toggle{display:flex;align-items:center;gap:var(--spacing-xs);background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition)}.navigation .nav-actions .lang-toggle:hover{border-color:var(--border-hover);color:var(--text-primary);background-color:var(--bg-tertiary)}.navigation .nav-actions .login-btn{display:flex;align-items:center;gap:var(--spacing-xs);background:var(--accent-primary);border:none;color:#fff;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--border-radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition)}.navigation .nav-actions .login-btn:hover{background:var(--accent-hover)}.navigation .mobile-menu{position:absolute;top:100%;left:0;right:0;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);box-shadow:0 4px 6px var(--shadow)}.navigation .mobile-menu .mobile-nav-links{list-style:none;padding:var(--spacing-md)}.navigation .mobile-menu .mobile-nav-links li{margin-bottom:var(--spacing-sm)}.navigation .mobile-menu .mobile-nav-links li:last-child{margin-bottom:0}.navigation .mobile-menu .mobile-nav-links .mobile-nav-link{display:block;color:var(--text-secondary);font-size:1rem;padding:var(--spacing-md);border-radius:var(--border-radius-sm);transition:var(--transition)}.navigation .mobile-menu .mobile-nav-links .mobile-nav-link:hover{color:var(--text-primary);background-color:var(--bg-tertiary)}.navigation .desktop-only{display:flex}.navigation .mobile-only{display:none}@media (max-width: 768px){.navigation .nav-container{padding:0 var(--spacing-md)}.navigation .nav-actions{gap:var(--spacing-sm)}.navigation .nav-actions .lang-toggle,.navigation .nav-actions .login-btn{font-size:.8rem;padding:var(--spacing-xs) var(--spacing-sm)}.navigation .nav-actions .lang-toggle svg,.navigation .nav-actions .login-btn svg{display:none}}@media (max-width: 640px){.navigation .desktop-only{display:none}.navigation .mobile-only{display:flex}}.layout{min-height:100vh;display:flex;flex-direction:column}.layout .main-content{flex:1;background-color:var(--bg-primary);padding:var(--spacing-xl) 0}.layout .main-content .content-container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}@media (max-width: 768px){.layout .main-content{padding:var(--spacing-lg) 0}.layout .main-content .content-container{padding:0 var(--spacing-md)}}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;font-family:inherit;font-weight:500;text-decoration:none;text-align:center;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .2s cubic-bezier(.25,.46,.45,.94);white-space:nowrap;-webkit-user-select:none;user-select:none;outline:none}.btn:focus-visible{outline:2px solid #0066cc;outline-offset:2px}.btn--small{padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem}.btn--medium{padding:.75rem 1.5rem;font-size:1rem;line-height:1.5rem}.btn--large{padding:1rem 2rem;font-size:1.125rem;line-height:1.75rem}.btn--primary{background:#333;color:#fff;border-color:#333}.btn--primary:hover:not(.btn--disabled){background:#555;border-color:#555;transform:translateY(-1px)}.btn--primary:active:not(.btn--disabled){transform:translateY(0)}.dark .btn--primary{background:#e0e0e0;color:#333;border-color:#e0e0e0}.dark .btn--primary:hover:not(.btn--disabled){background:#f0f0f0;border-color:#f0f0f0}.btn--secondary{background:#f5f5f5;color:#333;border-color:#e0e0e0}.btn--secondary:hover:not(.btn--disabled){background:#e0e0e0;border-color:#ccc;transform:translateY(-1px)}.dark .btn--secondary{background:#2a2a2a;color:#e0e0e0;border-color:#444}.dark .btn--secondary:hover:not(.btn--disabled){background:#333;border-color:#555}.btn--outline{background:transparent;color:#333;border-color:#333}.btn--outline:hover:not(.btn--disabled){background:#333;color:#fff;transform:translateY(-1px)}.dark .btn--outline{color:#e0e0e0;border-color:#e0e0e0}.dark .btn--outline:hover:not(.btn--disabled){background:#e0e0e0;color:#333}.btn--ghost{background:transparent;color:#666;border-color:transparent}.btn--ghost:hover:not(.btn--disabled){background:#f5f5f5;color:#333}.dark .btn--ghost{color:#999}.dark .btn--ghost:hover:not(.btn--disabled){background:#2a2a2a;color:#e0e0e0}.btn--danger{background:#dc3545;color:#fff;border-color:#dc3545}.btn--danger:hover:not(.btn--disabled){background:#c82333;border-color:#c82333;transform:translateY(-1px)}.btn--disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn--full-width{width:100%}.btn--loading{cursor:wait}.btn__content{display:flex;align-items:center;gap:.5rem;transition:opacity .2s ease}.btn__content--loading{opacity:.7}.btn__spinner{width:1rem;height:1rem;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite;margin-right:.5rem}@media (max-width: 768px){.btn--large{padding:.875rem 1.75rem;font-size:1rem}.btn--medium{padding:.625rem 1.25rem;font-size:.9rem}.btn--small{padding:.5rem .875rem;font-size:.8rem}}@keyframes spin{to{transform:rotate(360deg)}}.loading-container{display:flex;align-items:center;justify-content:center;min-height:200px;padding:2rem}.loading-container--full-page{position:fixed;inset:0;background:#ffffffe6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;min-height:100vh}.dark .loading-container--full-page{background:#1a1a1ae6}.loading-wrapper{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 20px #0000001a;border:1px solid rgba(0,0,0,.05)}.dark .loading-wrapper{background:#2a2a2a;box-shadow:0 4px 20px #0000004d;border:1px solid rgba(255,255,255,.1)}.loading-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.loading-text{margin:0;font-size:.9rem;color:#666;font-weight:400;text-align:center;letter-spacing:.02em}.dark .loading-text{color:#999}.loading-container--full-page .loading-text{font-size:1rem;color:#333}.dark .loading-container--full-page .loading-text{color:#e0e0e0}.homepage{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);color:var(--text-primary)}.homepage__container{text-align:center;max-width:600px;padding:var(--spacing-xl)}.homepage__content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xl)}.homepage__title{font-size:clamp(2.5rem,6vw,4rem);font-weight:300;letter-spacing:-.02em;color:var(--text-primary);margin:0}.homepage__subtitle{font-size:clamp(1rem,2.5vw,1.3rem);color:var(--text-secondary);font-weight:300;letter-spacing:.05em;margin:0}.homepage__navigation{display:flex;flex-direction:column;gap:var(--spacing-lg);align-items:center;margin-top:var(--spacing-lg)}@media (min-width: 640px){.homepage__navigation{flex-direction:row;gap:var(--spacing-xl)}}.homepage__nav-btn{background:none;border:1px solid var(--border-color);color:var(--text-secondary);padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--border-radius);font-size:1rem;font-weight:400;letter-spacing:.02em;cursor:pointer;transition:var(--transition);min-width:120px}.homepage__nav-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:#4a90e20d}.homepage__nav-btn:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px #4a90e233}@media (max-width: 640px){.homepage__container{padding:var(--spacing-lg)}.homepage__content{gap:var(--spacing-lg)}.homepage__navigation{width:100%;gap:var(--spacing-md)}.homepage__nav-btn{width:100%;max-width:200px}}@media (prefers-reduced-motion: reduce){.homepage *{animation:none!important;transition:none!important}}.not-found-page{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:var(--spacing-xl) 0}.not-found-page .not-found-content{text-align:center;max-width:600px}.not-found-page .not-found-content .error-code{font-size:8rem;font-weight:700;color:var(--accent-primary);line-height:1;margin-bottom:var(--spacing-lg);text-shadow:0 0 20px rgba(74,144,226,.3)}.not-found-page .not-found-content h1{font-size:2rem;color:var(--text-primary);margin-bottom:var(--spacing-md)}.not-found-page .not-found-content p{color:var(--text-secondary);line-height:1.6;margin-bottom:var(--spacing-xl);font-size:1.1rem}.not-found-page .not-found-content .action-buttons{display:flex;gap:var(--spacing-md);justify-content:center;margin-bottom:var(--spacing-xl)}.not-found-page .not-found-content .action-buttons .home-button,.not-found-page .not-found-content .action-buttons .back-button{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--border-radius);font-weight:500;text-decoration:none;transition:var(--transition);cursor:pointer}.not-found-page .not-found-content .action-buttons .home-button:hover,.not-found-page .not-found-content .action-buttons .back-button:hover{transform:translateY(-2px)}.not-found-page .not-found-content .action-buttons .home-button{background:var(--accent-primary);color:#fff;border:none}.not-found-page .not-found-content .action-buttons .home-button:hover{background:var(--accent-hover)}.not-found-page .not-found-content .action-buttons .back-button{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color)}.not-found-page .not-found-content .action-buttons .back-button:hover{color:var(--text-primary);border-color:var(--border-hover)}.not-found-page .not-found-content .suggestions{margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--border-color)}.not-found-page .not-found-content .suggestions h3{color:var(--text-primary);margin-bottom:var(--spacing-md);font-size:1.25rem}.not-found-page .not-found-content .suggestions ul{list-style:none;padding:0;display:flex;gap:var(--spacing-lg);justify-content:center}.not-found-page .not-found-content .suggestions ul li a{color:var(--accent-primary);text-decoration:none;font-weight:500;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-sm);transition:var(--transition)}.not-found-page .not-found-content .suggestions ul li a:hover{background:var(--bg-secondary);color:var(--accent-hover)}@media (max-width: 768px){.not-found-page .not-found-content{padding:0 var(--spacing-md)}.not-found-page .not-found-content .error-code{font-size:6rem}.not-found-page .not-found-content h1{font-size:1.5rem}.not-found-page .not-found-content .action-buttons{flex-direction:column;align-items:center}.not-found-page .not-found-content .action-buttons .home-button,.not-found-page .not-found-content .action-buttons .back-button{width:200px;justify-content:center}.not-found-page .not-found-content .suggestions ul{flex-direction:column;gap:var(--spacing-md)}}.post-detail__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color)}.post-detail__header .back-button{color:var(--text-secondary);font-size:.9rem}.post-detail__header .back-button:hover{color:var(--text-primary)}.post-detail__meta{display:flex;align-items:center;gap:var(--spacing-md);font-size:.875rem;color:var(--text-muted)}.post-detail__meta .category{background:var(--accent-primary);color:#fff;padding:2px 8px;border-radius:var(--border-radius-sm);font-size:.75rem;font-weight:500;text-transform:capitalize}.post-detail__meta .date{color:var(--text-muted)}.post-detail__content{background:var(--bg-primary)}.post-header{margin-bottom:var(--spacing-xl)}.post-header h1{font-size:clamp(1.8rem,4vw,2.5rem);font-weight:700;line-height:1.2;color:var(--text-primary);margin:0}.post-body{line-height:1.7}.markdown-content{color:var(--text-primary)}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{color:var(--text-primary);font-weight:600;margin-top:var(--spacing-xl);margin-bottom:var(--spacing-md);line-height:1.3}.markdown-content h1:first-child,.markdown-content h2:first-child,.markdown-content h3:first-child,.markdown-content h4:first-child,.markdown-content h5:first-child,.markdown-content h6:first-child{margin-top:0}.markdown-content h1{font-size:2rem}.markdown-content h2{font-size:1.5rem;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color)}.markdown-content h3{font-size:1.25rem}.markdown-content h4{font-size:1.1rem}.markdown-content h5{font-size:1rem}.markdown-content h6{font-size:.9rem;color:var(--text-secondary)}.markdown-content p{margin-bottom:var(--spacing-md);color:var(--text-secondary);line-height:1.7}.markdown-content a{color:var(--accent-primary);text-decoration:none;border-bottom:1px solid transparent;transition:var(--transition)}.markdown-content a:hover{border-bottom-color:var(--accent-primary)}.markdown-content ul,.markdown-content ol{margin:var(--spacing-md) 0;padding-left:var(--spacing-lg)}.markdown-content ul li,.markdown-content ol li{margin-bottom:var(--spacing-xs);color:var(--text-secondary);line-height:1.6}.markdown-content ul li::marker,.markdown-content ol li::marker{color:var(--accent-primary)}.markdown-content ul ul,.markdown-content ul ol,.markdown-content ol ul,.markdown-content ol ol{margin:var(--spacing-xs) 0}.markdown-content code{background:var(--bg-secondary);color:var(--text-primary);padding:2px 6px;border-radius:4px;font-family:Fira Code,Monaco,Consolas,monospace;font-size:.875em;border:1px solid var(--border-color)}.markdown-content pre{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-lg);margin:var(--spacing-lg) 0;overflow-x:auto;line-height:1.5}.markdown-content pre code{background:none;border:none;padding:0;color:var(--text-primary)}.markdown-content blockquote{border-left:4px solid var(--accent-primary);margin:var(--spacing-lg) 0;padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-secondary);border-radius:0 var(--border-radius) var(--border-radius) 0}.markdown-content blockquote p{margin:0;color:var(--text-secondary);font-style:italic}.markdown-content table{width:100%;border-collapse:collapse;margin:var(--spacing-lg) 0;background:var(--bg-secondary);border-radius:var(--border-radius);overflow:hidden}.markdown-content table th,.markdown-content table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--border-color)}.markdown-content table th{background:var(--bg-tertiary);font-weight:600;color:var(--text-primary)}.markdown-content table td{color:var(--text-secondary)}.markdown-content table tr:last-child td{border-bottom:none}.markdown-content img{max-width:100%;height:auto;border-radius:var(--border-radius);margin:var(--spacing-md) 0;box-shadow:0 2px 8px var(--shadow)}.markdown-content hr{border:none;height:1px;background:var(--border-color);margin:var(--spacing-xl) 0}.markdown-content input[type=checkbox]{margin-right:var(--spacing-xs)}.markdown-content strong{font-weight:600;color:var(--text-primary)}.markdown-content em{font-style:italic;color:var(--text-secondary)}.markdown-content del{text-decoration:line-through;color:var(--text-muted)}.error{text-align:center;padding:var(--spacing-xl)}.error h1{color:var(--text-primary);margin-bottom:var(--spacing-md)}.error p{color:var(--text-secondary);margin-bottom:var(--spacing-lg)}.error-actions{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap}@media (max-width: 768px){.post-detail{padding:0 var(--spacing-md)}.post-detail__header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.post-detail__header .back-button{align-self:flex-start}.post-detail__header .post-detail__meta{align-self:flex-end}.markdown-content pre{padding:var(--spacing-md);margin:var(--spacing-md) 0}.markdown-content table{font-size:.875rem}.error-actions{flex-direction:column;align-items:center}}.post-detail__tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.post-detail__tags .tech-tag{background:var(--bg-tertiary);color:var(--text-secondary);padding:4px 8px;border-radius:var(--border-radius-sm);font-size:.75rem;font-weight:500;border:1px solid var(--border-color);transition:var(--transition);cursor:pointer}.post-detail__tags .tech-tag:hover{background:var(--accent-hover);color:#fff;border-color:var(--accent-hover)}
