*{margin:0;padding:0;box-sizing:border-box}:root{--bg:#0a0e1a;--bg-card:#141b2d;--bg-hover:#1c2540;--border:#252e45;--text:#e8ecf4;--text-dim:#8b95b0;--text-dim2:#5a6785;--accent:#6366f1;--accent-hover:#818cf8;--accent-soft:rgba(99,102,241,.15);--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--purple:#a855f7;--pink:#ec4899}body,html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:var(--bg);background-image:radial-gradient(ellipse at top,rgba(99,102,241,.08),transparent 50%);color:var(--text);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent-hover);text-decoration:none}a:hover{text-decoration:underline}code{background:var(--bg-card);padding:.15em .35em;border-radius:4px;font-size:.9em}.container{max-width:1100px;margin:0 auto;padding:2rem 1.5rem}.narrow{max-width:560px}header.top{justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--border);background:rgba(10,14,26,.8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:-webkit-sticky;position:sticky;top:0;z-index:50}.logo,header.top{display:flex;align-items:center}.logo{gap:.6rem;font-weight:700;font-size:1.15rem;letter-spacing:-.02em}.logo-icon{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--accent),var(--purple));justify-content:center;font-size:.9rem;color:#fff}.header-actions,.logo-icon{display:flex;align-items:center}.header-actions{gap:.5rem}.badge{font-size:.75rem;padding:.25rem .6rem;border-radius:999px;background:var(--accent-soft);color:var(--accent-hover);font-weight:600}.badge.connected{background:rgba(16,185,129,.15);color:var(--success)}.badge-with-img{display:inline-flex;align-items:center;gap:.4rem;padding-left:.35rem}.badge-with-img img{width:20px;height:20px;border-radius:50%}h1{font-size:2.75rem;font-weight:800;letter-spacing:-.03em;line-height:1.1}h2{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.5rem}h3{font-size:1.05rem;font-weight:600}p.lead{font-size:1.1rem;margin-top:.75rem}.muted,p.lead{color:var(--text-dim)}.muted{font-size:.9rem}.tiny{color:var(--text-dim2);font-size:.8rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.4rem;border-radius:10px;font-weight:600;font-size:.95rem;border:none;cursor:pointer;transition:all .15s;font-family:inherit;text-decoration:none}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--purple));color:#fff;box-shadow:0 4px 14px rgba(99,102,241,.35)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(99,102,241,.45)}.btn-youtube{background:red;color:#fff;box-shadow:0 4px 14px rgba(255,0,0,.3);padding:.85rem 1.6rem;font-size:1rem}.btn-youtube:hover{background:#c00;transform:translateY(-1px)}.btn-secondary{background:var(--bg-card);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--accent)}.btn-ghost{background:transparent;color:var(--text-dim);padding:.5rem .8rem}.btn-ghost:hover{color:var(--text);background:var(--bg-card)}.btn-sm{padding:.45rem .8rem;font-size:.85rem}.hero{text-align:center;padding:4rem 1rem 2rem}.hero h1{margin-bottom:1rem}.gradient-text{background:linear-gradient(135deg,var(--accent),var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}.hero-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem;flex-wrap:wrap}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:1rem;gap:1rem;margin-top:3rem}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:1.5rem}.feature{text-align:left;padding:1.25rem}.feature-icon{width:36px;height:36px;border-radius:10px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;font-size:1.2rem;margin-bottom:.7rem}.feature h3{margin-bottom:.3rem}.feature p{color:var(--text-dim);font-size:.9rem}.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:1rem;gap:1rem;margin-top:1.5rem}.video-card{padding:0;overflow:hidden;cursor:pointer;transition:all .15s}.video-card:hover{border-color:var(--accent);transform:translateY(-2px)}.video-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.video-card .body{padding:.9rem 1rem 1rem}.video-card h3{font-size:.95rem;line-height:1.3;margin-bottom:.3rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5rem 1rem;text-align:center;min-height:60vh}.spinner{width:48px;height:48px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1.5rem}@keyframes spin{to{transform:rotate(1turn)}}.alert{padding:.9rem 1.2rem;border-radius:10px;margin-bottom:1rem;font-size:.9rem;border:1px solid transparent}.alert-info{background:var(--accent-soft);border-color:rgba(99,102,241,.3);color:var(--accent-hover)}.alert-danger{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3);color:var(--danger)}.video-header{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.5rem}.video-thumb-sm{width:160px;aspect-ratio:16/9;border-radius:8px;flex-shrink:0;object-fit:cover}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:1.5rem}.stat{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1rem 1.25rem}.stat .num{font-size:1.7rem;font-weight:700;letter-spacing:-.02em}.stat .label{font-size:.8rem;color:var(--text-dim);margin-top:.2rem}.sentiment-bar{display:flex;height:28px;border-radius:8px;overflow:hidden;margin:1rem 0 .75rem}.sentiment-bar>div{display:flex;align-items:center;justify-content:center;font-size:.75rem;color:#fff;font-weight:600}.s-pos{background:#10b981}.s-neg{background:#ef4444}.s-neu{background:#6b7280}.s-que{background:#3b82f6}.legend{display:flex;gap:1rem;flex-wrap:wrap;font-size:.85rem;color:var(--text-dim)}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:.3rem;vertical-align:middle}.theme{display:flex;justify-content:space-between;align-items:flex-start;padding:.9rem 1rem;border-radius:10px;background:var(--bg);border:1px solid var(--border);margin-bottom:.5rem}.theme-main{flex:1 1}.theme-name{font-weight:600;font-size:.95rem}.theme-example{color:var(--text-dim);font-size:.85rem;margin-top:.25rem;font-style:italic}.theme-count{background:var(--accent-soft);color:var(--accent-hover);padding:.25rem .7rem;border-radius:999px;font-size:.8rem;font-weight:600;white-space:nowrap;margin-left:1rem}.faq-item{padding:1rem;border:1px solid var(--border);border-radius:10px;background:var(--bg);margin-bottom:.6rem}.faq-q{font-weight:600;margin-bottom:.4rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.faq-q .faq-count{font-size:.75rem;color:var(--text-dim);font-weight:500}.faq-a{color:var(--text-dim);font-size:.9rem;padding:.6rem .8rem;background:var(--accent-soft);border-radius:8px;margin-top:.5rem;border-left:3px solid var(--accent)}.faq-a strong{color:var(--accent-hover)}.comment-item{padding:.9rem 1rem;border:1px solid var(--border);border-radius:10px;background:var(--bg);margin-bottom:.5rem}.comment-author{font-size:.8rem;color:var(--text-dim2);font-weight:600;margin-bottom:.3rem}.comment-text{font-size:.9rem;line-height:1.5}.comment-meta{font-size:.75rem;color:var(--text-dim);margin-top:.4rem;display:flex;gap:.75rem}.tag{padding:.15rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600}.tag-warning{background:rgba(245,158,11,.15);color:var(--warning)}.tag-danger{background:rgba(239,68,68,.15);color:var(--danger)}.tag-success{background:rgba(16,185,129,.15);color:var(--success)}.tag-purple{background:rgba(168,85,247,.15);color:var(--purple)}.tabs{display:flex;gap:.25rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border);overflow-x:auto}.tab{padding:.75rem 1.1rem;cursor:pointer;background:transparent;color:var(--text-dim);font-weight:600;font-size:.9rem;font-family:inherit;border:none;border-bottom:2px solid transparent;white-space:nowrap;transition:all .15s}.tab.active,.tab:hover{color:var(--text)}.tab.active{border-bottom-color:var(--accent)}.empty{text-align:center;padding:2rem;color:var(--text-dim)}.card+.card{margin-top:1rem}