/* Design System — nufusdisc0 Blog */
:root {
    --bg-primary: #07070d;
    --bg-secondary: #0e0e18;
    --bg-card: rgba(255,255,255,0.025);
    --bg-card-hover: rgba(255,255,255,0.05);
    --bg-glass: rgba(255,255,255,0.04);
    --accent-1: #6366f1;
    --accent-2: #a78bfa;
    --accent-gradient: linear-gradient(135deg, #6366f1, #a78bfa);
    --text-primary: #e8ecf4;
    --text-secondary: #9ca3b4;
    --text-muted: #5c6478;
    --border: rgba(255,255,255,0.06);
    --border-hover: rgba(255,255,255,0.12);
    --success: #34d399;
    --danger: #f87171;
    --radius: 12px;
    --radius-sm: 8px;
    --radius-xs: 6px;
    --shadow: 0 4px 24px rgba(0,0,0,0.4);
    --transition: 0.2s ease;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.7;min-height:100vh;-webkit-font-smoothing:antialiased}
a{color:var(--accent-2);text-decoration:none;transition:color var(--transition)}
a:hover{color:var(--accent-1)}
img{max-width:100%;height:auto}

.container{max-width:1100px;margin:0 auto;padding:0 1.5rem}
.container--narrow{max-width:780px}

/* Header */
.site-header {
    position: sticky;
    top: 1.5rem;
    z-index: 100;
    margin: 1.5rem auto;
    max-width: 960px;
    background: rgba(14, 14, 24, 0.65);
    backdrop-filter: blur(24px) saturate(180%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 100px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 68px;
    padding: 0 1rem;
}
.logo {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: var(--text-primary);
    font-weight: 800;
    font-size: 1.25rem;
    letter-spacing: -0.02em;
    padding-left: 0.5rem;
}
.logo:hover {
    color: var(--text-primary);
}
.logo-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: var(--accent-gradient);
    border-radius: 10px;
    font-size: 0.9rem;
    color: #fff;
    box-shadow: 0 4px 12px rgba(99,102,241,0.3);
}
.logo-icon--large {
    width: 48px;
    height: 48px;
    font-size: 1.2rem;
    border-radius: var(--radius-sm);
}
.main-nav {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding-right: 0.25rem;
}
.nav-link {
    padding: 0.5rem 1rem;
    border-radius: 100px;
    color: var(--text-secondary);
    font-size: 0.9rem;
    font-weight: 600;
    transition: all var(--transition);
}
.nav-link:hover {
    color: var(--text-primary);
    background: rgba(255,255,255,0.08);
}
.nav-link--accent {
    background: var(--text-primary);
    color: var(--bg-primary)!important;
    box-shadow: 0 2px 10px rgba(255,255,255,0.15);
    margin-left: 0.25rem;
}
.nav-link--accent:hover {
    background: #fff;
    transform: translateY(-1px);
    box-shadow: 0 4px 15px rgba(255,255,255,0.25);
}
.nav-logout {
    background: none;
    border: none;
    cursor: pointer;
    font-family: inherit;
}
.nav-divider {
    width: 1px;
    height: 20px;
    background: var(--border);
    margin: 0 0.5rem;
}

/* Hero */
.hero{padding:5rem 0 3rem;text-align:center;background:radial-gradient(ellipse at 50% 0%,rgba(99,102,241,0.08) 0%,transparent 60%)}
.hero-title{font-size:clamp(2.2rem,5vw,3.4rem);font-weight:800;letter-spacing:-0.03em;line-height:1.15;background:linear-gradient(135deg,var(--text-primary),var(--accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-subtitle{margin-top:1rem;color:var(--text-muted);font-size:1.15rem;max-width:500px;margin-inline:auto}

/* Category Filters */
.category-filters{display:flex;gap:0.5rem;margin-bottom:2.5rem;flex-wrap:wrap}
.cat-pill{padding:0.4rem 1rem;border-radius:100px;font-size:0.85rem;font-weight:500;color:var(--text-secondary);border:1px solid var(--border);transition:all var(--transition)}
.cat-pill:hover{border-color:var(--border-hover);color:var(--text-primary);background:var(--bg-glass)}
.cat-pill--active{background:var(--accent-gradient);border-color:transparent;color:#fff}
.cat-pill--active:hover{color:#fff}

/* Post Cards */
.content-section{padding:2rem 0 4rem}
.posts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}
.post-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem;display:flex;flex-direction:column;justify-content:space-between;transition:all 0.3s ease;min-height:220px}
.post-card:hover{background:var(--bg-card-hover);border-color:var(--border-hover);transform:translateY(-3px);box-shadow:var(--shadow)}
.post-meta{display:flex;align-items:center;gap:0.75rem;margin-bottom:0.75rem;font-size:0.8rem}
.post-category{background:rgba(99,102,241,0.15);color:var(--accent-2);padding:0.2rem 0.65rem;border-radius:100px;font-weight:600;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.04em}
.post-date{color:var(--text-muted)}
.post-card-title{font-size:1.3rem;font-weight:700;line-height:1.35;margin-bottom:0.5rem}
.post-card-title a{color:var(--text-primary);transition:color var(--transition)}
.post-card-title a:hover{color:var(--accent-2)}
.post-excerpt{color:var(--text-secondary);font-size:0.92rem;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.post-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}
.post-author{color:var(--text-muted);font-size:0.85rem}
.read-more{font-size:0.85rem;font-weight:600;color:var(--accent-2)}

/* Pagination */
.pagination{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border)}
.page-btn{padding:0.5rem 1.2rem;border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text-secondary);font-weight:500;font-size:0.9rem;transition:all var(--transition)}
.page-btn:hover{border-color:var(--accent-1);color:var(--accent-2);background:rgba(99,102,241,0.08)}
.page-info{color:var(--text-muted);font-size:0.9rem}

/* Empty State */
.empty-state{text-align:center;padding:5rem 2rem}
.empty-state--sm{padding:3rem 2rem}
.empty-icon{font-size:3.5rem;margin-bottom:1rem}
.empty-state h2{font-size:1.5rem;margin-bottom:0.5rem}
.empty-state p{color:var(--text-muted);margin-bottom:1.5rem}

/* Single Post */
.post-single{padding:3rem 0 5rem}
.post-header{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--border)}
.post-title{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;letter-spacing:-0.02em;line-height:1.2;margin:1rem 0 1.5rem}
.post-reading{color:var(--text-muted)}
.post-author-info{display:flex;align-items:center;gap:0.75rem}
.author-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:0.85rem;color:#fff}
.author-name{font-weight:500;color:var(--text-secondary)}

/* Prose */
.prose{font-size:1.05rem;line-height:1.85}
.prose h1,.prose h2,.prose h3{margin-top:2.5rem;margin-bottom:1rem;font-weight:700;line-height:1.3}
.prose h1{font-size:2rem}.prose h2{font-size:1.6rem}.prose h3{font-size:1.3rem}
.prose p{margin-bottom:1.5rem;color:var(--text-secondary)}
.prose a{color:var(--accent-2);text-decoration:underline}
.prose strong{color:var(--text-primary)}
.prose ul,.prose ol{margin-bottom:1.5rem;padding-left:1.5rem;color:var(--text-secondary)}
.prose li{margin-bottom:0.5rem}
.prose blockquote{border-left:3px solid var(--accent-1);padding:0.75rem 1.25rem;margin:1.5rem 0;background:var(--bg-glass);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-secondary)}
.prose pre{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1.25rem;overflow-x:auto;margin:1.5rem 0}
.prose code{font-family:'JetBrains Mono',monospace;font-size:0.88em}
.prose p code,.prose li code{background:rgba(99,102,241,0.12);padding:0.15em 0.45em;border-radius:4px;color:var(--accent-2)}
.prose img{border-radius:var(--radius);margin:1.5rem 0}
.prose hr{border:none;border-top:1px solid var(--border);margin:2.5rem 0}
.prose table{width:100%;border-collapse:collapse;margin:1.5rem 0}
.prose th,.prose td{padding:0.75rem 1rem;border:1px solid var(--border);text-align:left}
.prose th{background:var(--bg-secondary);font-weight:600}
.post-footer{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border)}
.back-link{color:var(--text-muted);font-weight:500;transition:color var(--transition)}
.back-link:hover{color:var(--accent-2)}

