*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;background:#f9fafb;color:#111;line-height:1.6}a{color:inherit;text-decoration:none}.nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:#fff;border-bottom:1px solid #e5e7eb}.nav-logo{font-size:1.2rem;font-weight:700;letter-spacing:-.02em}.nav-links{display:flex;gap:1.5rem;list-style:none}.nav-links a{font-size:.95rem;color:#6b7280;transition:color .15s}.nav-links a.active,.nav-links a:hover{color:#111}.nav-toggle{background:none;border:none;cursor:pointer;padding:.25rem}.nav-mobile,.nav-toggle{display:none}@media (max-width:640px){.nav-links{display:none}.nav-toggle{display:block}.nav-mobile{display:flex;flex-direction:column;gap:.5rem;padding:.75rem 1.5rem 1rem;background:#fff;border-bottom:1px solid #e5e7eb;list-style:none}.nav-mobile a{font-size:1rem;color:#6b7280;padding:.25rem 0}.nav-mobile a.active,.nav-mobile a:hover{color:#111}}.page{max-width:48rem}.page,.page-wide{margin:0 auto;padding:2rem 1.5rem}.page-wide{max-width:64rem}.page h1{font-size:1.75rem;font-weight:700}.page h1,.page h2{margin-bottom:.5rem}.page h2{font-size:1.25rem;font-weight:600}.page p{color:#4b5563;margin-bottom:1rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;margin-top:1.5rem}.card{background:#fff;border-radius:.75rem;overflow:hidden;border:1px solid #e5e7eb;transition:box-shadow .15s}.card:hover{box-shadow:0 4px 12px rgba(0,0,0,.08)}.card-body{padding:1rem}.card-body h3{font-size:1.05rem;font-weight:600;margin-bottom:.25rem}.card-body p{font-size:.9rem;color:#6b7280;margin-bottom:0}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-top:1.5rem}.image-grid img{width:100%;height:auto;border-radius:.5rem;cursor:pointer;transition:transform .15s}.image-grid img:hover{transform:scale(1.02)}.tag{display:inline-block;padding:.15rem .5rem;font-size:.75rem;border-radius:9999px;background:#f3f4f6;color:#6b7280;margin-right:.35rem;margin-top:.5rem}.post-list{display:flex;flex-direction:column;gap:1.5rem;margin-top:1.5rem}.post-item{padding-bottom:1.5rem;border-bottom:1px solid #f3f4f6}.post-item h3{font-size:1.1rem;font-weight:600;margin-bottom:.25rem}.post-item .post-date{font-size:.85rem;color:#9ca3af;margin-bottom:.35rem}.post-item p{font-size:.95rem;color:#6b7280;margin-bottom:0}