*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Noto Sans KR','Inter',sans-serif;background:#0a0a0a;color:#e5e5e5;line-height:1.7}
a{color:#60a5fa;text-decoration:none}
a:hover{text-decoration:underline}

.nav{position:sticky;top:0;z-index:100;background:rgba(10,10,10,0.9);backdrop-filter:blur(12px);border-bottom:1px solid #222}
.nav-inner{max-width:960px;margin:0 auto;padding:14px 24px;display:flex;justify-content:space-between;align-items:center}
.logo{font-size:1.3rem;font-weight:700;color:#fff;text-decoration:none}
.logo:hover{text-decoration:none}
.logo-dot{color:#ef4444}
.nav-links{display:flex;gap:20px}
.nav-links a{color:#a1a1aa;font-size:.9rem}
.nav-links a:hover{color:#fff}

.hero{text-align:center;padding:80px 24px 48px;border-bottom:1px solid #1a1a1a}
.hero h1{font-size:2rem;font-weight:700;color:#fff;margin-bottom:12px}
.hero p{color:#a1a1aa;font-size:1.05rem;max-width:600px;margin:0 auto}

.container{max-width:960px;margin:0 auto;padding:32px 24px}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px}
.tag{padding:6px 16px;border-radius:20px;border:1px solid #333;background:transparent;color:#a1a1aa;font-size:.85rem;cursor:pointer;font-family:inherit}
.tag:hover{border-color:#60a5fa;color:#60a5fa}
.tag.active{background:#ef4444;border-color:#ef4444;color:#fff}

.posts{display:flex;flex-direction:column;gap:24px}
.post-card{background:#141414;border:1px solid #222;border-radius:12px;padding:28px;transition:border-color .2s}
.post-card:hover{border-color:#333}
.post-meta{display:flex;gap:12px;align-items:center;margin-bottom:10px;font-size:.8rem;color:#71717a}
.post-tag{background:#1a1a2e;color:#60a5fa;padding:2px 10px;border-radius:12px;font-size:.75rem}
.post-card h2{font-size:1.25rem;font-weight:600;color:#fff;margin-bottom:8px;line-height:1.4}
.post-card h2 a{color:#fff;text-decoration:none}
.post-card h2 a:hover{color:#60a5fa}
.post-excerpt{color:#a1a1aa;font-size:.92rem;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.post-card .read-more{display:inline-block;margin-top:12px;color:#ef4444;font-size:.85rem;font-weight:500}

.footer{border-top:1px solid #1a1a1a;padding:32px 24px;text-align:center;color:#525252;font-size:.85rem}
.footer-inner{max-width:960px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}

.empty{text-align:center;padding:60px 24px;color:#525252}

@media(max-width:640px){
.hero h1{font-size:1.5rem}
.hero{padding:48px 16px 32px}
.nav-inner{padding:12px 16px}
.container{padding:20px 16px}
.footer-inner{flex-direction:column;gap:8px}
}