/* Tags */
.post-tags{margin-top:2.5rem;padding:1.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius)}
.post-tags-label{display:block;font-size:0.85rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.04em;margin-bottom:0.75rem}
.post-tags-list{display:flex;flex-wrap:wrap;gap:0.5rem}
.tag-pill{display:inline-flex;align-items:center;padding:0.3rem 0.85rem;border-radius:100px;font-size:0.82rem;font-weight:500;color:var(--accent-2);background:rgba(99,102,241,0.08);border:1px solid rgba(99,102,241,0.2);transition:all var(--transition);text-decoration:none}
.tag-pill:hover{background:rgba(99,102,241,0.18);border-color:rgba(99,102,241,0.4);color:var(--accent-2);transform:translateY(-1px)}
.tag-pill--sm{padding:0.2rem 0.6rem;font-size:0.72rem}
.post-card-tags{display:flex;flex-wrap:wrap;gap:0.35rem;margin-top:0.75rem}

/* Login */
.login-section{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 64px - 80px);padding:2rem}
.login-card{width:100%;max-width:400px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:2.5rem;backdrop-filter:blur(10px)}
.login-header{text-align:center;margin-bottom:2rem}
.login-header h1{font-size:1.5rem;margin-top:1rem;margin-bottom:0.25rem}
.login-header p{color:var(--text-muted);font-size:0.9rem}

