 :root{--bg-primary:#ffffff;--bg-secondary:#f8f9fa;--bg-code:#f3f4f6;--text-primary:#1a1a1a;--text-secondary:#4a5568;--text-muted:#718096;--accent:#3182ce;--accent-hover:#2563eb;--border:#e2e8f0;--shadow:rgba(0,0,0,0.1);--font-sans:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu',sans-serif;--font-serif:'Georgia','Times New Roman',serif;--font-mono:'SF Mono','Monaco','Inconsolata','Fira Code',monospace;}*{box-sizing:border-box;}body{font-family:var(--font-sans);margin:0;padding:0;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.75;font-size:16px;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}.container{max-width:720px;margin:0 auto;padding:0 20px;} header{background-color:var(--bg-primary);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;backdrop-filter:blur(10px);background-color:rgba(255,255,255,0.95);}header .container{display:flex;justify-content:space-between;align-items:center;padding-top:1.5rem;padding-bottom:1.5rem;}header h1{margin:0;font-size:1.5rem;font-weight:700;letter-spacing:-0.025em;}header h1 a{color:var(--text-primary);text-decoration:none;transition:color 0.2s;}header h1 a:hover{color:var(--accent);} nav ul{list-style:none;padding:0;margin:0;display:flex;gap:2rem;}nav a{color:var(--text-secondary);text-decoration:none;font-weight:500;font-size:0.95rem;transition:color 0.2s;position:relative;}nav a:hover{color:var(--text-primary);}nav a::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:2px;background-color:var(--accent);transform:scaleX(0);transition:transform 0.3s;}nav a:hover::after{transform:scaleX(1);} main{min-height:80vh;padding:4rem 0;} .post-preview{margin-bottom:4rem;padding-bottom:3rem;border-bottom:1px solid var(--border);}.post-preview:last-child{border-bottom:none;}.post-preview h2{margin:0 0 0.5rem 0;font-size:1.875rem;font-weight:700;line-height:1.3;letter-spacing:-0.025em;}.post-preview h2 a{color:var(--text-primary);text-decoration:none;transition:color 0.2s;}.post-preview h2 a:hover{color:var(--accent);} .post-meta{display:flex;gap:1rem;margin-bottom:1rem;font-size:0.875rem;color:var(--text-muted);}.post-meta span{display:flex;align-items:center;gap:0.25rem;} .post-content{color:var(--text-secondary);font-size:1.0625rem;line-height:1.75;}article .post-content{margin-top:3rem;font-family:var(--font-serif);font-size:1.125rem;line-height:1.8;}.post-content h1,.post-content h2,.post-content h3,.post-content h4{color:var(--text-primary);font-weight:700;margin-top:3rem;margin-bottom:1rem;line-height:1.3;letter-spacing:-0.025em;}.post-content h1{font-size:2.25rem;}.post-content h2{font-size:1.875rem;}.post-content h3{font-size:1.5rem;}.post-content h4{font-size:1.25rem;}.post-content p{margin-bottom:1.5rem;}.post-content a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;transition:color 0.2s;}.post-content a:hover{color:var(--accent-hover);} pre{background-color:var(--bg-code);border-radius:0.5rem;padding:1.5rem;overflow-x:auto;margin:2rem 0;font-size:0.875rem;line-height:1.7;}code{font-family:var(--font-mono);font-size:0.875em;background-color:var(--bg-code);padding:0.125rem 0.375rem;border-radius:0.25rem;}pre code{background:none;padding:0;font-size:inherit;} .post-content ul,.post-content ol{margin-bottom:1.5rem;padding-left:1.5rem;}.post-content li{margin-bottom:0.5rem;} blockquote{border-left:4px solid var(--accent);padding-left:1.5rem;margin:2rem 0;font-style:italic;color:var(--text-secondary);} .read-more{display:inline-flex;align-items:center;gap:0.5rem;color:var(--accent);text-decoration:none;font-weight:500;margin-top:1rem;transition:gap 0.2s;}.read-more:hover{gap:0.75rem;}.read-more::after{content:'→';transition:transform 0.2s;} .archive h1{font-size:2.5rem;font-weight:700;margin-bottom:3rem;letter-spacing:-0.025em;}.year-section{margin-bottom:3rem;}.year-section h2{font-size:1.5rem;font-weight:600;color:var(--text-secondary);margin-bottom:1.5rem;}.post-list{list-style:none;padding:0;}.post-list li{padding:1rem 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:baseline;gap:2rem;}.post-list li:last-child{border-bottom:none;}.post-list .date{color:var(--text-muted);font-size:0.875rem;font-variant-numeric:tabular-nums;flex-shrink:0;}.post-list a{color:var(--text-primary);text-decoration:none;font-weight:500;flex-grow:1;transition:color 0.2s;}.post-list a:hover{color:var(--accent);}.post-list .author{color:var(--text-muted);font-size:0.875rem;} .tags{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:1rem;}.tag{background-color:var(--bg-secondary);padding:0.375rem 0.75rem;border-radius:9999px;text-decoration:none;color:var(--text-secondary);font-size:0.875rem;font-weight:500;transition:all 0.2s;}.tag:hover{background-color:var(--accent);color:white;} .ipfs-badge{display:inline-flex;align-items:center;gap:0.25rem;background-color:var(--bg-secondary);padding:0.25rem 0.625rem;border-radius:9999px;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.025em;color:var(--text-secondary);} footer{border-top:1px solid var(--border);padding:3rem 0;margin-top:6rem;text-align:center;}footer p{margin:0.25rem 0;color:var(--text-muted);font-size:0.875rem;} .search-box{margin-bottom:3rem;}.search-box h1{font-size:2.5rem;font-weight:700;margin-bottom:2rem;letter-spacing:-0.025em;}.search-form{display:flex;gap:1rem;max-width:500px;}.search-form input[type="text"]{flex:1;padding:0.75rem 1rem;border:2px solid var(--border);border-radius:0.5rem;font-size:1rem;font-family:inherit;transition:border-color 0.2s;}.search-form input[type="text"]:focus{outline:none;border-color:var(--accent);}.search-form button{padding:0.75rem 1.5rem;background-color:var(--accent);color:white;border:none;border-radius:0.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color 0.2s;}.search-form button:hover{background-color:var(--accent-hover);} @media (max-width:768px){header .container{flex-direction:column;gap:1rem;align-items:flex-start;}nav ul{gap:1.5rem;}.post-preview h2{font-size:1.5rem;}.post-list li{flex-direction:column;gap:0.5rem;align-items:flex-start;}.search-form{flex-direction:column;}.search-form input[type="text"],.search-form button{width:100%;}}