:root{--primary:#6366f1;--primary-dark:#4f46e5;--bg:#fff;--bg2:#f8fafc;--text:#1e293b;--text2:#64748b;--border:#e2e8f0;--shadow:0 1px 3px rgba(0,0,0,.08);--shadow-lg:0 8px 24px rgba(0,0,0,.1);--r:12px;--rs:8px}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Sarabun','Noto Sans Thai',sans-serif;background:var(--bg2);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--primary);text-decoration:none}
.container{max-width:900px;margin:0 auto;padding:0 16px}

/* Header */
.header{background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;height:56px;display:flex;align-items:center}
.header .container{display:flex;align-items:center;justify-content:space-between;width:100%}
.logo{display:flex;align-items:center;gap:8px;font-size:1.1rem;font-weight:700;color:var(--text)}
.logo img{height:28px;width:auto}
.logo i{color:var(--primary);font-size:1.2rem}
.nav{display:none}
.mobile-menu-btn{width:40px;height:40px;border:none;background:none;font-size:1.1rem;color:var(--text);cursor:pointer;border-radius:var(--rs);display:flex;align-items:center;justify-content:center}
.mobile-nav{display:none;background:var(--bg);border-bottom:1px solid var(--border);padding:4px 16px}
.mobile-nav.active{display:flex;flex-direction:column;gap:2px}
.mobile-nav-link{display:flex;align-items:center;gap:8px;padding:12px;color:var(--text);border-radius:var(--rs)}
.mobile-nav-link:hover,.mobile-nav-link.active{background:var(--bg2);color:var(--primary)}

/* Hero */
.hero{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;padding:40px 16px;text-align:center}
.hero h1{font-size:1.5rem;margin-bottom:8px}
.hero p{opacity:.9}

/* Content */
.main-content{padding:24px 16px 80px}
.section-header{margin-bottom:20px}
.section-header h2{font-size:1.2rem;font-weight:700}

/* Page Content */
.page-content{min-height:80vh}
.content-area{max-width:800px;margin:0 auto;padding:24px 16px}
.content-area img{max-width:100%;border-radius:var(--rs);margin:16px 0}
.content-area h1{font-size:1.8rem;margin:24px 0 12px}
.content-area h2{font-size:1.4rem;margin:20px 0 10px}
.content-area h3{font-size:1.2rem;margin:16px 0 8px}
.content-area p{margin-bottom:16px;line-height:1.8}
.content-area blockquote{border-left:4px solid var(--primary);padding:12px 16px;margin:16px 0;background:var(--bg2);border-radius:0 var(--rs) var(--rs) 0}

/* Posts Grid */
.posts-grid{display:grid;gap:16px}
.post-card{background:var(--bg);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;cursor:pointer}
.post-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.post-card-image{width:100%;aspect-ratio:1200/630;object-fit:cover;background:var(--bg2)}
.post-card-body{padding:16px}
.post-card-title{font-size:1.05rem;font-weight:600;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.post-card-excerpt{font-size:.85rem;color:var(--text2);margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.post-card-meta{font-size:.75rem;color:var(--text2)}

/* Post Article */
.post-article{background:var(--bg);border-radius:var(--r);padding:24px 16px;box-shadow:var(--shadow);margin-bottom:40px}
.post-article-title{font-size:1.5rem;font-weight:700;line-height:1.3;margin-bottom:10px}
.post-article-meta{font-size:.85rem;color:var(--text2);margin-bottom:20px}
.post-article-cover-full{width:calc(100% + 48px);margin-left:-24px;margin-bottom:24px;border-radius:0;display:block}
.post-article-content{font-size:1rem;line-height:1.8}
.post-article-content h1{font-size:1.5rem;margin:24px 0 10px}
.post-article-content h2{font-size:1.3rem;margin:20px 0 8px}
.post-article-content img{border-radius:var(--rs);margin:16px 0}
.post-article-content blockquote{border-left:4px solid var(--primary);padding:12px 16px;margin:16px 0;background:var(--bg2);border-radius:0 var(--rs) var(--rs) 0}

/* Loading & Empty */
.loading-state{display:flex;flex-direction:column;align-items:center;padding:60px 16px;color:var(--text2);gap:12px}
.spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.empty-state{display:flex;flex-direction:column;align-items:center;padding:60px 16px;text-align:center;color:var(--text2);gap:10px}
.empty-state i{font-size:2.5rem;color:var(--border)}
.empty-state h3{font-size:1.1rem;color:var(--text)}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border:none;border-radius:var(--rs);font-size:.9rem;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);color:#fff}
.btn-outline{background:transparent;color:var(--primary);border:2px solid var(--primary)}.btn-outline:hover{background:var(--primary);color:#fff}
.btn-block{width:100%}
.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626;color:#fff}
.btn-sm{padding:5px 10px;font-size:.8rem}

/* Forms */
.form-group{margin-bottom:16px}
.form-group label{display:flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;margin-bottom:6px}
.form-input{width:100%;padding:10px 14px;border:2px solid var(--border);border-radius:var(--rs);font-size:.9rem;font-family:inherit;background:var(--bg);color:var(--text)}
.form-input:focus{outline:none;border-color:var(--primary)}
.form-textarea{resize:vertical;min-height:60px}
.form-hint{font-size:.75rem;color:var(--text2);margin-top:3px}

/* Footer */
.footer{background:var(--bg);border-top:1px solid var(--border);padding:20px 16px;text-align:center;font-size:.8rem;color:var(--text2)}
.footer p{margin-bottom:8px}
.footer-admin{margin-top:10px}
.footer-admin a{color:var(--text2);opacity:.4;font-size:.75rem;transition:opacity .2s}
.footer-admin a:hover{opacity:1;color:var(--primary)}

/* Responsive */
@media(min-width:640px){
  .nav{display:flex;gap:4px}
  .mobile-menu-btn{display:none}
  .hero h1{font-size:2rem}
  .posts-grid{grid-template-columns:repeat(2,1fr)}
  .post-article{padding:32px}
  .post-article-title{font-size:2rem}
  .post-article-cover-full{width:calc(100% + 64px);margin-left:-32px}
}
@media(min-width:1024px){
  .posts-grid{grid-template-columns:repeat(3,1fr)}
  .hero{padding:60px 24px}
  .hero h1{font-size:2.5rem}
}
