:root{--primary: #6366f1;--primary-hover: #4f46e5;--baseball-color: #448bef;--coding-color: #10b981;--movies-color: #f59e0b;--bg: #ffffff;--bg-secondary: #f8fafc;--text: #1e293b;--text-secondary: #64748b;--border: #e2e8f0;--card-shadow: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--card-hover-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05)}[data-theme=dark]{--bg: #0f172a;--bg-secondary: #1e293b;--text: #f1f5f9;--text-secondary: #94a3b8;--border: #334155;--card-shadow: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--card-hover-shadow: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -2px rgba(0, 0, 0, .3)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background-color:var(--bg);color:var(--text);line-height:1.6;transition:background-color .3s ease,color .3s ease}a{color:var(--primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--primary-hover)}.app{display:flex;flex-direction:column;min-height:100vh}.header{background-color:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.header .header-container{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.header .header-logo{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:700;color:var(--text)}.header .header-logo:hover{color:var(--primary)}.header .header-logo .logo-icon{font-size:1.75rem}.navigation .nav-list{display:flex;list-style:none;gap:2rem}.navigation .nav-link{color:var(--text-secondary);font-weight:500;padding:.5rem 0;position:relative}.navigation .nav-link:hover,.navigation .nav-link.active{color:var(--primary)}.navigation .nav-link.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background-color:var(--primary)}.theme-toggle{background:none;border:2px solid var(--border);border-radius:50%;width:44px;height:44px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .2s ease,transform .2s ease}.theme-toggle:hover{border-color:var(--primary);transform:scale(1.05)}.theme-toggle .theme-icon{font-size:1.25rem}.page{flex:1;max-width:1200px;margin:0 auto;padding:2rem;width:100%}.hero,.about-hero,.category-hero{text-align:left;padding:2rem 0 1rem}.hero h1,.about-hero h1,.category-hero h1{font-size:2rem;margin-bottom:1rem;color:var(--text)}.hero p,.about-hero p,.category-hero p{font-size:1.25rem;color:var(--text-secondary);max-width:600px;margin:0 auto}.post-list .post-list-title{font-size:1.5rem;margin-bottom:1.5rem;color:var(--text)}.post-list .post-list-empty{text-align:center;color:var(--text-secondary);padding:3rem}.post-grid{display:flex;flex-direction:column;gap:2rem;max-width:1200px}.post-card{background-color:var(--bg-secondary);border-radius:12px;overflow:hidden;box-shadow:var(--card-shadow);transition:transform .2s ease,box-shadow .2s ease}.post-card:hover{transform:translateY(-4px);box-shadow:var(--card-hover-shadow)}.post-card .post-card-image{aspect-ratio:16 / 9;overflow:hidden}.post-card .post-card-image img{width:100%;height:100%;object-fit:cover}.post-card .post-card-content{padding:1.5rem}.post-card .post-card-meta{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem;font-size:.875rem}.post-card .post-card-meta time{color:var(--text-secondary)}.post-card .post-card-title{font-size:1.25rem;margin-bottom:.75rem;line-height:1.4}.post-card .post-card-title a{color:var(--text)}.post-card .post-card-title a:hover{color:var(--primary)}.post-card .post-card-excerpt{color:var(--text-secondary);font-size:.9375rem;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.post-card .post-card-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.post-card .post-author{font-size:.875rem;color:var(--text-secondary)}.post-category{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.post-category--baseball{background-color:#448bef26;color:#448bef}.post-category--coding{background-color:#10b98126;color:#10b981}.post-category--movies{background-color:#f59e0b26;color:#f59e0b}.post-tags{display:flex;flex-wrap:wrap;gap:.5rem}.post-tag{background-color:var(--border);color:var(--text-secondary);padding:.25rem .5rem;border-radius:4px;font-size:.75rem}.tags-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:2rem auto}.tags-grid-item{background-color:var(--border);color:var(--text-secondary);padding:1rem;border-radius:4px;font-size:1.1rem;text-align:center;text-decoration:none;transition:all .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tags-grid-item:hover{background-color:var(--primary);color:#fff}@media(max-width:768px){.tags-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:480px){.tags-grid{grid-template-columns:repeat(2,1fr)}}.about-page .about-content{max-width:1200px;margin:0 auto}.about-page .about-intro{display:flex;gap:2rem;align-items:center;margin-bottom:3rem}.about-page .about-avatar{flex-shrink:0;height:100%}.about-page .about-avatar .avatar-placeholder{width:120px;height:120px;background-color:var(--bg-secondary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;border:3px solid var(--border)}.about-page .about-avatar .avatar-image{width:225px;aspect-ratio:1;border-radius:50%;border:3px solid var(--border);object-fit:cover;display:block}.about-page .about-bio h2{margin-bottom:1rem;color:var(--text)}.about-page .about-bio p{color:var(--text-secondary);line-height:1.8}.about-page .about-section{margin-bottom:2.5rem}.about-page .about-section h3{font-size:1.25rem;margin-bottom:1rem;color:var(--text)}.about-page .about-section p{color:var(--text-secondary)}.about-page .about-topics{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.about-page .topic-card{background-color:var(--bg-secondary);padding:1.5rem;border-radius:12px}.about-page .topic-card .topic-icon{font-size:2rem;display:block;margin-bottom:.75rem}.about-page .topic-card h4{margin-bottom:.5rem;color:var(--text)}.about-page .topic-card p{font-size:.9375rem;color:var(--text-secondary)}.about-page .contact-links{list-style:none;display:flex;gap:1.5rem;margin-top:1rem}.about-page .contact-links a{font-weight:500}.post-page .post-not-found{text-align:center;padding:4rem 0}.post-page .post-not-found h1{margin-bottom:1rem}.post-page .post-not-found p{color:var(--text-secondary);margin-bottom:2rem}.post-page .post-article{max-width:800px;margin:0 auto}.post-page .post-header{text-align:center;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border)}.post-page .post-header .post-meta{display:flex;justify-content:center;align-items:center;gap:1rem;margin-bottom:1rem}.post-page .post-header .post-meta time{color:var(--text-secondary);font-size:.9375rem}.post-page .post-header .post-title{font-size:2.5rem;line-height:1.2;margin-bottom:1rem;color:var(--text)}.post-page .post-header .post-excerpt{font-size:1.25rem;color:var(--text-secondary);margin-bottom:1rem}.post-page .post-header .post-author-info{color:var(--text-secondary);margin-bottom:1rem}.post-page .post-header .post-tags{justify-content:center}.post-page .post-cover{margin-bottom:2rem;border-radius:12px;overflow:hidden}.post-page .post-cover img{width:100%;height:auto}.post-page .post-content{line-height:1.8}.post-page .post-content h1,.post-page .post-content h2,.post-page .post-content h3,.post-page .post-content h4,.post-page .post-content h5,.post-page .post-content h6{margin-top:2rem;margin-bottom:1rem;color:var(--text)}.post-page .post-content h1{font-size:2rem}.post-page .post-content h2{font-size:1.5rem}.post-page .post-content h3{font-size:1.25rem}.post-page .post-content p{margin-bottom:1.25rem}.post-page .post-content ul,.post-page .post-content ol{margin-bottom:1.25rem;padding-left:1.5rem}.post-page .post-content ul li,.post-page .post-content ol li{margin-bottom:.5rem}.post-page .post-content blockquote{border-left:4px solid var(--primary);padding-left:1.5rem;margin:1.5rem 0;font-style:italic;color:var(--text-secondary)}.post-page .post-content code{background-color:var(--bg-secondary);padding:.2rem .4rem;border-radius:4px;font-family:Fira Code,Consolas,monospace;font-size:.9em}.post-page .post-content pre{background-color:var(--bg-secondary);padding:1.5rem;border-radius:8px;overflow-x:auto;margin-bottom:1.5rem}.post-page .post-content pre code{padding:0;background:none}.post-page .post-content img{max-width:100%;height:auto;border-radius:8px}.post-page .post-content hr{border:none;border-top:1px solid var(--border);margin:2rem 0}.post-page .post-content a{text-decoration:underline;text-underline-offset:2px}.post-page .post-footer{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border)}.post-page .back-link{display:inline-flex;align-items:center;gap:.5rem;font-weight:500}.footer{background-color:var(--bg-secondary);border-top:1px solid var(--border);margin-top:auto}.footer .footer-container{max-width:1200px;margin:0 auto;padding:3rem 2rem;text-align:center}.footer .footer-links{display:flex;justify-content:center;gap:2rem;margin-bottom:1.5rem}.footer .footer-links a{color:var(--text-secondary)}.footer .footer-links a:hover{color:var(--primary)}.footer .footer-social{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1.5rem}.footer .footer-social a{color:var(--text-secondary);font-weight:500}.footer .footer-social a:hover{color:var(--primary)}.footer .footer-copyright{color:var(--text-secondary);font-size:.875rem}@media(max-width:768px){.header .header-container{padding:1rem;flex-wrap:wrap}.navigation{order:3;width:100%}.navigation .nav-list{justify-content:center;gap:1rem;padding-top:1rem;border-top:1px solid var(--border)}.hero h1,.about-hero h1,.category-hero h1{font-size:2rem}.post-grid{grid-template-columns:1fr}.about-page .about-intro{flex-direction:column;align-items:center;text-align:center}.post-page .post-header .post-title{font-size:1.75rem}.post-page .post-header .post-excerpt{font-size:1.1rem}.footer .footer-links,.footer .footer-social{flex-wrap:wrap;gap:1rem}}.hidden{display:none}
