@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500&display=swap);:root{--primary:#6366f1;--primary-light:#818cf8;--primary-dark:#4f46e5;--accent:#06b6d4;--accent-light:#22d3ee;--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-card:#1e293b;--bg-card-hover:#334155;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--border:#334155;--border-light:#475569;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--gradient-1:linear-gradient(135deg,#6366f1,#06b6d4);--gradient-2:linear-gradient(135deg,#6366f1,#ec4899);--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 6px -1px #0000004d,0 2px 4px -2px #0000004d;--shadow-lg:0 10px 15px -3px #0000004d,0 4px 6px -4px #0000004d;--shadow-xl:0 20px 25px -5px #0000004d,0 8px 10px -6px #0000004d;--radius:12px;--radius-sm:8px;--radius-lg:16px}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0f172a;background-color:var(--bg-primary);color:#f1f5f9;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.7}code{background:#1e293b;background:var(--bg-secondary);border-radius:4px;font-family:JetBrains Mono,monospace;font-size:.9em;padding:2px 6px}a{color:#818cf8;color:var(--primary-light);text-decoration:none;transition:color .2s}a:hover{color:#22d3ee;color:var(--accent-light)}::selection{background:#6366f1;background:var(--primary);color:#fff}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#0f172a;background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#334155;background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#475569;background:var(--border-light)}.app{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;margin:0 auto;max-width:1200px;padding:40px 24px;width:100%}.header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--bg-secondary);background:#1e293be6;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.header-inner{height:72px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 24px}.header-inner,.logo{align-items:center;display:flex}.logo{color:var(--text-primary);gap:12px;text-decoration:none}.logo-icon{align-items:center;border-radius:10px;color:#fff;display:flex;font-size:20px;height:40px;justify-content:center;width:40px}.logo-icon,.logo-text{background:var(--gradient-1);font-weight:800}.logo-text{-webkit-text-fill-color:#0000;-webkit-background-clip:text;background-clip:text;font-size:1.3rem;letter-spacing:-.5px}.logo-tagline{color:var(--text-muted);font-size:.7rem;font-weight:500;letter-spacing:1.5px;text-transform:uppercase}.header-search{align-items:center;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);display:flex;gap:8px;padding:8px 16px;transition:border-color .2s;width:320px}.header-search:focus-within{border-color:var(--primary)}.header-search input{background:none;border:none;color:var(--text-primary);flex:1 1;font-family:inherit;font-size:.9rem;outline:none}.header-search input::placeholder,.search-icon{color:var(--text-muted)}.search-icon{font-size:1rem}.hero{background:var(--gradient-1);border-radius:var(--radius-lg);margin-bottom:48px;overflow:hidden;padding:60px 48px;position:relative}.hero:before{background:#ffffff0d;height:500px;right:-20%;top:-50%;width:500px}.hero:after,.hero:before{border-radius:50%;content:"";position:absolute}.hero:after{background:#ffffff08;bottom:-30%;height:300px;left:-10%;width:300px}.hero-content{position:relative;z-index:1}.hero h1{font-size:2.8rem;font-weight:900;letter-spacing:-1px;line-height:1.1;margin-bottom:16px}.hero p{font-size:1.15rem;line-height:1.7;max-width:600px;opacity:.9}.hero-stats{display:flex;gap:32px;margin-top:32px}.hero-stat{text-align:center}.hero-stat-value{font-size:1.8rem;font-weight:800}.hero-stat-label{font-size:.8rem;letter-spacing:1px;opacity:.7;text-transform:uppercase}.categories{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}.category-btn{background:var(--bg-secondary);border:1px solid var(--border);border-radius:100px;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:500;padding:8px 20px;transition:all .2s}.category-btn:hover{border-color:var(--primary);color:var(--primary-light)}.category-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.articles-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}.article-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:all .3s ease}.article-card:hover{border-color:var(--primary);box-shadow:var(--shadow-xl),0 0 40px #6366f11a;transform:translateY(-4px)}.article-card-image{height:200px;object-fit:cover;width:100%}.article-card-body{display:flex;flex:1 1;flex-direction:column;padding:24px}.article-card-category{background:#6366f126;border-radius:100px;color:var(--primary-light);display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-bottom:12px;padding:4px 12px;text-transform:uppercase;width:fit-content}.article-card-title{color:var(--text-primary);font-size:1.2rem;font-weight:700;letter-spacing:-.3px;line-height:1.4;margin-bottom:8px}.article-card-summary{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;flex:1 1;font-size:.9rem;line-height:1.6;margin-bottom:16px;overflow:hidden}.article-card-meta{align-items:center;border-top:1px solid var(--border);color:var(--text-muted);display:flex;font-size:.8rem;justify-content:space-between;padding-top:16px}.article-card-meta-left,.article-card-meta-right{align-items:center;display:flex;gap:12px}.meta-item{align-items:center;display:flex;gap:4px}.star-filled{color:var(--warning)}.article-detail{margin:0 auto;max-width:800px}.article-back{align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.9rem;gap:6px;margin-bottom:24px;transition:color .2s}.article-back:hover{color:var(--primary-light)}.article-header{margin-bottom:40px}.article-header-category{background:#6366f126;border-radius:100px;color:var(--primary-light);display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.5px;margin-bottom:16px;padding:6px 16px;text-transform:uppercase}.article-header h1{font-size:2.4rem;font-weight:800;letter-spacing:-1px;line-height:1.2;margin-bottom:16px}.article-header-meta{align-items:center;color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:.9rem;gap:20px}.article-header-meta .meta-item{gap:6px}.article-cover{border-radius:var(--radius);height:400px;margin-bottom:40px;object-fit:cover;width:100%}.article-body{color:var(--text-secondary);font-size:1.05rem;line-height:1.85}.article-body h2{color:var(--text-primary);font-size:1.5rem;font-weight:700;letter-spacing:-.3px;margin:40px 0 16px}.article-body p{margin-bottom:16px}.article-tags{border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:8px;margin-top:40px;padding-top:24px}.tag{background:var(--bg-secondary);border:1px solid var(--border);border-radius:100px;color:var(--text-secondary);font-size:.8rem;padding:6px 14px}.rating-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-top:48px;padding:32px}.rating-section h3{font-size:1.2rem;font-weight:700;margin-bottom:8px}.rating-display{align-items:center;display:flex;gap:12px;margin-bottom:20px}.rating-avg{color:var(--warning);font-size:2rem;font-weight:800}.rating-count{color:var(--text-muted);font-size:.85rem}.rating-stars-input{display:flex;gap:4px;margin-bottom:16px}.rating-star-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.8rem;padding:2px;transition:transform .2s}.rating-star-btn:hover{transform:scale(1.2)}.rating-star-btn.filled{color:var(--warning)}.rating-name-row{align-items:center;display:flex;gap:12px}.rating-name-input{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);flex:1 1;font-family:inherit;font-size:.9rem;outline:none;padding:10px 16px;transition:border-color .2s}.rating-name-input:focus{border-color:var(--primary)}.rating-submit-btn{background:var(--gradient-1);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:600;padding:10px 24px;transition:opacity .2s}.rating-submit-btn:hover{opacity:.9}.rating-submit-btn:disabled{cursor:not-allowed;opacity:.5}.rating-success{color:var(--success);font-size:.85rem;margin-top:8px}.comments-section{margin-top:32px}.comments-section h3{align-items:center;display:flex;font-size:1.2rem;font-weight:700;gap:8px;margin-bottom:24px}.comment-count-badge{background:var(--primary);border-radius:100px;color:#fff;font-size:.8rem;font-weight:600;padding:2px 10px}.comment-form{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:24px;padding:24px}.comment-form h4{font-size:1rem;font-weight:600;margin-bottom:16px}.comment-form-row{display:flex;gap:12px;margin-bottom:12px}.comment-input{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);flex:1 1;font-family:inherit;font-size:.9rem;outline:none;padding:10px 16px;transition:border-color .2s}.comment-input:focus{border-color:var(--primary)}.comment-textarea{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:.9rem;margin-bottom:12px;min-height:100px;outline:none;padding:12px 16px;resize:vertical;transition:border-color .2s;width:100%}.comment-textarea:focus{border-color:var(--primary)}.comment-submit-btn{background:var(--gradient-1);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:600;padding:10px 28px;transition:opacity .2s}.comment-submit-btn:hover{opacity:.9}.comment-submit-btn:disabled{cursor:not-allowed;opacity:.5}.comments-list{display:flex;flex-direction:column;gap:16px}.comment-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.comment-item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.comment-author{align-items:center;display:flex;gap:10px}.comment-avatar{align-items:center;background:var(--gradient-2);border-radius:50%;color:#fff;display:flex;font-size:.8rem;font-weight:700;height:36px;justify-content:center;width:36px}.comment-username{font-size:.95rem;font-weight:600}.comment-date{color:var(--text-muted);font-size:.8rem}.comment-content{color:var(--text-secondary);font-size:.9rem;line-height:1.6;padding-left:46px}.footer{background:var(--bg-secondary);border-top:1px solid var(--border);margin-top:80px;padding:40px 24px}.footer-inner{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin:0 auto;max-width:1200px}.footer-brand{display:flex;flex-direction:column;gap:4px}.footer-brand-name{-webkit-text-fill-color:#0000;background:var(--gradient-1);-webkit-background-clip:text;background-clip:text;font-size:1.1rem;font-weight:700}.footer-brand-desc,.footer-copy{color:var(--text-muted);font-size:.85rem}.loading{align-items:center;display:flex;justify-content:center;padding:80px 0}.spinner{animation:spin .7s linear infinite;border:3px solid var(--border);border-radius:50%;border-top-color:var(--primary);height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.error-msg{color:var(--danger);padding:40px;text-align:center}.no-articles{color:var(--text-muted);font-size:1.1rem;padding:60px 20px;text-align:center}@media (max-width:768px){.hero{padding:40px 24px}.hero h1{font-size:1.8rem}.hero-stats{gap:20px}.header-search{width:200px}.articles-grid{grid-template-columns:1fr}.article-header h1{font-size:1.6rem}.article-cover{height:250px}.comment-form-row,.footer-inner,.rating-name-row{flex-direction:column}.footer-inner{text-align:center}}
/*# sourceMappingURL=main.0f68dc60.css.map*/