:root{--color-primary: #1a1a2e;--color-accent: #4a9eff;--color-text: #2d2d2d;--color-text-light: #666;--color-bg: #f4f6f9;--color-card: #ffffff;--color-border: #e0e4ea;--shadow-card: 0 2px 12px rgba(0, 0, 0, 0.07);--shadow-card-hover: 0 10px 32px rgba(0, 0, 0, 0.14);--radius: 10px;--radius-tile: 4px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1100px;margin:0 auto;padding:0 1.5rem}.site-header{background:var(--color-bg);position:sticky;top:0;z-index:100;border-bottom:1px solid var(--color-border)}.site-header .container{display:flex;align-items:center;justify-content:space-between;height:64px}.site-title{color:var(--color-primary);font-size:1.25rem;font-weight:400;text-decoration:none;letter-spacing:-0.01em}.site-nav{display:flex;gap:1.75rem}.site-nav a{color:var(--color-text-light);font-size:0.95rem;font-weight:500;text-decoration:none;padding-bottom:3px;border-bottom:2px solid transparent;transition:color 0.2s, border-color 0.2s}.site-nav a:hover,.site-nav a.active{color:var(--color-primary);border-bottom-color:var(--color-text-light)}.site-main{min-height:calc(100vh - 128px);padding:3rem 0}.post-grid{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width: 600px){.post-grid{grid-template-columns:repeat(2, 1fr)}}@media (min-width: 900px){.post-grid{grid-template-columns:repeat(3, 1fr)}}.post-tile{background:var(--color-card);border-radius:var(--radius-tile);border:1px solid var(--color-border);overflow:hidden;transition:transform 0.25s ease;display:flex;flex-direction:column}.post-tile:hover{transform:translateY(-5px)}.tile-link{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}.tile-link:hover{text-decoration:none}.tile-link:hover .tile-title{text-decoration:none}.tile-image{width:100%;display:flex;align-items:center;aspect-ratio:2.67;background:#ffffff;overflow:hidden}.tile-image img{width:100%;display:block;object-fit:cover;transition:transform 0.35s ease}.tile-image-placeholder{width:100%;background:linear-gradient(135deg, #dce3ec 0%, #c8d3e0 100%)}.post-tile:hover .tile-image img{transform:scale(1.05)}.tile-content{padding:0.4rem 0.5rem 0.5rem;flex:1;display:flex;flex-direction:column}.tile-date{font-size:0.78rem;color:var(--color-text-light);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:0.2rem}.tile-title{font-size:1.1rem;font-weight:700;line-height:1.3;color:var(--color-primary);margin-bottom:0.25rem}.tile-excerpt{font-size:0.9rem;color:var(--color-text-light);line-height:1.65;flex:1;margin-bottom:0.4rem}.read-more{font-size:0.85rem;font-weight:600;color:var(--color-accent);letter-spacing:0.02em}.post-container{max-width:760px;margin:0 auto}.post-hero{border-radius:var(--radius);overflow:hidden;margin-bottom:2.5rem;box-shadow:var(--shadow-card);aspect-ratio:2.67;background:#ffffff;display:flex;align-items:center;justify-content:center}.post-hero img{width:100%;object-fit:contain;display:block}.post-header{margin-bottom:2.5rem}.post-title{font-size:2.1rem;font-weight:800;color:var(--color-primary);line-height:1.2;margin-bottom:0.6rem}.post-meta{color:var(--color-text-light);font-size:0.88rem;text-transform:uppercase;letter-spacing:0.05em}.post-content{font-size:1.05rem;line-height:1.85;color:var(--color-text)}.post-content a{color:inherit;text-decoration:underline}.post-content a:hover{text-decoration:underline}.post-content h2{font-size:1.45rem;font-weight:700;color:var(--color-primary);margin:2.5rem 0 1rem}.post-content h3{font-size:1.2rem;font-weight:700;color:var(--color-primary);margin:2rem 0 0.75rem}.post-content p{margin-bottom:1.4rem}.post-content ul,.post-content ol{margin:0 0 1.4rem 1.5rem}.post-content li{margin-bottom:0.4rem}.post-content blockquote{border-left:4px solid var(--color-accent);padding:0.5rem 1.25rem;margin:1.5rem 0;color:var(--color-text-light);font-style:italic;background:rgba(74,158,255,0.05);border-radius:0 var(--radius) var(--radius) 0}.post-content code:not(.gist code){background:#eef1f5;padding:0.15em 0.45em;border-radius:4px;font-size:0.88em;font-family:"SF Mono", "Fira Code", "Cascadia Code", monospace}.post-content pre:not(.gist pre){background:#1e2533;color:#cdd6f4;padding:1.25rem 1.5rem;border-radius:var(--radius);overflow-x:auto;margin-bottom:1.4rem}.post-content pre:not(.gist pre) code{background:none;padding:0;font-size:0.9em;color:inherit}.post-content .gist{margin-bottom:1.4rem}.gist .gist-file{border:1px solid var(--color-border) !important;border-radius:var(--radius) !important;overflow:hidden !important;font-family:"SF Mono", "Fira Code", "Cascadia Code", "Courier New", monospace !important;font-size:0.85rem !important}.gist .gist-data{background:var(--color-bg) !important;border-bottom:1px solid var(--color-border) !important;overflow-x:auto !important}.gist .blob-wrapper table,.gist .highlight table{border-collapse:collapse !important;width:100% !important}.gist .blob-num,.gist .js-line-number{background:#eef1f5 !important;color:#aab1be !important;border-right:1px solid var(--color-border) !important;padding:0 0.75rem !important;text-align:right !important;user-select:none !important;min-width:2.5rem !important;font-size:0.8rem !important;vertical-align:top !important}.gist .blob-code,.gist .blob-code-inner{background:var(--color-bg) !important;color:#2d2d2d !important;padding:0 1rem !important;white-space:pre !important;vertical-align:top !important}.gist .pl-k{color:#c678dd !important}.gist .pl-s,.gist .pl-s1{color:#98c379 !important}.gist .pl-c,.gist .pl-c1{color:#e5c07b !important}.gist .pl-en{color:#61afef !important}.gist .pl-e,.gist .pl-smi{color:#e06c75 !important}.gist .pl-pds,.gist .pl-s .pl-pse .pl-s1{color:#98c379 !important}.gist .pl-sr,.gist .pl-sre{color:#56b6c2 !important}.gist .pl-v{color:#e06c75 !important}.gist .pl-mb{font-weight:bold !important}.gist .pl-c{color:#7f848e !important;font-style:italic !important}.gist .gist-meta{background:#eef1f5 !important;color:var(--color-text-light) !important;font-size:0.75rem !important;padding:0.4rem 0.75rem !important;border-top:1px solid var(--color-border) !important}.gist .gist-meta a{color:var(--color-text-light) !important;text-decoration:none !important}.gist .gist-meta a:hover{text-decoration:underline !important}.post-content figure{margin:1.5rem 0;text-align:center}.post-content figure img{display:inline-block;max-width:100%}.post-content figcaption{font-size:0.82rem;color:var(--color-text-light);text-align:center;margin-top:0.5rem;font-style:italic;line-height:1.5}.post-back{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.post-back a{font-size:0.9rem;font-weight:500;color:var(--color-text-light)}.post-back a:hover{color:var(--color-accent);text-decoration:none}.about-page{max-width:720px}.about-profile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;margin-bottom:2.5rem}.profile-picture{width:225px;height:225px;border-radius:50%;object-fit:cover;flex-shrink:0;box-shadow:0 4px 20px rgba(0,0,0,0.12)}.about-info h1{font-size:1.9rem;font-weight:800;color:var(--color-primary);margin-bottom:0.5rem;line-height:1.2}.about-info>p{color:var(--color-text-light);font-size:1rem;line-height:1.7;margin-bottom:0}.social-links{display:flex;flex-wrap:wrap;gap:0.75rem;margin-top:1rem;justify-content:center}.social-link{display:inline-flex;align-items:center;gap:0.45rem;padding:0.5rem 1.1rem;border:2px solid var(--color-border);border-radius:50px;color:var(--color-text);font-size:0.88rem;font-weight:600;text-decoration:none;transition:border-color 0.2s, color 0.2s, background 0.2s}.social-link.icon-only{padding:0.55rem;gap:0}.social-link:hover{border-color:var(--color-accent);color:var(--color-accent);background:rgba(74,158,255,0.06);text-decoration:none}.social-link svg{width:20px;height:20px;flex-shrink:0}.about-divider{border:none;border-top:1px solid var(--color-border);margin:2.5rem 0}.about-bio{font-size:1rem;line-height:1.85;color:var(--color-text)}.about-bio p{margin-bottom:1.2rem}.about-bio h2{font-size:1.35rem;font-weight:700;color:var(--color-primary);margin:2rem 0 0.75rem}.site-footer{background:var(--color-bg);color:var(--color-text-light);border-top:1px solid var(--color-border);padding:1.5rem 0;text-align:center;font-size:0.85rem}