/* Forms */
.form-group{margin-bottom:1.25rem}
.form-group label{display:block;margin-bottom:0.4rem;font-weight:500;font-size:0.9rem;color:var(--text-secondary)}
.form-group label small{color:var(--text-muted)}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:0.7rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:0.95rem;transition:border-color var(--transition),box-shadow var(--transition)}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--accent-1);box-shadow:0 0 0 3px rgba(99,102,241,0.15)}
.form-group textarea{resize:vertical;line-height:1.6}
.form-group select{cursor:pointer}
.input--large{font-size:1.3rem!important;font-weight:600;padding:0.9rem 1rem!important}
.checkbox-label{display:flex!important;align-items:center;gap:0.6rem;cursor:pointer}
.checkbox-label input[type="checkbox"]{width:18px;height:18px;accent-color:var(--accent-1)}
.alert{padding:0.75rem 1rem;border-radius:var(--radius-sm);margin-bottom:1.25rem;font-size:0.9rem}
.alert--error{background:rgba(248,113,113,0.1);border:1px solid rgba(248,113,113,0.2);color:var(--danger)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:0.6rem 1.25rem;border-radius:var(--radius-sm);font-family:inherit;font-size:0.9rem;font-weight:600;border:none;cursor:pointer;transition:all var(--transition);text-decoration:none}
.btn--primary{background:var(--accent-gradient);color:#fff}
.btn--primary:hover{opacity:0.9;color:#fff;transform:translateY(-1px)}
.btn--ghost{background:transparent;border:1px solid var(--border);color:var(--text-secondary)}
.btn--ghost:hover{border-color:var(--border-hover);color:var(--text-primary);background:var(--bg-glass)}
.btn--danger{background:rgba(248,113,113,0.12);color:var(--danger)}
.btn--danger:hover{background:rgba(248,113,113,0.2);color:var(--danger)}
.btn--full{width:100%}
.btn--sm{padding:0.45rem 1rem;font-size:0.85rem}
.btn--xs{padding:0.3rem 0.7rem;font-size:0.8rem}

/* Admin */
.admin-header{background:rgba(7,7,13,0.9);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}
.admin-main{padding:2.5rem 0 4rem}
.admin-welcome h1{font-size:1.6rem;margin-bottom:2rem;font-weight:700}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:2.5rem}
.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem;transition:all 0.3s ease}
.stat-card:hover{transform:translateY(-2px);border-color:var(--border-hover)}
.stat-card--accent{border-left:3px solid var(--accent-1)}
.stat-card--muted{border-left:3px solid var(--text-muted)}
.stat-number{font-size:2.5rem;font-weight:800;line-height:1;margin-bottom:0.4rem;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.stat-label{font-size:0.85rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.05em;font-weight:600}
.admin-section{margin-bottom:2.5rem}
.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}
.section-header h2{font-size:1.3rem;font-weight:700}
.admin-table-wrap{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.admin-table{width:100%;border-collapse:collapse}
.admin-table th,.admin-table td{padding:0.85rem 1.25rem;text-align:left;border-bottom:1px solid var(--border)}
.admin-table th{background:var(--bg-secondary);font-size:0.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.04em}
.admin-table tr:last-child td{border-bottom:none}
.admin-table tr:hover td{background:var(--bg-glass)}
.table-link{color:var(--text-primary);font-weight:600}
.table-link:hover{color:var(--accent-2)}
.text-muted{color:var(--text-muted)}
.badge{display:inline-block;padding:0.15rem 0.6rem;border-radius:100px;font-size:0.75rem;font-weight:600;background:var(--bg-glass);color:var(--text-secondary);border:1px solid var(--border)}
.status{display:inline-flex;align-items:center;gap:0.35rem;font-size:0.8rem;font-weight:600}
.status::before{content:'';width:7px;height:7px;border-radius:50%}
.status--published{color:var(--success)}.status--published::before{background:var(--success)}
.status--draft{color:var(--text-muted)}.status--draft::before{background:var(--text-muted)}
.action-group{display:flex;gap:0.4rem}
.inline-form{display:inline}

/* Editor */
.editor-page{max-width:1200px;margin:0 auto}
.editor-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}
.editor-header h2{font-size:1.5rem;font-weight:700}
.editor-actions{display:flex;gap:0.75rem}
.editor-grid{display:grid;grid-template-columns:1fr 300px;gap:2rem;align-items:start}
.editor-toolbar{display:flex;gap:0.25rem;padding:0.5rem;background:var(--bg-secondary);border:1px solid var(--border);border-bottom:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0}
.toolbar-btn{padding:0.35rem 0.7rem;background:transparent;border:1px solid transparent;border-radius:var(--radius-xs);color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:0.85rem;font-weight:600;transition:all var(--transition)}
.toolbar-btn:hover{background:var(--bg-glass);color:var(--text-primary);border-color:var(--border)}
.toolbar-spacer{flex:1}
.editor-panes{position:relative}
.editor-panes textarea{width:100%;padding:1.25rem;background:var(--bg-secondary);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);color:var(--text-primary);font-family:'JetBrains Mono',monospace;font-size:0.9rem;line-height:1.7;resize:vertical;min-height:400px}
.editor-panes textarea:focus{outline:none;border-color:var(--accent-1)}
.markdown-preview{padding:1.25rem;background:var(--bg-secondary);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);min-height:400px;overflow-y:auto}
.editor-sidebar{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}

