*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0a0a0f;--bg2: #111118;--bg3: #1a1a26;--surface: #1e1e2e;--surface2: #252538;--border: rgba(255, 255, 255, .07);--accent: #7c6af7;--accent2: #a78bfa;--accent3: #c084fc;--red: #ef4444;--text: #e4e4f0;--text2: #9898b3;--text3: #5a5a78;--radius: 12px;--radius-lg: 20px;--shadow: 0 8px 32px rgba(0, 0, 0, .5);--shadow-accent: 0 0 24px rgba(124, 106, 247, .25);font-family:Inter,system-ui,sans-serif}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden}a{text-decoration:none;color:inherit}button{font-family:inherit;cursor:pointer;border:none;outline:none}img{display:block;max-width:100%}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--surface2);border-radius:3px}.spinner-wrap{display:flex;align-items:center;justify-content:center;padding:80px 20px}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:80px 20px;color:var(--text2)}.empty-state svg{margin:0 auto 16px;opacity:.3}.empty-state h3{font-size:20px;margin-bottom:8px;color:var(--text)}.empty-state p{font-size:14px}.topbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 32px;height:64px;background:#0a0a0fd9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}.topbar-logo{display:flex;align-items:center;gap:10px;text-decoration:none}.topbar-logo span{font-size:20px;font-weight:800;background:linear-gradient(135deg,var(--accent),var(--accent3));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.topbar-logo svg{flex-shrink:0}.topbar-search{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:40px;padding:6px 16px;width:280px;transition:border-color .2s}.topbar-search:focus-within{border-color:var(--accent)}.topbar-search input{background:none;border:none;outline:none;color:var(--text);font-size:14px;width:100%}.topbar-search input::placeholder{color:var(--text3)}.page-hero{padding:56px 32px 32px;max-width:1400px;margin:0 auto}.page-hero h1{font-size:clamp(28px,4vw,48px);font-weight:800;background:linear-gradient(135deg,#fff 0%,var(--accent2) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:10px}.page-hero p{font-size:16px;color:var(--text2)}.page-hero .stats{display:flex;gap:24px;margin-top:16px}.page-hero .stats span{font-size:13px;color:var(--text3);background:var(--surface);border-radius:20px;padding:4px 12px;border:1px solid var(--border)}.page-hero .stats span b{color:var(--accent2);font-weight:600}.topics-grid{max-width:1400px;margin:0 auto;padding:0 32px 60px;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.topic-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:transform .25s,border-color .25s,box-shadow .25s;position:relative}.topic-card:hover{transform:translateY(-6px);border-color:#7c6af766;box-shadow:var(--shadow-accent)}.topic-thumbnail{position:relative;width:100%;aspect-ratio:16/9;background:var(--bg3);overflow:hidden}.topic-thumbnail img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.topic-card:hover .topic-thumbnail img{transform:scale(1.06)}.topic-thumbnail-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg3) 0%,#1a1230 100%)}.topic-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,transparent 60%);opacity:0;transition:opacity .3s}.topic-card:hover .topic-overlay{opacity:1}.topic-play-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.8);opacity:0;transition:all .3s;background:#7c6af7e6;border-radius:50%;width:52px;height:52px;display:flex;align-items:center;justify-content:center}.topic-card:hover .topic-play-btn{opacity:1;transform:translate(-50%,-50%) scale(1)}.topic-badge{position:absolute;top:10px;right:10px;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:6px;padding:3px 8px;font-size:11px;font-weight:600;color:var(--text)}.topic-info{padding:16px}.topic-info h3{font-size:15px;font-weight:600;color:var(--text);margin-bottom:8px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.topic-meta{display:flex;gap:12px;flex-wrap:wrap}.topic-meta span{font-size:12px;color:var(--text3);display:flex;align-items:center;gap:4px}.topic-meta span svg{flex-shrink:0}.media-dot-video{color:var(--accent2)}.media-dot-photo{color:#34d399}.topic-page{max-width:1400px;margin:0 auto;padding:0 32px 60px}.back-btn{display:inline-flex;align-items:center;gap:8px;margin:24px 0 32px;background:var(--surface);border:1px solid var(--border);border-radius:40px;padding:8px 18px;font-size:14px;color:var(--text2);transition:all .2s}.back-btn:hover{border-color:var(--accent);color:var(--accent2)}.topic-header{margin-bottom:32px}.topic-header h1{font-size:clamp(22px,3vw,38px);font-weight:800;background:linear-gradient(135deg,#fff 0%,var(--accent2) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:10px}.tabs{display:flex;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:40px;padding:4px;width:fit-content;margin-bottom:32px}.tab-btn{padding:8px 24px;border-radius:36px;font-size:14px;font-weight:500;background:none;color:var(--text2);transition:all .2s;display:flex;align-items:center;gap:8px}.tab-btn.active{background:linear-gradient(135deg,var(--accent),var(--accent3));color:#fff;box-shadow:0 4px 12px #7c6af766}.tab-btn:not(.active):hover{color:var(--text)}.tab-count{background:#ffffff26;border-radius:10px;padding:1px 7px;font-size:11px;font-weight:700}.video-section{display:grid;grid-template-columns:1fr 320px;gap:24px}@media (max-width: 900px){.video-section{grid-template-columns:1fr}}.video-player-wrap{background:#000;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16/9;border:1px solid var(--border);position:relative}.video-player-wrap video{width:100%;height:100%;object-fit:contain}.video-no-select{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text3);gap:12px}.video-no-select svg{opacity:.3}.video-no-select p{font-size:14px}.now-playing{margin-top:12px;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.now-playing p{font-size:13px;color:var(--text3);margin-bottom:4px}.now-playing h3{font-size:15px;font-weight:600;color:var(--text)}.video-list{display:flex;flex-direction:column;gap:8px;max-height:calc((16/9 * (100vw - 320px - 96px)) + 0px);overflow-y:auto}.video-list{max-height:600px}.video-item{display:flex;gap:10px;align-items:center;padding:10px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);cursor:pointer;transition:all .2s}.video-item:hover,.video-item.active{border-color:#7c6af780;background:var(--surface2)}.video-item.active{border-color:var(--accent)}.video-item-thumb{width:72px;height:54px;border-radius:8px;background:var(--bg3);flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center}.video-item-thumb svg{opacity:.4}.video-item-info{flex:1;min-width:0}.video-item-info h4{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.video-item-info span{font-size:11px;color:var(--text3)}.video-item-num{font-size:13px;font-weight:700;color:var(--text3);width:24px;text-align:center;flex-shrink:0}.video-item.active .video-item-num{color:var(--accent2)}.image-gallery{columns:4 200px;gap:12px}.gallery-item{break-inside:avoid;margin-bottom:12px;border-radius:var(--radius);overflow:hidden;cursor:pointer;background:var(--surface);border:1px solid var(--border);transition:transform .25s,box-shadow .25s;position:relative}.gallery-item:hover{transform:scale(1.02);box-shadow:var(--shadow-accent)}.gallery-item img{width:100%;display:block;transition:opacity .3s}.gallery-item .img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .25s}.gallery-item:hover .img-overlay{opacity:1}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;background:#000000eb;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox img{max-width:90vw;max-height:90vh;border-radius:var(--radius);box-shadow:var(--shadow)}.lightbox-close{position:absolute;top:20px;right:24px;background:#ffffff1a;border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:22px;cursor:pointer;transition:background .2s}.lightbox-close:hover{background:#fff3}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1a;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:background .2s;border:1px solid rgba(255,255,255,.15)}.lightbox-nav:hover{background:#fff3}.lightbox-prev{left:20px}.lightbox-next{right:20px}.load-more-wrap{text-align:center;margin-top:32px}.load-more-btn{background:var(--surface);border:1px solid var(--border);border-radius:40px;padding:12px 32px;font-size:14px;font-weight:500;color:var(--text2);transition:all .2s}.load-more-btn:hover{border-color:var(--accent);color:var(--accent2)}.error-banner{max-width:1400px;margin:24px auto;padding:0 32px}.error-box{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius);padding:16px 20px;color:#fca5a5;font-size:14px;display:flex;gap:12px;align-items:flex-start}@media (max-width: 768px){.topbar{padding:0 16px}.topbar-search{width:180px}.page-hero{padding:32px 16px 20px}.topics-grid{padding:0 16px 40px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.topic-page{padding:0 16px 40px}.image-gallery{columns:2 120px}}
