/* ===== Reset & Base ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:#fff;color:#111;line-height:1.6;-webkit-font-smoothing:antialiased}

/* ===== Header ===== */
header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #eee}
.header-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;padding:0 24px;height:64px;justify-content:space-between}
.logo{font-size:20px;font-weight:700;letter-spacing:-.4px;text-decoration:none;color:#111}
.logo span{color:#888;font-weight:400}
nav{display:flex;gap:4px}
nav a{text-decoration:none;color:#555;font-size:14px;padding:6px 14px;border-radius:8px;transition:all .2s}
nav a:hover{background:#f5f5f5;color:#111}
nav a.active{background:#f0f0f0;color:#111;font-weight:500}

/* ===== Container ===== */
.container{max-width:1200px;margin:0 auto;padding:0 24px}

/* ===== Hero ===== */
.hero{text-align:center;padding:80px 24px 48px;max-width:720px;margin:0 auto}
.hero h1{font-size:40px;font-weight:700;letter-spacing:-.8px;margin-bottom:12px}
.hero p{color:#666;font-size:18px}
.search-box{margin-top:32px;position:relative;max-width:480px;margin-left:auto;margin-right:auto}
.search-box input{width:100%;height:52px;padding:0 20px 0 48px;border:1px solid #ddd;border-radius:12px;font-size:16px;outline:none;transition:border-color .2s}
.search-box input:focus{border-color:#111}
.search-box .icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#999;font-size:20px;line-height:1}

/* ===== Hero Small (for subpages) ===== */
.hero-sm{padding:48px 24px 32px;text-align:center}
.hero-sm h1{font-size:32px;font-weight:700;letter-spacing:-.6px}

/* ===== Ad ===== */
.ad{background:#fafafa;border:1px solid #eee;border-radius:12px;padding:20px 24px;display:flex;align-items:center;justify-content:center;color:#bbb;font-size:13px;font-weight:500;text-align:center;cursor:pointer;transition:all .2s;min-height:80px}
.ad:hover{border-color:#ddd;background:#f7f7f7}
.ad-banner{margin:24px auto;max-width:100%}
.ad-inline{margin:32px 0}
.ad-sidebar{margin-bottom:32px;min-height:200px}

/* ===== Layout (index page) ===== */
.layout{max-width:1200px;margin:0 auto;padding:0 24px 80px;display:grid;grid-template-columns:1fr 280px;gap:48px}
.layout-wide{grid-template-columns:1fr}

/* ===== Category (index page) ===== */
.cat-section{margin-bottom:48px}
.cat-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.cat-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;color:#fff}
.cat-title{font-size:18px;font-weight:600}
.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.tool-card{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid #eee;border-radius:12px;text-decoration:none;color:inherit;transition:all .2s}
.tool-card:hover{border-color:#ccc;background:#fafafa}
.tool-logo{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;color:#fff;flex-shrink:0}
.tool-info{min-width:0}
.tool-name{font-size:14px;font-weight:600}
.tool-desc{font-size:12px;color:#888;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tool-badge{display:inline-block;font-size:10px;padding:1px 8px;border-radius:4px;margin-left:6px;font-weight:500}
.badge-free{background:#e8f5e9;color:#2e7d32}
.badge-paid{background:#fce4ec;color:#c62828}
.badge-freemium{background:#fff3e0;color:#e65100}

/* ===== Sidebar ===== */
.sidebar-title{font-size:14px;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}
.sidebar-links{list-style:none}
.sidebar-links li{margin-bottom:4px}
.sidebar-links a{display:block;padding:8px 12px;border-radius:8px;text-decoration:none;color:#444;font-size:14px;transition:all .2s}
.sidebar-links a:hover{background:#f5f5f5;color:#111}
.sidebar-links a .count{float:right;color:#bbb;font-size:12px}

/* ===== Articles ===== */
.page-section{padding:40px 0}
.page-title{font-size:28px;font-weight:700;margin-bottom:8px;letter-spacing:-.5px}
.page-desc{color:#666;font-size:15px;margin-bottom:32px}
.article-card{display:block;padding:24px;border:1px solid #eee;border-radius:12px;text-decoration:none;color:inherit;transition:all .2s;margin-bottom:16px}
.article-card:hover{border-color:#ccc;background:#fafafa}
.article-card h3{font-size:18px;font-weight:600;margin-bottom:6px}
.article-card .meta{font-size:12px;color:#999;margin-bottom:8px}
.article-card p{font-size:14px;color:#555;line-height:1.7}
.article-card .tag{display:inline-block;font-size:11px;padding:2px 10px;border-radius:4px;background:#f0f0f0;color:#666;margin-right:4px}

/* ===== Article Detail ===== */
.article-detail{max-width:800px;margin:0 auto;padding:48px 0}
.article-detail h1{font-size:32px;font-weight:700;letter-spacing:-.6px;margin-bottom:8px}
.article-detail .meta{font-size:13px;color:#999;margin-bottom:32px}
.article-detail .content{font-size:16px;color:#333;line-height:1.9}
.article-detail .content p{margin-bottom:20px}
.article-detail .content h2{font-size:24px;font-weight:600;margin:40px 0 16px}
.article-detail .content h3{font-size:20px;font-weight:600;margin:32px 0 12px}
.article-detail .content ul,.article-detail .content ol{padding-left:24px;margin-bottom:20px}
.article-detail .content li{margin-bottom:8px}
.article-detail .content blockquote{border-left:3px solid #ddd;padding:12px 20px;margin:20px 0;color:#666;background:#fafafa;border-radius:0 8px 8px 0}
.article-detail .content img{max-width:100%;border-radius:8px;margin:24px 0}

/* ===== Guestbook ===== */
.guestbook{max-width:700px;margin:0 auto;padding:48px 0;text-align:center}
.guestbook h1{font-size:32px;font-weight:700;letter-spacing:-.6px;margin-bottom:8px}
.guestbook .desc{color:#666;font-size:15px;margin-bottom:48px}

/* ===== Giscus ===== */
.giscus-wrap{margin-top:48px;padding-top:32px;border-top:1px solid #eee;text-align:left}

/* ===== Back link ===== */
.back-link{display:inline-flex;align-items:center;gap:4px;color:#888;font-size:14px;text-decoration:none;margin-bottom:24px;transition:color .2s}
.back-link:hover{color:#111}

/* ===== Footer ===== */
footer{border-top:1px solid #eee;padding:40px 24px;text-align:center;color:#999;font-size:13px}

/* ===== Responsive ===== */
@media(max-width:900px){
  .layout{grid-template-columns:1fr}
  .sidebar{order:-1;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}
  .sidebar-ad-wrap{grid-column:1/-1}
}
@media(max-width:600px){
  .hero h1{font-size:28px}
  .hero-sm h1{font-size:24px}
  .hero p,.page-desc{font-size:15px}
  .tool-grid{grid-template-columns:1fr}
  nav{gap:2px}
  nav a{font-size:13px;padding:5px 10px}
  .article-detail h1{font-size:24px}
}
