:root{color-scheme:dark;font-family:Helvetica Neue,Arial,sans-serif;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden;background:#000;color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.feed-container{height:100vh;width:100%;overflow-y:scroll;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.feed-container::-webkit-scrollbar{display:none}.video-slide{height:100vh;width:100%;scroll-snap-align:start;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.video-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.video-content{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:1}.video-placeholder{font-size:4rem;opacity:.3;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.1);opacity:.5}}.actions-sidebar{position:absolute;right:12px;bottom:120px;display:flex;flex-direction:column;align-items:center;gap:18px;z-index:10}.action-btn{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:none;color:#fff;cursor:pointer;transition:transform .15s;-webkit-tap-highlight-color:transparent}.action-btn:active{transform:scale(.9)}.action-icon{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;background:#ffffff1a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .2s}.action-btn.liked .action-icon{background:#fe2c554d;color:#fe2c55}.action-btn.bookmarked .action-icon{background:#fed3304d;color:#fed330}.action-count{font-size:.7rem;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.6)}.avatar-btn{position:relative;margin-bottom:6px}.avatar-ring{width:48px;height:48px;border-radius:50%;border:2px solid #fff;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;background:linear-gradient(135deg,#fe2c55,#25f4ee)}.follow-badge{position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:20px;height:20px;border-radius:50%;background:#fe2c55;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;border:2px solid #000}.video-info{position:absolute;left:12px;right:72px;bottom:80px;z-index:10}.video-author{font-size:1rem;font-weight:700;margin-bottom:6px;text-shadow:0 1px 4px rgba(0,0,0,.6)}.video-description{font-size:.85rem;line-height:1.4;margin-bottom:10px;text-shadow:0 1px 3px rgba(0,0,0,.6);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.video-music{display:flex;align-items:center;gap:8px;font-size:.8rem;text-shadow:0 1px 3px rgba(0,0,0,.6)}.music-icon{display:inline-flex;animation:marquee 4s linear infinite}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.music-text{overflow:hidden;white-space:nowrap;max-width:200px}.music-disc{width:36px;height:36px;border-radius:50%;background:#333;border:6px solid #555;display:flex;align-items:center;justify-content:center;font-size:.7rem;animation:spin 3s linear infinite;flex-shrink:0}.music-disc.paused{animation-play-state:paused}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:60px;background:#000;border-top:.5px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:space-around;z-index:100;padding-bottom:env(safe-area-inset-bottom,0)}.nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;color:#ffffff80;font-size:.6rem;cursor:pointer;padding:6px 12px;transition:color .2s;-webkit-tap-highlight-color:transparent}.nav-item.active{color:#fff}.nav-icon{font-size:1.3rem}.nav-create{width:44px;height:28px;border-radius:8px;background:linear-gradient(to right,#25f4ee,#fe2c55);display:flex;align-items:center;justify-content:center;position:relative}.nav-create-inner{width:38px;height:24px;border-radius:6px;background:#fff;display:flex;align-items:center;justify-content:center;color:#000;font-size:1.2rem;font-weight:300}.top-bar{position:fixed;top:0;left:0;right:0;z-index:50;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top,0));display:flex;align-items:center;justify-content:center;gap:16px;background:linear-gradient(to bottom,rgba(0,0,0,.6),transparent);pointer-events:none}.top-tab{font-size:1rem;font-weight:500;color:#ffffff8c;background:none;border:none;cursor:pointer;padding:4px 0;position:relative;pointer-events:auto;transition:color .2s}.top-tab.active{color:#fff;font-weight:700}.top-tab.active:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:28px;height:3px;border-radius:2px;background:#fff}.heart-burst{position:absolute;z-index:20;pointer-events:none;animation:heartPop .8s ease-out forwards}@keyframes heartPop{0%{transform:scale(0) rotate(-15deg);opacity:1}50%{transform:scale(1.3) rotate(5deg);opacity:1}to{transform:scale(1) rotate(0);opacity:0}}.heart-burst-icon{font-size:6rem;filter:drop-shadow(0 2px 8px rgba(254,44,85,.5))}.video-progress{position:absolute;bottom:60px;left:0;right:0;height:3px;background:#fff3;z-index:10}.video-progress-bar{height:100%;background:#fff;transition:width .1s linear}.comments-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;flex-direction:column;justify-content:flex-end}.comments-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080}.comments-sheet{position:relative;background:#1a1a1a;border-radius:16px 16px 0 0;max-height:60vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.comments-header{padding:14px 16px;text-align:center;font-weight:700;font-size:.95rem;border-bottom:.5px solid rgba(255,255,255,.1);position:relative}.comments-close{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:none;border:none;color:#ffffff80;font-size:1.2rem;cursor:pointer}.comments-list{flex:1;overflow-y:auto;padding:12px 16px}.comment-item{display:flex;gap:12px;margin-bottom:16px}.comment-avatar{width:36px;height:36px;border-radius:50%;background:#333;display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0}.comment-body{flex:1}.comment-author{font-size:.8rem;color:#ffffff80;margin-bottom:2px}.comment-text{font-size:.9rem;line-height:1.4}.comment-meta{display:flex;gap:16px;margin-top:6px;font-size:.75rem;color:#fff6}.comment-like{background:none;border:none;color:#fff6;font-size:.75rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px}.comments-input-bar{padding:10px 16px;border-top:.5px solid rgba(255,255,255,.1);display:flex;gap:10px;align-items:center;padding-bottom:calc(10px + env(safe-area-inset-bottom,0))}.comments-input{flex:1;background:#ffffff14;border:none;border-radius:20px;padding:10px 16px;color:#fff;font-size:.9rem;outline:none}.comments-input::placeholder{color:#ffffff4d}.comments-send{background:#fe2c55;border:none;color:#fff;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.9rem}.share-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;flex-direction:column;justify-content:flex-end}.share-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080}.share-sheet{position:relative;background:#1a1a1a;border-radius:16px 16px 0 0;padding:20px 16px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0));animation:slideUp .3s ease-out}.share-title{text-align:center;font-weight:700;font-size:.95rem;margin-bottom:20px}.share-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.share-item{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:none;color:#fff;cursor:pointer}.share-icon{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem}.share-label{font-size:.65rem;color:#ffffffb3}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
