:root{--font-mono:"Roboto Mono",monospace}*{box-sizing:border-box}html{font-size:18px;line-height:32px;background:rgb(0,0,0);-webkit-font-smoothing:antialiased}#app,body,html{height:100%}body{font-family:system-ui;font-size:18px;line-height:32px;margin:0;color:rgb(255,255,255);@media (max-width:1024px){font-size:15px;line-height:24px}}img{max-width:100%;height:auto;display:block}h1{margin:0;font-size:48px;line-height:56px;font-weight:700;@media (max-width:768px){font-size:32px;line-height:40px}}h2{margin:0 0 12px;font-size:24px;line-height:32px;font-weight:600;@media (max-width:768px){font-size:20px;line-height:28px}}p{margin:0}a{color:currentColor;text-decoration:none;&:focus,&:hover{opacity:.8}&:active,&:focus{outline:none}&:active{opacity:.7}}.blog{min-height:100vh;display:flex;flex-direction:column;max-width:1200px;margin:0 auto;padding:0 24px}.blog-header{display:flex;justify-content:space-between;align-items:center;padding:32px 0;border-bottom:1px solid rgba(255,255,255,.1);nav a{padding:8px 16px;border:1px solid rgba(255,255,255,.3);border-radius:6px;font-size:14px;transition:all .2s;&:hover{background:rgba(255,255,255,.1)}}}.blog-main{flex:1 1;padding:48px 0}.blog-footer{padding:32px 0;border-top:1px solid rgba(255,255,255,.1);text-align:center;color:rgba(255,255,255,.5);font-size:14px}.no-posts{text-align:center;padding:80px 0;p{color:rgba(255,255,255,.6);margin-bottom:24px}.create-post{display:inline-block;padding:12px 24px;background:white;color:black;border-radius:6px;font-weight:500;transition:transform .2s;&:hover{transform:translateY(-2px);opacity:1}}}.posts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));grid-gap:32px;gap:32px;@media (max-width:768px){grid-template-columns:1fr;gap:24px}}.post-card-link{text-decoration:none;color:inherit;display:block}.post-card{background:rgba(255,255,255,.05);border-radius:12px;overflow:hidden;transition:transform .2s,background .2s}.post-card-link:hover .post-card{transform:translateY(-4px);background:rgba(255,255,255,.08)}.post-image{aspect-ratio:3/2;overflow:hidden;img{width:100%;height:100%;object-fit:cover}}.post-content{padding:24px}.excerpt{color:rgba(255,255,255,.7);font-size:16px;line-height:24px;margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.post-card .post-meta{font-size:14px;color:rgba(255,255,255,.5)}.post-page{min-height:100vh;max-width:800px;margin:0 auto;padding:0 24px}.post-header{padding:32px 0;border-bottom:1px solid rgba(255,255,255,.1)}.back-link{color:rgba(255,255,255,.7);font-size:14px;transition:color .2s;&:hover{color:white;opacity:1}}.post-article{padding:48px 0}.post-hero-image{margin-bottom:32px;border-radius:12px;overflow:hidden}.post-body h1{margin-bottom:16px}.post-body .post-meta{color:rgba(255,255,255,.5);font-size:14px;margin-bottom:32px;display:flex;gap:16px;flex-wrap:wrap}.post-body .author{color:rgba(255,255,255,.7)}.post-content{font-size:18px;line-height:1.8}.post-content p{margin-bottom:24px}.post-content h2{margin-top:48px;margin-bottom:16px}.post-content h3{margin-top:32px;margin-bottom:12px}.post-content ol,.post-content ul{margin-bottom:24px;padding-left:24px}.post-content li{margin-bottom:8px}.post-content blockquote{border-left:4px solid rgba(255,255,255,.3);margin:24px 0;padding:16px 24px;background:rgba(255,255,255,.05);border-radius:0 8px 8px 0;font-style:italic}.post-content a{color:#60a5fa;text-decoration:underline}.post-content code{background:rgba(255,255,255,.1);padding:2px 6px;border-radius:4px;font-family:var(--font-mono);font-size:.9em}.rich-text-image{margin:32px 0;border-radius:8px;overflow:hidden}.rich-text-image img{display:block;width:100%;height:auto}.post-tags{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.tag{display:inline-block;padding:4px 12px;background:rgba(255,255,255,.1);border-radius:16px;font-size:13px;color:rgba(255,255,255,.8);transition:background .2s}.tag:hover{background:rgba(255,255,255,.15)}.post-card .post-tags{margin:8px 0}.post-card .tag{font-size:12px;padding:2px 10px}.post-footer{padding:32px 0;border-top:1px solid rgba(255,255,255,.1)}