/* Footer */
.site-footer{padding:2.5rem 0;border-top:1px solid var(--border);text-align:center;color:var(--text-muted);font-size:0.85rem}

/* Responsive */
@media(max-width:768px){
    .header-inner{height:56px}
    .main-nav{gap:0.1rem}
    .nav-link{padding:0.35rem 0.6rem;font-size:0.82rem}
    .hero{padding:3rem 0 2rem}
    .posts-grid{grid-template-columns:1fr}
    .editor-grid{grid-template-columns:1fr}
    .editor-sidebar{order:-1}
    .stats-grid{grid-template-columns:1fr}
    .admin-table-wrap{overflow-x:auto}
    .admin-table{min-width:600px}
    .section-header{flex-wrap:wrap;gap:0.75rem}
    .editor-header{flex-wrap:wrap;gap:0.75rem}
    .nav-divider{display:none}
}

/* AI Nav Button */
.nav-ai-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 1rem;
    border-radius: 100px;
    background: linear-gradient(135deg, rgba(99,102,241,0.15), rgba(167,139,250,0.15));
    border: 1px solid rgba(167,139,250,0.3);
    color: #a78bfa;
    font-size: 0.88rem;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: all 0.25s ease;
}
.nav-ai-btn svg {
    transition: all 0.25s ease;
}
.nav-ai-btn:hover {
    background: linear-gradient(135deg, rgba(99,102,241,0.25), rgba(167,139,250,0.25));
    border-color: rgba(167,139,250,0.5);
    box-shadow: 0 0 18px rgba(167,139,250,0.2);
    transform: translateY(-1px);
}
.nav-ai-btn--active {
    background: linear-gradient(135deg, #6366f1, #a78bfa);
    color: #fff;
    border-color: transparent;
    box-shadow: 0 4px 20px rgba(99,102,241,0.35);
}
.nav-ai-btn--active:hover {
    background: linear-gradient(135deg, #6366f1, #a78bfa);
    color: #fff;
}

/* AI Search Bar (slides down from navbar) */
.ai-search-bar {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1), padding 0.35s ease;
    padding: 0;
}
.ai-search-bar--open {
    max-height: 100px;
    padding: 0.875rem 1.5rem;
}
.ai-search-form {
    display: flex;
    align-items: center;
    justify-content: center;
}
.ai-search-wrapper {
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    max-width: 560px;
    background: linear-gradient(135deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01));
    border: 1px solid rgba(167,139,250,0.2);
    border-radius: 12px;
    padding: 0 1.25rem;
    transition: all 0.25s ease;
}
.ai-search-wrapper:focus-within {
    border-color: rgba(167,139,250,0.5);
    background: linear-gradient(135deg, rgba(99,102,241,0.08), rgba(167,139,250,0.05));
    box-shadow: 0 0 0 3px rgba(99,102,241,0.1), inset 0 1px 2px rgba(255,255,255,0.02);
}
.ai-search-icon {
    width: 18px;
    height: 18px;
    color: #a78bfa;
    flex-shrink: 0;
    opacity: 0.7;
    transition: all 0.25s ease;
}
.ai-search-wrapper:focus-within .ai-search-icon {
    opacity: 1;
}
.ai-search-input {
    flex: 1;
    background: transparent;
    border: none;
    color: var(--text-primary);
    padding: 0.85rem 1rem 0.85rem 0.75rem;
    font-size: 0.95rem;
    font-family: inherit;
    transition: all 0.25s ease;
    outline: none;
}
.ai-search-input::placeholder {
    color: var(--text-muted);
}
.ai-search-input:focus {
    outline: none;
}
.ai-search-submit {
    position: relative;
    background: transparent;
    color: var(--text-muted);
    border: none;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.25s ease;
    font-family: inherit;
    flex-shrink: 0;
    padding: 0;
}
.ai-search-submit:hover {
    background: rgba(167,139,250,0.1);
    color: var(--accent-2);
}
.ai-search-submit:active {
    transform: scale(0.95);
}
.ai-search-submit svg {
    transition: all 0.25s ease;
}
.ai-search-wrapper:focus-within .ai-search-submit {
    color: var(--accent-2);
    background: rgba(167,139,250,0.15);
}


