.comments-section{max-width:980px;margin:80px auto 0;padding:0 22px}.comments-title{font-size:32px;font-weight:600;color:var(--text-primary);margin-bottom:40px;padding-bottom:20px;border-bottom:1px solid var(--border-color)}.comment-form{background:var(--card-bg);border-radius:18px;padding:32px;margin-bottom:48px;border:1px solid var(--border-color);transition:all .3s ease}.form-title{font-size:24px;font-weight:600;color:var(--text-primary);margin-bottom:24px}.reply-notice{display:flex;justify-content:space-between;align-items:center;background:var(--bg-secondary);padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px;color:var(--text-secondary)}.cancel-reply{background:none;border:none;color:var(--link-color);cursor:pointer;font-size:14px;font-weight:500;transition:color .2s ease}.cancel-reply:hover{color:var(--link-hover)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-group{margin-bottom:16px}.form-input,.form-textarea{width:100%;padding:14px 16px;border:1px solid var(--border-color);border-radius:12px;font-size:17px;color:var(--text-primary);background:var(--bg-primary);transition:all .2s ease;font-family:inherit}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--link-color);box-shadow:0 0 0 4px #2997ff1a}.form-textarea{resize:vertical;min-height:120px}.form-error{background:rgba(255,59,48,.1);color:#ff3b30;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.form-success{background:rgba(52,199,89,.1);color:#34c759;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.submit-button{background:var(--link-color);color:#fff;border:none;padding:14px 32px;border-radius:980px;font-size:17px;font-weight:500;cursor:pointer;transition:all .3s ease}.submit-button:hover:not(:disabled){background:var(--link-hover);transform:translateY(-2px);box-shadow:0 8px 16px #2997ff4d}.submit-button:disabled{opacity:.5;cursor:not-allowed}.comments-list{margin-top:48px}.comment{display:flex;gap:16px;margin-bottom:32px;animation:fadeInUp .4s ease-out}.comment-reply{margin-left:64px;margin-top:24px}.comment-avatar{flex-shrink:0}.comment-avatar img{width:48px;height:48px;border-radius:50%;object-fit:cover}.avatar-placeholder{width:48px;height:48px;border-radius:50%;background:var(--link-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600}.comment-body{flex:1}.comment-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.comment-author{font-size:17px;font-weight:600;color:var(--text-primary)}.comment-date{font-size:14px;color:var(--text-tertiary)}.comment-content{font-size:17px;line-height:1.5;color:var(--text-primary);margin-bottom:12px}.comment-content p{margin:0 0 12px}.reply-button{background:none;border:none;color:var(--link-color);font-size:15px;font-weight:500;cursor:pointer;padding:4px 0;transition:color .2s ease}.reply-button:hover{color:var(--link-hover)}.comment-replies{margin-top:24px}.comments-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.comments-loading .loading-spinner{width:40px;height:40px;border:2px solid var(--border-color);border-top:2px solid var(--text-primary);border-radius:50%;animation:spin .8s linear infinite}.comments-loading p{color:var(--text-secondary);font-size:17px}.no-comments{text-align:center;padding:60px 20px}.no-comments p{font-size:19px;color:var(--text-secondary)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.comments-section{padding:0 16px}.comment-form{padding:24px}.form-row{grid-template-columns:1fr}.comments-title{font-size:28px}.form-title{font-size:21px}.comment-reply{margin-left:32px}.comment-avatar img,.avatar-placeholder{width:40px;height:40px;font-size:18px}}@media (max-width: 480px){.comment-reply{margin-left:0;padding-left:16px;border-left:2px solid var(--border-color)}.comment-avatar img,.avatar-placeholder{width:36px;height:36px;font-size:16px}}.blog-post-container{min-height:100vh;background:var(--bg-primary);padding-top:44px;transition:background-color .3s ease}.blog-post-loading{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:80vh;gap:24px}.loading-spinner{width:60px;height:60px;border:2px solid var(--border-color);border-top:2px solid var(--text-primary);border-radius:50%;animation:spin .8s cubic-bezier(.4,0,.2,1) infinite}.loading-text{font-size:17px;color:var(--text-secondary);font-weight:400;letter-spacing:-.022em}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.blog-post-error{max-width:980px;margin:0 auto;padding:80px 22px;text-align:center}.blog-post-error h1{font-size:48px;font-weight:600;color:var(--text-primary);margin-bottom:16px}.blog-post-error p{font-size:21px;color:var(--text-secondary);margin-bottom:32px}.blog-post{max-width:980px;margin:0 auto;padding:0 22px 80px}.post-hero{padding:80px 0 48px;text-align:left;background:var(--bg-primary);transition:all .3s ease}.post-meta{display:flex;align-items:center;gap:12px;margin-bottom:24px;font-size:12px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.post-author{font-weight:600}.post-date{position:relative;padding-left:12px}.post-date:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:3px;background:var(--text-tertiary);border-radius:50%}.post-title{font-size:64px;font-weight:700;line-height:1.05;letter-spacing:-.015em;color:var(--text-primary);margin:0;max-width:900px}.post-featured-image{margin:48px 0 64px;border-radius:18px;overflow:hidden;background:var(--bg-secondary);transition:all .3s ease}.post-featured-image img{width:100%;height:auto;display:block}.post-content{font-size:19px;line-height:1.58;font-weight:400;letter-spacing:-.003em;color:var(--text-primary);background:transparent;padding:48px 0;transition:all .3s ease}.post-content p{margin:0 0 28px;color:var(--text-primary)}.post-content h2{font-size:40px;font-weight:600;line-height:1.1;letter-spacing:0em;margin:48px 0 24px;color:var(--text-primary)}.post-content h3{font-size:32px;font-weight:600;line-height:1.125;letter-spacing:.004em;margin:40px 0 20px;color:var(--text-primary)}.post-content h4{font-size:24px;font-weight:600;line-height:1.16667;letter-spacing:.009em;margin:32px 0 16px;color:var(--text-primary)}.post-content a{color:var(--link-color);text-decoration:none;transition:color .2s ease}.post-content a:hover{color:var(--link-hover);text-decoration:underline}.post-content img{max-width:100%;height:auto;border-radius:12px;margin:32px 0}.post-content ul,.post-content ol{margin:24px 0;padding-left:32px}.post-content li{margin-bottom:12px}.post-content blockquote{margin:32px 0;padding:24px 32px;border-left:4px solid var(--link-color);background:var(--card-bg);border-radius:8px;font-style:italic;color:var(--text-primary);transition:all .3s ease}.post-content code{background:var(--card-bg);padding:2px 8px;border-radius:4px;font-family:SF Mono,Monaco,Courier New,monospace;font-size:.9em;color:var(--text-primary)}.post-content pre{background:var(--card-bg);color:var(--text-primary);padding:24px;border-radius:12px;overflow-x:auto;margin:32px 0;border:1px solid var(--border-color);transition:all .3s ease}.post-content pre code{background:none;padding:0;color:inherit}.post-categories{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;justify-content:center}.category-badge{display:inline-block;padding:8px 16px;background:var(--link-color);color:#fff;border-radius:20px;font-size:14px;font-weight:500;text-decoration:none;transition:all .3s ease}.category-badge:hover{background:var(--link-hover);transform:translateY(-2px)}.post-tags-section{margin-top:64px;padding-top:40px;border-top:1px solid var(--border-color)}.tags-title{font-size:21px;font-weight:600;color:var(--text-primary);margin-bottom:16px}.post-tags{display:flex;flex-wrap:wrap;gap:12px}.tag-badge{display:inline-block;padding:6px 14px;background:var(--card-bg);color:var(--text-primary);border:1px solid var(--border-color);border-radius:16px;font-size:14px;font-weight:400;text-decoration:none;transition:all .3s ease}.tag-badge:hover{background:var(--link-color);color:#fff;border-color:var(--link-color);transform:translateY(-2px)}.author-bio{display:flex;gap:24px;margin-top:64px;padding:32px;background:var(--card-bg);border-radius:18px;border:1px solid var(--border-color);transition:all .3s ease}.author-avatar{flex-shrink:0}.author-avatar img{width:80px;height:80px;border-radius:50%;object-fit:cover}.author-avatar .avatar-placeholder{width:80px;height:80px;border-radius:50%;background:var(--link-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:600}.author-info{flex:1}.author-name{font-size:24px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.author-description{font-size:17px;line-height:1.5;color:var(--text-secondary);margin-bottom:16px}.author-link{display:inline-flex;align-items:center;color:var(--link-color);text-decoration:none;font-size:17px;font-weight:500;transition:color .2s ease}.author-link:hover{color:var(--link-hover)}.post-footer{margin-top:80px;padding-top:40px;border-top:1px solid var(--border-color);transition:all .3s ease}.back-link{display:inline-flex;align-items:center;color:var(--link-color);text-decoration:none;font-size:17px;font-weight:400;transition:color .2s ease}.back-link:hover{color:var(--link-hover)}@media (max-width: 1024px){.post-title{font-size:48px}.post-content{font-size:19px}.post-content h2{font-size:36px}.post-content h3{font-size:28px}}@media (max-width: 768px){.blog-post{padding:0 16px 60px}.post-hero{padding:48px 0 32px}.post-title{font-size:40px}.post-content{font-size:17px;padding:32px 24px;border-radius:16px}.author-bio{flex-direction:column;padding:24px}.author-avatar img,.author-avatar .avatar-placeholder{width:64px;height:64px;font-size:24px}.author-name{font-size:21px}.post-content h2{font-size:32px;margin:40px 0 20px}.post-content h3{font-size:24px;margin:32px 0 16px}.post-content h4{font-size:21px}.post-featured-image{margin:32px 0 48px;border-radius:12px}}@media (max-width: 480px){.post-title{font-size:32px}.post-meta{flex-direction:column;gap:8px}.post-date:before{display:none}.post-date{padding-left:0}.post-content{font-size:16px}.post-content h2{font-size:28px}.post-content h3{font-size:21px}}