/* AI Page Layout */
.ai-page-container {
    min-height: calc(100vh - 180px);
    padding: 2rem 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ai-content-wrapper {
    width: 100%;
    max-width: 720px;
    padding: 0 1.5rem;
    animation: fadeInUp 0.6s ease-out;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Query Label */
.ai-query-label {
    margin-bottom: 3.5rem;
    padding: 0;
    text-align: center;
}

.ai-query-text {
    font-size: 0.95rem;
    color: var(--text-secondary);
    line-height: 1.5;
}

.ai-query-text strong {
    color: var(--accent-2);
    font-weight: 600;
}

/* AI Response Section */
.ai-response-section {
    margin-bottom: 4rem;
}

.ai-response-inner {
    background: transparent;
    border: none;
    padding: 0;
    position: relative;
}

.ai-response-section .ai-response-header {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 1.5rem;
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.ai-response-section .ai-sparkle-icon {
    color: var(--accent-1);
    opacity: 0.8;
}

.ai-response-section .ai-response-content {
    font-size: 1.05rem;
    line-height: 1.8;
    color: var(--text-secondary);
    white-space: pre-wrap;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.ai-response-content p {
    margin-bottom: 1.25rem;
}

.ai-response-content p:last-child {
    margin-bottom: 0;
}

.ai-response-content ul,
.ai-response-content ol {
    margin-left: 1.5rem;
    margin-bottom: 1.25rem;
    color: var(--text-secondary);
}

.ai-response-content li {
    margin-bottom: 0.65rem;
}

.ai-response-content strong {
    color: var(--text-primary);
    font-weight: 600;
}

/* Section Divider */
.section-divider {
    height: 1px;
    background: var(--border);
    margin-bottom: 2rem;
}

/* Related Posts Section */
.related-posts-section {
    margin-bottom: 2rem;
}

.section-title {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 2rem;
}

/* Posts Timeline */
.posts-timeline {
    display: flex;
    flex-direction: column;
    gap: 0;
    position: relative;
}

.posts-timeline::before {
    content: '';
    position: absolute;
    left: 6px;
    top: 24px;
    bottom: 0;
    width: 1px;
    background: linear-gradient(180deg, var(--border), transparent);
}

.post-timeline-item {
    display: flex;
    gap: 1.75rem;
    padding: 1.5rem 0;
    position: relative;
    transition: all var(--transition);
}

.post-timeline-item:hover {
    padding-left: 0.5rem;
}

.post-timeline-dot {
    width: 13px;
    height: 13px;
    background: var(--accent-1);
    border: 2px solid var(--bg-primary);
    border-radius: 50%;
    margin-top: 3px;
    flex-shrink: 0;
    position: relative;
    z-index: 2;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1);
    transition: all var(--transition);
}

.post-timeline-item:hover .post-timeline-dot {
    box-shadow: 0 0 0 5px rgba(99, 102, 241, 0.2);
    background: var(--accent-2);
}

.post-timeline-content {
    flex: 1;
    padding-top: 2px;
}

.post-date-label {
    display: block;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.8rem;
    color: var(--text-muted);
    margin-bottom: 0.5rem;
    font-weight: 500;
}

.post-timeline-title {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0;
    line-height: 1.4;
}

.post-timeline-title a {
    color: var(--text-primary);
    text-decoration: none;
    transition: color var(--transition);
}

.post-timeline-title a:hover {
    color: var(--accent-2);
}

/* Empty Results */
.empty-results-section {
    text-align: center;
    padding: 3rem 0;
}

.empty-results-text {
    color: var(--text-muted);
    font-size: 0.95rem;
}

/* Responsive */
@media(max-width: 768px) {
    .ai-content-wrapper {
        max-width: 100%;
    }

    .ai-query-label {
        margin-bottom: 2.5rem;
    }

    .ai-response-section {
        margin-bottom: 3rem;
    }

    .post-timeline-item {
        gap: 1.25rem;
    }

    .posts-timeline::before {
        left: 5px;
    }
}

/* AI Tools Page */
.ai-tools-container {
    padding: 3rem 1.5rem;
}

.ai-tools-hero {
    text-align: center;
    margin-bottom: 4rem;
    padding-bottom: 2rem;
}

.ai-tools-header {
    animation: fadeInUp 0.6s ease-out;
}

.ai-tools-title {
    font-size: clamp(2rem, 5vw, 3rem);
    font-weight: 800;
    background: linear-gradient(135deg, var(--text-primary), var(--accent-2));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 0.5rem;
}

.ai-tools-subtitle {
    font-size: 1.1rem;
    color: var(--text-secondary);
    max-width: 600px;
    margin: 0 auto;
}

.ai-tools-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 1.75rem;
    margin-bottom: 5rem;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.ai-tool-card {
    background: linear-gradient(135deg, rgba(99,102,241,0.05), rgba(167,139,250,0.02));
    border: 1px solid rgba(99,102,241,0.15);
    border-radius: 16px;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.ai-tool-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--accent-1), var(--accent-2), transparent);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.ai-tool-card:hover {
    background: linear-gradient(135deg, rgba(99,102,241,0.1), rgba(167,139,250,0.05));
    border-color: rgba(99,102,241,0.3);
    transform: translateY(-4px);
    box-shadow: 0 8px 32px rgba(99,102,241,0.1);
}

.ai-tool-card:hover::before {
    opacity: 1;
}

.ai-tool-icon {
    width: 56px;
    height: 56px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.75rem;
    transition: all 0.3s ease;
}

.ai-tool-icon--search {
    background: linear-gradient(135deg, rgba(99,102,241,0.2), rgba(99,102,241,0.1));
    color: #6366f1;
}

.ai-tool-icon--analysis {
    background: linear-gradient(135deg, rgba(34,197,94,0.2), rgba(34,197,94,0.1));
    color: #22c55e;
}

.ai-tool-icon--tags {
    background: linear-gradient(135deg, rgba(245,158,11,0.2), rgba(245,158,11,0.1));
    color: #f59e0b;
}

.ai-tool-icon--dashboard {
    background: linear-gradient(135deg, rgba(168,85,247,0.2), rgba(168,85,247,0.1));
    color: #a855f7;
}

.ai-tool-icon--generate {
    background: linear-gradient(135deg, rgba(236,72,153,0.2), rgba(236,72,153,0.1));
    color: #ec4899;
}

.ai-tool-icon--recommend {
    background: linear-gradient(135deg, rgba(59,130,246,0.2), rgba(59,130,246,0.1));
    color: #3b82f6;
}

.ai-tool-card:hover .ai-tool-icon {
    transform: scale(1.1);
}

.ai-tool-name {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text-primary);
}

.ai-tool-description {
    color: var(--text-secondary);
    font-size: 0.95rem;
    line-height: 1.5;
    flex: 1;
}

.ai-tool-features {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.ai-feature-badge {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    background: rgba(99,102,241,0.1);
    border: 1px solid rgba(99,102,241,0.2);
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--accent-2);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.ai-tool-button {
    padding: 0.75rem 1.5rem;
    background: var(--accent-gradient);
    color: #fff;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    text-align: center;
    cursor: pointer;
}

.ai-tool-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(99,102,241,0.3);
}

/* Capabilities Section */
.ai-tools-capabilities {
    max-width: 1200px;
    margin: 4rem auto;
    padding: 3rem;
    background: linear-gradient(135deg, rgba(99,102,241,0.05), rgba(167,139,250,0.02));
    border: 1px solid rgba(99,102,241,0.1);
    border-radius: 16px;
}

.ai-tools-section-title {
    font-size: 1.75rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 2.5rem;
    color: var(--text-primary);
}

.capabilities-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 2rem;
}

.capability {
    text-align: center;
    padding: 1.5rem;
    transition: all 0.3s ease;
}

.capability-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
    display: block;
}

.capability h3 {
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    color: var(--text-primary);
}

.capability p {
    color: var(--text-secondary);
    font-size: 0.95rem;
    line-height: 1.5;
}

.capability:hover {
    transform: translateY(-4px);
}

/* Tips Section */
.ai-tools-tips {
    max-width: 1000px;
    margin: 4rem auto;
}

.tips-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
}

.tip-item {
    display: flex;
    gap: 1.5rem;
    padding: 1.5rem;
    background: rgba(99,102,241,0.05);
    border-left: 3px solid var(--accent-1);
    border-radius: 8px;
    transition: all 0.3s ease;
}

.tip-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--accent-gradient);
    color: #fff;
    font-weight: 700;
    flex-shrink: 0;
    font-size: 1.1rem;
}

.tip-content h4 {
    font-size: 1.05rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    color: var(--text-primary);
}

.tip-content p {
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.5;
}

.tip-item:hover {
    background: rgba(99,102,241,0.1);
    transform: translateX(4px);
}

/* Responsive */
@media(max-width: 768px) {
    .ai-tools-container {
        padding: 2rem 1rem;
    }

    .ai-tools-hero {
        margin-bottom: 3rem;
    }

    .ai-tools-title {
        font-size: 1.75rem;
    }

    .ai-tools-subtitle {
        font-size: 1rem;
    }

    .ai-tools-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .capabilities-grid {
        grid-template-columns: 1fr;
    }

    .tips-list {
        grid-template-columns: 1fr;
    }

    .ai-tool-card {
        padding: 1.5rem;
    }
}

