[{"data":1,"prerenderedAt":1766},["ShallowReactive",2],{"navigation_docs":3,"-tu-hoc-tailwindcss":420,"-tu-hoc-tailwindcss-surround":1761},[4,153],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":26},"Phỏng vấn .NET","i-lucide-briefcase","\u002Fphong-van","1.phong-van",[10,27,66,111,128],{"title":11,"icon":12,"path":13,"stem":14,"children":15,"page":26},"Tổng quan","i-lucide-compass","\u002Fphong-van\u002Ftong-quan","1.phong-van\u002F1.tong-quan",[16,21],{"title":17,"path":18,"stem":19,"icon":20},"Thị trường HCM","\u002Fphong-van\u002Ftong-quan\u002Fthi-truong","1.phong-van\u002F1.tong-quan\u002F1.thi-truong","i-lucide-trending-up",{"title":22,"path":23,"stem":24,"icon":25},"Lộ trình 7 ngày","\u002Fphong-van\u002Ftong-quan\u002Flo-trinh","1.phong-van\u002F1.tong-quan\u002F2.lo-trinh","i-lucide-calendar-days",false,{"title":22,"icon":25,"path":28,"stem":29,"children":30,"page":26},"\u002Fphong-van\u002Flo-trinh","1.phong-van\u002F2.lo-trinh",[31,36,41,46,51,56,61],{"title":32,"path":33,"stem":34,"icon":35},"Ngày 1 — C# cơ bản","\u002Fphong-van\u002Flo-trinh\u002Fngay-1-csharp-co-ban","1.phong-van\u002F2.lo-trinh\u002F1.ngay-1-csharp-co-ban","i-lucide-1",{"title":37,"path":38,"stem":39,"icon":40},"Ngày 2 — OOP và SOLID","\u002Fphong-van\u002Flo-trinh\u002Fngay-2-oop-solid","1.phong-van\u002F2.lo-trinh\u002F2.ngay-2-oop-solid","i-lucide-2",{"title":42,"path":43,"stem":44,"icon":45},"Ngày 3 — C# nâng cao","\u002Fphong-van\u002Flo-trinh\u002Fngay-3-csharp-nang-cao","1.phong-van\u002F2.lo-trinh\u002F3.ngay-3-csharp-nang-cao","i-lucide-3",{"title":47,"path":48,"stem":49,"icon":50},"Ngày 4 — Database và SQL","\u002Fphong-van\u002Flo-trinh\u002Fngay-4-database-sql","1.phong-van\u002F2.lo-trinh\u002F4.ngay-4-database-sql","i-lucide-4",{"title":52,"path":53,"stem":54,"icon":55},"Ngày 5 — ASP.NET Core và EF Core","\u002Fphong-van\u002Flo-trinh\u002Fngay-5-aspnet-efcore","1.phong-van\u002F2.lo-trinh\u002F5.ngay-5-aspnet-efcore","i-lucide-5",{"title":57,"path":58,"stem":59,"icon":60},"Ngày 6 — DSA coding","\u002Fphong-van\u002Flo-trinh\u002Fngay-6-dsa","1.phong-van\u002F2.lo-trinh\u002F6.ngay-6-dsa","i-lucide-6",{"title":62,"path":63,"stem":64,"icon":65},"Ngày 7 — Mock và HR","\u002Fphong-van\u002Flo-trinh\u002Fngay-7-mock-interview","1.phong-van\u002F2.lo-trinh\u002F7.ngay-7-mock-interview","i-lucide-7",{"title":67,"icon":68,"path":69,"stem":70,"children":71,"page":26},"Ngân hàng câu hỏi","i-lucide-database","\u002Fphong-van\u002Fngan-hang-cau-hoi","1.phong-van\u002F3.ngan-hang-cau-hoi",[72,77,82,87,92,97,102,107],{"title":73,"path":74,"stem":75,"icon":76},"C# (60+ câu)","\u002Fphong-van\u002Fngan-hang-cau-hoi\u002Fcsharp","1.phong-van\u002F3.ngan-hang-cau-hoi\u002F1.csharp","i-lucide-hash",{"title":78,"path":79,"stem":80,"icon":81},"OOP và SOLID (40+)","\u002Fphong-van\u002Fngan-hang-cau-hoi\u002Foop","1.phong-van\u002F3.ngan-hang-cau-hoi\u002F2.oop","i-lucide-shapes",{"title":83,"path":84,"stem":85,"icon":86},"SQL (40+)","\u002Fphong-van\u002Fngan-hang-cau-hoi\u002Fsql","1.phong-van\u002F3.ngan-hang-cau-hoi\u002F3.sql","i-lucide-database-zap",{"title":88,"path":89,"stem":90,"icon":91},"ASP.NET và EF (50+)","\u002Fphong-van\u002Fngan-hang-cau-hoi\u002Faspnet-ef","1.phong-van\u002F3.ngan-hang-cau-hoi\u002F4.aspnet-ef","i-lucide-server",{"title":93,"path":94,"stem":95,"icon":96},"DSA và Coding (30+)","\u002Fphong-van\u002Fngan-hang-cau-hoi\u002Fdsa-coding","1.phong-van\u002F3.ngan-hang-cau-hoi\u002F5.dsa-coding","i-lucide-binary",{"title":98,"path":99,"stem":100,"icon":101},"HR và Soft skill (25+)","\u002Fphong-van\u002Fngan-hang-cau-hoi\u002Fhr-behavior","1.phong-van\u002F3.ngan-hang-cau-hoi\u002F6.hr-behavior","i-lucide-users",{"title":103,"path":104,"stem":105,"icon":106},"Design Pattern (55+)","\u002Fphong-van\u002Fngan-hang-cau-hoi\u002Fdesign-pattern","1.phong-van\u002F3.ngan-hang-cau-hoi\u002F7.design-pattern","i-lucide-puzzle",{"title":108,"path":109,"stem":110,"icon":91},"ASP.NET MVC và Web API","\u002Fphong-van\u002Fngan-hang-cau-hoi\u002Faspnet-mvc-webapi","1.phong-van\u002F3.ngan-hang-cau-hoi\u002F8.aspnet-mvc-webapi",{"title":112,"itle":113,"icon":114,"path":115,"stem":116,"children":117,"page":26},"Tai Lieu","Tài liệu và Cheat sheet","i-lucide-book-marked","\u002Fphong-van\u002Ftai-lieu","1.phong-van\u002F4.tai-lieu",[118,123],{"title":119,"path":120,"stem":121,"icon":122},"Cheat Sheet","\u002Fphong-van\u002Ftai-lieu\u002Fcheatsheet","1.phong-van\u002F4.tai-lieu\u002F1.cheatsheet","i-lucide-clipboard-list",{"title":124,"path":125,"stem":126,"icon":127},"Nguồn tham khảo","\u002Fphong-van\u002Ftai-lieu\u002Fnguon","1.phong-van\u002F4.tai-lieu\u002F2.nguon","i-lucide-link",{"title":129,"icon":130,"path":131,"stem":132,"children":133,"page":26},"Phỏng vấn English","i-lucide-globe","\u002Fphong-van\u002Fenglish-interview","1.phong-van\u002F5.english-interview",[134,138,143,148],{"title":135,"path":136,"stem":137,"icon":130},"Tổng quan English","\u002Fphong-van\u002Fenglish-interview\u002Ftong-quan","1.phong-van\u002F5.english-interview\u002F1.tong-quan",{"title":139,"path":140,"stem":141,"icon":142},"Vocabulary","\u002Fphong-van\u002Fenglish-interview\u002Fvocabulary","1.phong-van\u002F5.english-interview\u002F2.vocabulary","i-lucide-book-a",{"title":144,"path":145,"stem":146,"icon":147},"Technical Q và A (EN)","\u002Fphong-van\u002Fenglish-interview\u002Ftechnical-en","1.phong-van\u002F5.english-interview\u002F3.technical-en","i-lucide-code",{"title":149,"path":150,"stem":151,"icon":152},"Behavioral (EN)","\u002Fphong-van\u002Fenglish-interview\u002Fbehavioral-en","1.phong-van\u002F5.english-interview\u002F4.behavioral-en","i-lucide-message-square-text",{"title":154,"icon":155,"path":156,"stem":157,"children":158},"Tự học","i-lucide-graduation-cap","\u002Ftu-hoc","2.tu-hoc",[159,161,287,310,333,357,384],{"title":154,"path":156,"stem":160,"icon":155},"2.tu-hoc\u002Findex",{"title":162,"icon":68,"path":163,"stem":164,"children":165},"Database","\u002Ftu-hoc\u002Fdatabase","2.tu-hoc\u002F1.database\u002Findex",[166,167,197,222,243,248],{"title":162,"path":163,"stem":164,"icon":68},{"title":168,"icon":91,"path":169,"stem":170,"children":171,"page":26},"SQL Server","\u002Ftu-hoc\u002Fdatabase\u002Fsql-server","2.tu-hoc\u002F1.database\u002F2.sql-server",[172,177,182,187,192],{"title":173,"path":174,"stem":175,"icon":176},"1. Giới thiệu và Cài đặt","\u002Ftu-hoc\u002Fdatabase\u002Fsql-server\u002Fgioi-thieu-cai-dat","2.tu-hoc\u002F1.database\u002F2.sql-server\u002F1.gioi-thieu-cai-dat","i-lucide-play-circle",{"title":178,"path":179,"stem":180,"icon":181},"2. Cú pháp cơ bản","\u002Ftu-hoc\u002Fdatabase\u002Fsql-server\u002Fcu-phap-co-ban","2.tu-hoc\u002F1.database\u002F2.sql-server\u002F2.cu-phap-co-ban","i-lucide-code-2",{"title":183,"path":184,"stem":185,"icon":186},"3. Truy vấn nâng cao","\u002Ftu-hoc\u002Fdatabase\u002Fsql-server\u002Ftruy-van-nang-cao","2.tu-hoc\u002F1.database\u002F2.sql-server\u002F3.truy-van-nang-cao","i-lucide-git-merge",{"title":188,"path":189,"stem":190,"icon":191},"4. Đặc thù và Performance","\u002Ftu-hoc\u002Fdatabase\u002Fsql-server\u002Fdac-thu-performance","2.tu-hoc\u002F1.database\u002F2.sql-server\u002F4.dac-thu-performance","i-lucide-gauge",{"title":193,"path":194,"stem":195,"icon":196},"5. Q và A phỏng vấn","\u002Ftu-hoc\u002Fdatabase\u002Fsql-server\u002Fcau-hoi-phong-van","2.tu-hoc\u002F1.database\u002F2.sql-server\u002F5.cau-hoi-phong-van","i-lucide-message-circle-question",{"title":198,"icon":199,"path":200,"stem":201,"children":202,"page":26},"PostgreSQL","i-simple-icons-postgresql","\u002Ftu-hoc\u002Fdatabase\u002Fpostgresql","2.tu-hoc\u002F1.database\u002F3.postgresql",[203,206,209,212,215,218],{"title":173,"path":204,"stem":205,"icon":176},"\u002Ftu-hoc\u002Fdatabase\u002Fpostgresql\u002Fgioi-thieu-cai-dat","2.tu-hoc\u002F1.database\u002F3.postgresql\u002F1.gioi-thieu-cai-dat",{"title":178,"path":207,"stem":208,"icon":181},"\u002Ftu-hoc\u002Fdatabase\u002Fpostgresql\u002Fcu-phap-co-ban","2.tu-hoc\u002F1.database\u002F3.postgresql\u002F2.cu-phap-co-ban",{"title":183,"path":210,"stem":211,"icon":186},"\u002Ftu-hoc\u002Fdatabase\u002Fpostgresql\u002Ftruy-van-nang-cao","2.tu-hoc\u002F1.database\u002F3.postgresql\u002F3.truy-van-nang-cao",{"title":188,"path":213,"stem":214,"icon":191},"\u002Ftu-hoc\u002Fdatabase\u002Fpostgresql\u002Fdac-thu-performance","2.tu-hoc\u002F1.database\u002F3.postgresql\u002F4.dac-thu-performance",{"title":193,"path":216,"stem":217,"icon":196},"\u002Ftu-hoc\u002Fdatabase\u002Fpostgresql\u002Fcau-hoi-phong-van","2.tu-hoc\u002F1.database\u002F3.postgresql\u002F5.cau-hoi-phong-van",{"title":219,"path":220,"stem":221,"icon":96},"6. Tích hợp C# và Postgres","\u002Ftu-hoc\u002Fdatabase\u002Fpostgresql\u002Ftich-hop-csharp","2.tu-hoc\u002F1.database\u002F3.postgresql\u002F6.tich-hop-csharp",{"title":223,"icon":224,"path":225,"stem":226,"children":227,"page":26},"MySQL","i-simple-icons-mysql","\u002Ftu-hoc\u002Fdatabase\u002Fmysql","2.tu-hoc\u002F1.database\u002F4.mysql",[228,231,234,237,240],{"title":173,"path":229,"stem":230,"icon":176},"\u002Ftu-hoc\u002Fdatabase\u002Fmysql\u002Fgioi-thieu-cai-dat","2.tu-hoc\u002F1.database\u002F4.mysql\u002F1.gioi-thieu-cai-dat",{"title":178,"path":232,"stem":233,"icon":181},"\u002Ftu-hoc\u002Fdatabase\u002Fmysql\u002Fcu-phap-co-ban","2.tu-hoc\u002F1.database\u002F4.mysql\u002F2.cu-phap-co-ban",{"title":183,"path":235,"stem":236,"icon":186},"\u002Ftu-hoc\u002Fdatabase\u002Fmysql\u002Ftruy-van-nang-cao","2.tu-hoc\u002F1.database\u002F4.mysql\u002F3.truy-van-nang-cao",{"title":188,"path":238,"stem":239,"icon":191},"\u002Ftu-hoc\u002Fdatabase\u002Fmysql\u002Fdac-thu-performance","2.tu-hoc\u002F1.database\u002F4.mysql\u002F4.dac-thu-performance",{"title":193,"path":241,"stem":242,"icon":196},"\u002Ftu-hoc\u002Fdatabase\u002Fmysql\u002Fcau-hoi-phong-van","2.tu-hoc\u002F1.database\u002F4.mysql\u002F5.cau-hoi-phong-van",{"title":244,"path":245,"stem":246,"icon":247},"So sánh 3 RDBMS","\u002Ftu-hoc\u002Fdatabase\u002Fso-sanh","2.tu-hoc\u002F1.database\u002F5.so-sanh","i-lucide-columns-3",{"title":249,"path":250,"stem":251,"children":252,"icon":254},"Supabase (BaaS)","\u002Ftu-hoc\u002Fdatabase\u002Fsupabase","2.tu-hoc\u002F1.database\u002F6.supabase\u002Findex",[253,255,259,264,269,274,278,283],{"title":249,"path":250,"stem":251,"icon":254},"i-simple-icons-supabase",{"title":256,"path":257,"stem":258,"icon":68},"1. Database","\u002Ftu-hoc\u002Fdatabase\u002Fsupabase\u002Fdatabase","2.tu-hoc\u002F1.database\u002F6.supabase\u002F1.database",{"title":260,"path":261,"stem":262,"icon":263},"2. Authentication","\u002Ftu-hoc\u002Fdatabase\u002Fsupabase\u002Fauthentication","2.tu-hoc\u002F1.database\u002F6.supabase\u002F2.authentication","i-lucide-key",{"title":265,"path":266,"stem":267,"icon":268},"3. Storage & Realtime","\u002Ftu-hoc\u002Fdatabase\u002Fsupabase\u002Fstorage-realtime","2.tu-hoc\u002F1.database\u002F6.supabase\u002F3.storage-realtime","i-lucide-zap",{"title":270,"path":271,"stem":272,"icon":273},"4. Edge Functions & AI","\u002Ftu-hoc\u002Fdatabase\u002Fsupabase\u002Ffunctions-ai","2.tu-hoc\u002F1.database\u002F6.supabase\u002F4.functions-ai","i-lucide-brain",{"title":275,"path":276,"stem":277,"icon":181},"5. API & SDKs","\u002Ftu-hoc\u002Fdatabase\u002Fsupabase\u002Fapi-sdk","2.tu-hoc\u002F1.database\u002F6.supabase\u002F5.api-sdk",{"title":279,"path":280,"stem":281,"icon":282},"6. Platform & Deploy","\u002Ftu-hoc\u002Fdatabase\u002Fsupabase\u002Fplatform-deploy","2.tu-hoc\u002F1.database\u002F6.supabase\u002F6.platform-deploy","i-lucide-cloud",{"title":284,"path":285,"stem":286,"icon":196},"7. Interview & Q&A","\u002Ftu-hoc\u002Fdatabase\u002Fsupabase\u002Finterview","2.tu-hoc\u002F1.database\u002F6.supabase\u002F7.interview",{"title":288,"icon":289,"path":290,"stem":291,"children":292},"TypeScript","i-simple-icons-typescript","\u002Ftu-hoc\u002Ftypescript","2.tu-hoc\u002F2.typescript\u002Findex",[293,294,297,301,306],{"title":288,"path":290,"stem":291,"icon":289},{"title":173,"path":295,"stem":296,"icon":176},"\u002Ftu-hoc\u002Ftypescript\u002Fgioi-thieu-cai-dat","2.tu-hoc\u002F2.typescript\u002F1.gioi-thieu-cai-dat",{"title":298,"path":299,"stem":300,"icon":81},"2. Type System","\u002Ftu-hoc\u002Ftypescript\u002Ftype-system","2.tu-hoc\u002F2.typescript\u002F2.type-system",{"title":302,"path":303,"stem":304,"icon":305},"3. Advanced types","\u002Ftu-hoc\u002Ftypescript\u002Fadvanced-types","2.tu-hoc\u002F2.typescript\u002F3.advanced-types","i-lucide-braces",{"title":307,"path":308,"stem":309,"icon":196},"4. Q và A phỏng vấn","\u002Ftu-hoc\u002Ftypescript\u002Fcau-hoi-phong-van","2.tu-hoc\u002F2.typescript\u002F4.cau-hoi-phong-van",{"title":311,"icon":81,"path":312,"stem":313,"children":314},"OOP","\u002Ftu-hoc\u002Foop","2.tu-hoc\u002F3.oop\u002Findex",[315,316,321,326,330],{"title":311,"path":312,"stem":313,"icon":81},{"title":317,"path":318,"stem":319,"icon":320},"1. Bốn tính chất","\u002Ftu-hoc\u002Foop\u002F4-tinh-chat","2.tu-hoc\u002F3.oop\u002F1.4-tinh-chat","i-lucide-circle-dot",{"title":322,"path":323,"stem":324,"icon":325},"2. SOLID","\u002Ftu-hoc\u002Foop\u002Fsolid","2.tu-hoc\u002F3.oop\u002F2.solid","i-lucide-shield",{"title":327,"path":328,"stem":329,"icon":106},"3. Design Pattern","\u002Ftu-hoc\u002Foop\u002Fdesign-pattern","2.tu-hoc\u002F3.oop\u002F3.design-pattern",{"title":307,"path":331,"stem":332,"icon":196},"\u002Ftu-hoc\u002Foop\u002Fcau-hoi-phong-van","2.tu-hoc\u002F3.oop\u002F4.cau-hoi-phong-van",{"title":334,"icon":305,"path":335,"stem":336,"children":337},"Generic","\u002Ftu-hoc\u002Fgeneric","2.tu-hoc\u002F4.generic\u002Findex",[338,339,344,349,354],{"title":334,"path":335,"stem":336,"icon":305},{"title":340,"path":341,"stem":342,"icon":343},"1. Khái niệm và cú pháp","\u002Ftu-hoc\u002Fgeneric\u002Fkhai-niem","2.tu-hoc\u002F4.generic\u002F1.khai-niem","i-lucide-book",{"title":345,"path":346,"stem":347,"icon":348},"2. Constraint và Variance","\u002Ftu-hoc\u002Fgeneric\u002Fconstraint-variance","2.tu-hoc\u002F4.generic\u002F2.constraint-variance","i-lucide-filter",{"title":350,"path":351,"stem":352,"icon":353},"3. C# vs TS","\u002Ftu-hoc\u002Fgeneric\u002Fso-sanh","2.tu-hoc\u002F4.generic\u002F3.so-sanh","i-lucide-git-compare",{"title":307,"path":355,"stem":356,"icon":196},"\u002Ftu-hoc\u002Fgeneric\u002Fcau-hoi-phong-van","2.tu-hoc\u002F4.generic\u002F4.cau-hoi-phong-van",{"title":358,"icon":359,"path":360,"stem":361,"children":362},"Nuxt 4","i-simple-icons-nuxt","\u002Ftu-hoc\u002Fnuxt-4","2.tu-hoc\u002F5.nuxt-4\u002Findex",[363,364,367,372,376,379],{"title":358,"path":360,"stem":361,"icon":359},{"title":173,"path":365,"stem":366,"icon":176},"\u002Ftu-hoc\u002Fnuxt-4\u002Fgioi-thieu-cai-dat","2.tu-hoc\u002F5.nuxt-4\u002F1.gioi-thieu-cai-dat",{"title":368,"path":369,"stem":370,"icon":371},"2. Routing và Rendering","\u002Ftu-hoc\u002Fnuxt-4\u002Frouting-rendering","2.tu-hoc\u002F5.nuxt-4\u002F2.routing-rendering","i-lucide-route",{"title":373,"path":374,"stem":375,"icon":91},"3. Data và Server","\u002Ftu-hoc\u002Fnuxt-4\u002Fdata-server","2.tu-hoc\u002F5.nuxt-4\u002F3.data-server",{"title":307,"path":377,"stem":378,"icon":196},"\u002Ftu-hoc\u002Fnuxt-4\u002Fcau-hoi-phong-van","2.tu-hoc\u002F5.nuxt-4\u002F4.cau-hoi-phong-van",{"title":380,"path":381,"stem":382,"icon":383},"5. Practical Todo App","\u002Ftu-hoc\u002Fnuxt-4\u002Fpractical-todo-app","2.tu-hoc\u002F5.nuxt-4\u002F5.practical-todo-app","i-lucide-check-square",{"title":385,"path":386,"stem":387,"children":388,"icon":390},"Tailwind CSS","\u002Ftu-hoc\u002Ftailwindcss","2.tu-hoc\u002F6.tailwindcss\u002Findex",[389,391,396,401,406,411,416],{"title":385,"path":386,"stem":387,"icon":390},"i-simple-icons-tailwindcss",{"title":392,"path":393,"stem":394,"icon":395},"1. Layout & Spacing","\u002Ftu-hoc\u002Ftailwindcss\u002Flayout-spacing","2.tu-hoc\u002F6.tailwindcss\u002F1.layout-spacing","i-lucide-layout",{"title":397,"path":398,"stem":399,"icon":400},"2. Typography & Colors","\u002Ftu-hoc\u002Ftailwindcss\u002Ftypography-colors","2.tu-hoc\u002F6.tailwindcss\u002F2.typography-colors","i-lucide-type",{"title":402,"path":403,"stem":404,"icon":405},"3. Interactive & Effects","\u002Ftu-hoc\u002Ftailwindcss\u002Finteractive-effects","2.tu-hoc\u002F6.tailwindcss\u002F3.interactive-effects","i-lucide-sparkles",{"title":407,"path":408,"stem":409,"icon":410},"4. Responsive & Dark Mode","\u002Ftu-hoc\u002Ftailwindcss\u002Fresponsive-darkmode","2.tu-hoc\u002F6.tailwindcss\u002F4.responsive-darkmode","i-lucide-monitor-smartphone",{"title":412,"path":413,"stem":414,"icon":415},"5. Customization & Theme","\u002Ftu-hoc\u002Ftailwindcss\u002Fcustomization","2.tu-hoc\u002F6.tailwindcss\u002F5.customization","i-lucide-settings-2",{"title":417,"path":418,"stem":419,"icon":181},"6. Practical Projects","\u002Ftu-hoc\u002Ftailwindcss\u002Fpractical-projects","2.tu-hoc\u002F6.tailwindcss\u002F6.practical-projects",{"id":421,"title":422,"body":423,"description":1754,"extension":1755,"links":1756,"meta":1757,"navigation":1758,"path":386,"seo":1759,"stem":387,"__hash__":1760},"docs\u002F2.tu-hoc\u002F6.tailwindcss\u002Findex.md","Tailwind CSS v4 — Utility-First CSS Framework",{"type":424,"value":425,"toc":1743},"minimark",[426,431,454,457,533,554,558,565,622,627,711,852,865,869,977,1032,1169,1173,1279,1321,1325,1332,1366,1395,1399,1587,1591,1718,1732,1739],[427,428,430],"h2",{"id":429},"tailwind-css-là-gì","Tailwind CSS là gì?",[432,433,434,437,438,441,442,446,447,446,450,453],"p",{},[435,436,385],"strong",{}," = ",[435,439,440],{},"utility-first CSS framework"," — thay vì viết CSS riêng cho từng component, bạn dùng hàng trăm class nhỏ (",[443,444,445],"code",{},"flex",", ",[443,448,449],{},"pt-4",[443,451,452],{},"text-lg",") ngay trong HTML để build giao diện nhanh và nhất quán.",[432,455,456],{},"Khác biệt cốt lõi so với Bootstrap \u002F Material UI:",[458,459,460,474],"table",{},[461,462,463],"thead",{},[464,465,466,469,471],"tr",{},[467,468],"th",{},[467,470,385],{},[467,472,473],{},"Bootstrap",[475,476,477,489,500,511,522],"tbody",{},[464,478,479,483,486],{},[480,481,482],"td",{},"Triết lý",[480,484,485],{},"Utility-first — build từ class nhỏ",[480,487,488],{},"Component-first — dùng component có sẵn",[464,490,491,494,497],{},[480,492,493],{},"Customization",[480,495,496],{},"Design system trong config → build ra class",[480,498,499],{},"Ghi đè CSS variable",[464,501,502,505,508],{},[480,503,504],{},"File output",[480,506,507],{},"Chỉ class bạn dùng (tree-shake)",[480,509,510],{},"Cả thư viện hoặc import từng phần",[464,512,513,516,519],{},[480,514,515],{},"HTML",[480,517,518],{},"Nhiều class hơn, nhưng CSS file nhỏ hơn",[480,520,521],{},"Ít class hơn, CSS file to hơn",[464,523,524,527,530],{},[480,525,526],{},"Design system",[480,528,529],{},"Bạn tự định nghĩa màu, spacing, font...",[480,531,532],{},"Có sẵn, ghi đè nếu cần",[534,535,538,543],"callout",{"color":536,"icon":537},"primary","i-lucide-info",[432,539,540],{},[435,541,542],{},"\"Nhồi nhét class vào HTML\" — đúng hay sai?",[432,544,545,546,549,550,553],{},"Đúng là HTML dài hơn về visual. Nhưng bạn ",[435,547,548],{},"không phải đặt tên class"," — không phải nghĩ tên cho ",[443,551,552],{},"\u003Cdiv class=\"card__header--highlighted\">",", không CSS file riêng cho từng component. Đổi giao diện mà không sợ break CSS ở chỗ khác. Đây là trade-off mà Tailwind chọn.",[427,555,557],{"id":556},"v40-oxide-engine-rewrite","v4.0 — Oxide Engine rewrite",[432,559,560,561,564],{},"Tailwind CSS v4 là bản viết lại ",[435,562,563],{},"từ đầu bằng Rust (Oxide Engine)"," — thay đổi toàn diện cách Tailwind hoạt động bên dưới:",[566,567,568,581,600,609],"card-group",{},[569,570,572,573,576,577,580],"card",{"icon":268,"title":571},"Oxide Engine (Rust)","Build nhanh gấp ",[435,574,575],{},"5x",", incremental build nhanh gấp ",[435,578,579],{},"100x",". Scan file Rust-native, không phụ thuộc JS nữa.",[569,582,585,586,589,590,446,593,446,596,599],{"icon":583,"title":584},"i-lucide-file-code","CSS-first config","Không còn ",[443,587,588],{},"tailwind.config.js",". Dùng ",[443,591,592],{},"@theme",[443,594,595],{},"@utility",[443,597,598],{},"@custom-variant"," trực tiếp trong CSS. IDE autocomplete vẫn chạy ngon qua LSP.",[569,601,604,605,608],{"icon":602,"title":603},"i-lucide-eye-off","Automatic content detection","Không cần ",[443,606,607],{},"content"," array nữa. Tailwind tự scan tất cả file trong project, tự biết class nào cần generate.",[569,610,613,614,617,618,621],{"icon":611,"title":612},"i-lucide-palette","OKLCH + P3 color","Color space mặc định là ",[435,615,616],{},"OKLCH"," — perceptually uniform, chính xác hơn sRGB. Hỗ trợ ",[435,619,620],{},"P3 wide gamut"," — màu rực rỡ hơn trên màn hình hiện đại.",[623,624,626],"h3",{"id":625},"code-thay-đổi-dễ-thấy","Code thay đổi dễ thấy",[628,629,634],"pre",{"className":630,"code":631,"language":632,"meta":633,"style":633},"language-css shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F* v3 — @tailwind directives *\u002F\n@tailwind base;\n@tailwind components;\n@tailwind utilities;\n\n\u002F* v4 — single import *\u002F\n@import \"tailwindcss\";\n","css","",[443,635,636,645,660,670,680,687,693],{"__ignoreMap":633},[637,638,641],"span",{"class":639,"line":640},"line",1,[637,642,644],{"class":643},"sHwdD","\u002F* v3 — @tailwind directives *\u002F\n",[637,646,648,652,656],{"class":639,"line":647},2,[637,649,651],{"class":650},"s7zQu","@tailwind",[637,653,655],{"class":654},"sTEyZ"," base",[637,657,659],{"class":658},"sMK4o",";\n",[637,661,663,665,668],{"class":639,"line":662},3,[637,664,651],{"class":650},[637,666,667],{"class":654}," components",[637,669,659],{"class":658},[637,671,673,675,678],{"class":639,"line":672},4,[637,674,651],{"class":650},[637,676,677],{"class":654}," utilities",[637,679,659],{"class":658},[637,681,683],{"class":639,"line":682},5,[637,684,686],{"emptyLinePlaceholder":685},true,"\n",[637,688,690],{"class":639,"line":689},6,[637,691,692],{"class":643},"\u002F* v4 — single import *\u002F\n",[637,694,696,699,702,706,709],{"class":639,"line":695},7,[637,697,698],{"class":650},"@import",[637,700,701],{"class":658}," \"",[637,703,705],{"class":704},"sfazB","tailwindcss",[637,707,708],{"class":658},"\"",[637,710,659],{"class":658},[628,712,714],{"className":630,"code":713,"language":632,"meta":633,"style":633},"\u002F* v3 — tailwind.config.js *\u002F\nmodule.exports = {\n  theme: {\n    extend: { colors: { brand: '#1e40af' } }\n  }\n}\n\n\u002F* v4 — CSS-first config trong file CSS *\u002F\n@import \"tailwindcss\";\n\n@theme {\n  --color-brand: #1e40af;\n  --color-brand-light: oklch(0.7 0.15 250);\n}\n",[443,715,716,721,738,749,768,773,778,782,788,801,806,813,825,847],{"__ignoreMap":633},[637,717,718],{"class":639,"line":640},[637,719,720],{"class":643},"\u002F* v3 — tailwind.config.js *\u002F\n",[637,722,723,726,729,733,735],{"class":639,"line":647},[637,724,725],{"class":654},"module",[637,727,728],{"class":658},".",[637,730,732],{"class":731},"sBMFI","exports",[637,734,437],{"class":654},[637,736,737],{"class":658},"{\n",[637,739,740,743,746],{"class":639,"line":662},[637,741,742],{"class":654},"  theme",[637,744,745],{"class":658},":",[637,747,748],{"class":654}," {\n",[637,750,751,754,757,760,762,765],{"class":639,"line":672},[637,752,753],{"class":654},"    extend: { colors: { brand: ",[637,755,756],{"class":658},"'",[637,758,759],{"class":704},"#1e40af",[637,761,756],{"class":658},[637,763,764],{"class":658}," }",[637,766,767],{"class":654}," }\n",[637,769,770],{"class":639,"line":682},[637,771,772],{"class":654},"  }\n",[637,774,775],{"class":639,"line":689},[637,776,777],{"class":654},"}\n",[637,779,780],{"class":639,"line":695},[637,781,686],{"emptyLinePlaceholder":685},[637,783,785],{"class":639,"line":784},8,[637,786,787],{"class":643},"\u002F* v4 — CSS-first config trong file CSS *\u002F\n",[637,789,791,793,795,797,799],{"class":639,"line":790},9,[637,792,698],{"class":650},[637,794,701],{"class":658},[637,796,705],{"class":704},[637,798,708],{"class":658},[637,800,659],{"class":658},[637,802,804],{"class":639,"line":803},10,[637,805,686],{"emptyLinePlaceholder":685},[637,807,809,811],{"class":639,"line":808},11,[637,810,592],{"class":650},[637,812,748],{"class":658},[637,814,816,819,822],{"class":639,"line":815},12,[637,817,818],{"class":654},"  --color-brand: ",[637,820,821],{"class":658},"#",[637,823,824],{"class":654},"1e40af;\n",[637,826,828,831,833,836,839,841,844],{"class":639,"line":827},13,[637,829,830],{"class":654},"  --color-brand-light: oklch(0",[637,832,728],{"class":658},[637,834,835],{"class":731},"7",[637,837,838],{"class":654}," 0",[637,840,728],{"class":658},[637,842,843],{"class":731},"15",[637,845,846],{"class":654}," 250);\n",[637,848,850],{"class":639,"line":849},14,[637,851,777],{"class":658},[432,853,854,855,857,858,861,862,728],{},"Tất cả token định nghĩa trong ",[443,856,592],{}," đều tự động expose thành ",[435,859,860],{},"CSS custom properties"," — dùng được ở mọi nơi: ",[443,863,864],{},"var(--color-brand)",[427,866,868],{"id":867},"installation","Installation",[628,870,874],{"className":871,"code":872,"language":873,"meta":633,"style":633},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Vite\nnpm install tailwindcss @tailwindcss\u002Fvite\n\n# Next.js (PostCSS plugin vẫn hỗ trợ)\nnpm install tailwindcss @tailwindcss\u002Fpostcss\n\n# Nuxt\nnpx nuxi module add @nuxtjs\u002Ftailwindcss\n\n# CDN — dùng thử nhanh (không khuyến nghị production)\n\u003Cscript src=\"https:\u002F\u002Fcdn.jsdelivr.net\u002Fnpm\u002F@tailwindcss\u002Fbrowser@4\">\u003C\u002Fscript>\n","bash",[443,875,876,881,895,899,904,915,919,924,941,945,950],{"__ignoreMap":633},[637,877,878],{"class":639,"line":640},[637,879,880],{"class":643},"# Vite\n",[637,882,883,886,889,892],{"class":639,"line":647},[637,884,885],{"class":731},"npm",[637,887,888],{"class":704}," install",[637,890,891],{"class":704}," tailwindcss",[637,893,894],{"class":704}," @tailwindcss\u002Fvite\n",[637,896,897],{"class":639,"line":662},[637,898,686],{"emptyLinePlaceholder":685},[637,900,901],{"class":639,"line":672},[637,902,903],{"class":643},"# Next.js (PostCSS plugin vẫn hỗ trợ)\n",[637,905,906,908,910,912],{"class":639,"line":682},[637,907,885],{"class":731},[637,909,888],{"class":704},[637,911,891],{"class":704},[637,913,914],{"class":704}," @tailwindcss\u002Fpostcss\n",[637,916,917],{"class":639,"line":689},[637,918,686],{"emptyLinePlaceholder":685},[637,920,921],{"class":639,"line":695},[637,922,923],{"class":643},"# Nuxt\n",[637,925,926,929,932,935,938],{"class":639,"line":784},[637,927,928],{"class":731},"npx",[637,930,931],{"class":704}," nuxi",[637,933,934],{"class":704}," module",[637,936,937],{"class":704}," add",[637,939,940],{"class":704}," @nuxtjs\u002Ftailwindcss\n",[637,942,943],{"class":639,"line":790},[637,944,686],{"emptyLinePlaceholder":685},[637,946,947],{"class":639,"line":803},[637,948,949],{"class":643},"# CDN — dùng thử nhanh (không khuyến nghị production)\n",[637,951,952,955,958,961,963,966,968,971,974],{"class":639,"line":808},[637,953,954],{"class":658},"\u003C",[637,956,957],{"class":654},"script src",[637,959,960],{"class":658},"=",[637,962,708],{"class":658},[637,964,965],{"class":704},"https:\u002F\u002Fcdn.jsdelivr.net\u002Fnpm\u002F@tailwindcss\u002Fbrowser@4",[637,967,708],{"class":658},[637,969,970],{"class":654},">\u003C",[637,972,973],{"class":704},"\u002Fscript",[637,975,976],{"class":658},">\n",[628,978,980],{"className":630,"code":979,"language":632,"meta":633,"style":633},"\u002F* main.css — file CSS chính *\u002F\n@import \"tailwindcss\";\n\n@theme {\n  --color-primary: oklch(0.55 0.2 250);\n}\n",[443,981,982,987,999,1003,1009,1028],{"__ignoreMap":633},[637,983,984],{"class":639,"line":640},[637,985,986],{"class":643},"\u002F* main.css — file CSS chính *\u002F\n",[637,988,989,991,993,995,997],{"class":639,"line":647},[637,990,698],{"class":650},[637,992,701],{"class":658},[637,994,705],{"class":704},[637,996,708],{"class":658},[637,998,659],{"class":658},[637,1000,1001],{"class":639,"line":662},[637,1002,686],{"emptyLinePlaceholder":685},[637,1004,1005,1007],{"class":639,"line":672},[637,1006,592],{"class":650},[637,1008,748],{"class":658},[637,1010,1011,1014,1016,1019,1021,1023,1026],{"class":639,"line":682},[637,1012,1013],{"class":654},"  --color-primary: oklch(0",[637,1015,728],{"class":658},[637,1017,1018],{"class":731},"55",[637,1020,838],{"class":654},[637,1022,728],{"class":658},[637,1024,1025],{"class":731},"2",[637,1027,846],{"class":654},[637,1029,1030],{"class":639,"line":689},[637,1031,777],{"class":658},[628,1033,1037],{"className":1034,"code":1035,"language":1036,"meta":633,"style":633},"language-html shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003C!-- Hello World — dùng thử ngay -->\n\u003Cdiv class=\"min-h-screen flex items-center justify-center bg-gray-100\">\n  \u003Cdiv class=\"bg-white p-8 rounded-2xl shadow-lg text-center\">\n    \u003Ch1 class=\"text-3xl font-bold text-primary mb-4\">\n      Tailwind CSS v4\n    \u003C\u002Fh1>\n    \u003Cp class=\"text-gray-600\">Utility-first CSS, Rust-powered.\u003C\u002Fp>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\n","html",[443,1038,1039,1044,1067,1087,1108,1113,1122,1152,1161],{"__ignoreMap":633},[637,1040,1041],{"class":639,"line":640},[637,1042,1043],{"class":643},"\u003C!-- Hello World — dùng thử ngay -->\n",[637,1045,1046,1048,1052,1056,1058,1060,1063,1065],{"class":639,"line":647},[637,1047,954],{"class":658},[637,1049,1051],{"class":1050},"swJcz","div",[637,1053,1055],{"class":1054},"spNyl"," class",[637,1057,960],{"class":658},[637,1059,708],{"class":658},[637,1061,1062],{"class":704},"min-h-screen flex items-center justify-center bg-gray-100",[637,1064,708],{"class":658},[637,1066,976],{"class":658},[637,1068,1069,1072,1074,1076,1078,1080,1083,1085],{"class":639,"line":662},[637,1070,1071],{"class":658},"  \u003C",[637,1073,1051],{"class":1050},[637,1075,1055],{"class":1054},[637,1077,960],{"class":658},[637,1079,708],{"class":658},[637,1081,1082],{"class":704},"bg-white p-8 rounded-2xl shadow-lg text-center",[637,1084,708],{"class":658},[637,1086,976],{"class":658},[637,1088,1089,1092,1095,1097,1099,1101,1104,1106],{"class":639,"line":672},[637,1090,1091],{"class":658},"    \u003C",[637,1093,1094],{"class":1050},"h1",[637,1096,1055],{"class":1054},[637,1098,960],{"class":658},[637,1100,708],{"class":658},[637,1102,1103],{"class":704},"text-3xl font-bold text-primary mb-4",[637,1105,708],{"class":658},[637,1107,976],{"class":658},[637,1109,1110],{"class":639,"line":682},[637,1111,1112],{"class":654},"      Tailwind CSS v4\n",[637,1114,1115,1118,1120],{"class":639,"line":689},[637,1116,1117],{"class":658},"    \u003C\u002F",[637,1119,1094],{"class":1050},[637,1121,976],{"class":658},[637,1123,1124,1126,1128,1130,1132,1134,1137,1139,1142,1145,1148,1150],{"class":639,"line":695},[637,1125,1091],{"class":658},[637,1127,432],{"class":1050},[637,1129,1055],{"class":1054},[637,1131,960],{"class":658},[637,1133,708],{"class":658},[637,1135,1136],{"class":704},"text-gray-600",[637,1138,708],{"class":658},[637,1140,1141],{"class":658},">",[637,1143,1144],{"class":654},"Utility-first CSS, Rust-powered.",[637,1146,1147],{"class":658},"\u003C\u002F",[637,1149,432],{"class":1050},[637,1151,976],{"class":658},[637,1153,1154,1157,1159],{"class":639,"line":784},[637,1155,1156],{"class":658},"  \u003C\u002F",[637,1158,1051],{"class":1050},[637,1160,976],{"class":658},[637,1162,1163,1165,1167],{"class":639,"line":790},[637,1164,1147],{"class":658},[637,1166,1051],{"class":1050},[637,1168,976],{"class":658},[427,1170,1172],{"id":1171},"version-timeline","Version timeline",[458,1174,1175,1188],{},[461,1176,1177],{},[464,1178,1179,1182,1185],{},[467,1180,1181],{},"Phiên bản",[467,1183,1184],{},"Thời gian",[467,1186,1187],{},"Highlights",[475,1189,1190,1203,1227,1247],{},[464,1191,1192,1197,1200],{},[480,1193,1194],{},[435,1195,1196],{},"v4.0",[480,1198,1199],{},"Tháng 01\u002F2025",[480,1201,1202],{},"Oxide Engine (Rust), CSS-first config, OKLCH, auto content detection, container queries, 3D transforms, radial\u002Fconic gradients",[464,1204,1205,1210,1213],{},[480,1206,1207],{},[435,1208,1209],{},"v4.1",[480,1211,1212],{},"Tháng 04\u002F2025",[480,1214,1215,1218,1219,1222,1223,1226],{},[443,1216,1217],{},"text-shadow"," utilities, ",[443,1220,1221],{},"mask"," utilities, CSS-first ",[443,1224,1225],{},"@plugin",", improved LSP",[464,1228,1229,1234,1237],{},[480,1230,1231],{},[435,1232,1233],{},"v4.2",[480,1235,1236],{},"Giữa 2025",[480,1238,1239,1240,446,1243,1246],{},"Màu mới (mauve, olive, mist, taupe), logical properties (",[443,1241,1242],{},"pbs-*",[443,1244,1245],{},"mbs-*","...), webpack plugin, import aliases",[464,1248,1249,1254,1257],{},[480,1250,1251],{},[435,1252,1253],{},"v4.3",[480,1255,1256],{},"Tháng 05\u002F2026",[480,1258,1259,1260,446,1263,446,1266,1269,1270,446,1273,446,1276],{},"Scrollbar styling (",[443,1261,1262],{},"scrollbar-thin",[443,1264,1265],{},"scrollbar-thumb-*",[443,1267,1268],{},"scrollbar-track-*","), ",[443,1271,1272],{},"container-size",[443,1274,1275],{},"zoom",[443,1277,1278],{},"tab-size",[534,1280,1283,1294],{"color":1281,"icon":1282},"warning","i-lucide-star",[432,1284,1285,1286,1289,1290],{},"⭐ ",[435,1287,1288],{},"Câu PV:"," ",[1291,1292,1293],"em",{},"\"Tailwind CSS v4 — điểm mới nào quan trọng nhất?\"",[1295,1296,1297],"blockquote",{},[432,1298,1299,1300,1303,1304,1307,1308,1310,1311,1313,1314,1316,1317,1320],{},"\"Ba thứ thay đổi toàn bộ trải nghiệm: ",[435,1301,1302],{},"(1) Oxide Engine"," viết bằng Rust — build nhanh gấp 5x, incremental 100x. ",[435,1305,1306],{},"(2) CSS-first config"," — bỏ ",[443,1309,588],{},", dùng ",[443,1312,592],{}," + ",[443,1315,595],{}," ngay trong CSS. ",[435,1318,1319],{},"(3) OKLCH color space"," mặc định — màu đồng đều hơn về mặt perceptive, hỗ trợ P3 wide gamut.\"",[427,1322,1324],{"id":1323},"vì-sao-chọn-tailwind-thay-vì-raw-css","Vì sao chọn Tailwind thay vì raw CSS?",[432,1326,1327,1328,1331],{},"Đây là câu hỏi ",[435,1329,1330],{},"phỏng vấn cực hay gặp"," khi bạn ghi Tailwind vào CV:",[566,1333,1334,1338,1357,1362],{},[569,1335,1337],{"icon":191,"title":1336},"Tốc độ viết code","Không chuyển tab HTML ↔ CSS liên tục. Thấy element → thêm class ngay. Không đặt tên class dài dòng.",[569,1339,1342,1343,446,1346,446,1349,1352,1353,1356],{"icon":1340,"title":1341},"i-lucide-ruler","Design system nhất quán","Spacing scale (",[443,1344,1345],{},"p-4",[443,1347,1348],{},"p-6",[443,1350,1351],{},"p-8","), color palette, font size — tất cả limited choices. Không có ",[443,1354,1355],{},"padding: 13px"," tự chế.",[569,1358,1361],{"icon":1359,"title":1360},"i-lucide-tree-pine","Bundle siêu nhỏ","Chỉ class được dùng mới vào CSS output. Production bundle thường 3–5 KB gzipped.",[569,1363,1365],{"icon":101,"title":1364},"Team collaboration","Không cần đọc CSS file của đồng đội để hiểu component. HTML là single source of truth.",[534,1367,1368,1375],{"color":1281,"icon":1282},[432,1369,1285,1370,1289,1372],{},[435,1371,1288],{},[1291,1373,1374],{},"\"So sánh Tailwind với CSS Modules và Styled Components.\"",[1295,1376,1377,1383,1389],{},[432,1378,1379,1382],{},[435,1380,1381],{},"Tailwind:"," Utility-first, viết class trong HTML, bundle nhỏ vì class shared, design system built-in. Học hơi dốc lúc đầu vì phải nhớ tên class.",[432,1384,1385,1388],{},[435,1386,1387],{},"CSS Modules:"," Viết CSS bình thường, scope local tự động. Quen thuộc với dev CSS truyền thống. Nhưng không có design system constraint → dễ drift style.",[432,1390,1391,1394],{},[435,1392,1393],{},"Styled Components:"," CSS-in-JS, style gắn với component React. Dynamic style dễ hơn. Nhưng runtime overhead, bundle to hơn.",[427,1396,1398],{"id":1397},"tailwind-css-v3-vs-v4-khác-biệt-chính","Tailwind CSS v3 vs v4 — khác biệt chính",[458,1400,1401,1413],{},[461,1402,1403],{},[464,1404,1405,1407,1410],{},[467,1406],{},[467,1408,1409],{},"v3",[467,1411,1412],{},"v4",[475,1414,1415,1428,1445,1461,1474,1491,1504,1521,1543,1562,1575],{},[464,1416,1417,1420,1423],{},[480,1418,1419],{},"Engine",[480,1421,1422],{},"JavaScript (PostCSS)",[480,1424,1425],{},[435,1426,1427],{},"Rust (Oxide Engine)",[464,1429,1430,1433,1437],{},[480,1431,1432],{},"Config",[480,1434,1435],{},[443,1436,588],{},[480,1438,1439],{},[435,1440,1441,1442,1444],{},"CSS ",[443,1443,592],{}," block",[464,1446,1447,1450,1456],{},[480,1448,1449],{},"Content detection",[480,1451,1452,1453,1455],{},"Manual ",[443,1454,607],{}," array",[480,1457,1458],{},[435,1459,1460],{},"Automatic",[464,1462,1463,1466,1469],{},[480,1464,1465],{},"Color space",[480,1467,1468],{},"sRGB",[480,1470,1471],{},[435,1472,1473],{},"OKLCH (P3-ready)",[464,1475,1476,1479,1484],{},[480,1477,1478],{},"Import",[480,1480,1481],{},[443,1482,1483],{},"@tailwind base\u002Fcomponents\u002Futilities",[480,1485,1486],{},[435,1487,1488],{},[443,1489,1490],{},"@import \"tailwindcss\"",[464,1492,1493,1496,1499],{},[480,1494,1495],{},"Token exposure",[480,1497,1498],{},"Manual CSS var",[480,1500,1501],{},[435,1502,1503],{},"Auto expose all tokens",[464,1505,1506,1509,1516],{},[480,1507,1508],{},"Container queries",[480,1510,1511,1512,1515],{},"Plugin (",[443,1513,1514],{},"@tailwindcss\u002Fcontainer-queries",")",[480,1517,1518],{},[435,1519,1520],{},"Built-in",[464,1522,1523,1526,1529],{},[480,1524,1525],{},"3D transforms",[480,1527,1528],{},"Không có",[480,1530,1531,1533,1534,446,1537,446,1540,1515],{},[435,1532,1520],{}," (",[443,1535,1536],{},"rotate-x-*",[443,1538,1539],{},"rotate-y-*",[443,1541,1542],{},"rotate-z-*",[464,1544,1545,1548,1551],{},[480,1546,1547],{},"Gradients",[480,1549,1550],{},"Linear only",[480,1552,1553,1533,1556,446,1559,1515],{},[435,1554,1555],{},"Radial + conic",[443,1557,1558],{},"bg-radial-*",[443,1560,1561],{},"bg-conic-*",[464,1563,1564,1567,1570],{},[480,1565,1566],{},"Text shadow",[480,1568,1569],{},"Plugin",[480,1571,1572],{},[435,1573,1574],{},"Built-in (v4.1)",[464,1576,1577,1580,1582],{},[480,1578,1579],{},"Scrollbar",[480,1581,1569],{},[480,1583,1584],{},[435,1585,1586],{},"Built-in (v4.3)",[427,1588,1590],{"id":1589},"lộ-trình-học","Lộ trình học",[458,1592,1593,1603],{},[461,1594,1595],{},[464,1596,1597,1600],{},[467,1598,1599],{},"Trang",[467,1601,1602],{},"Nội dung",[475,1604,1605,1615,1624,1635,1646,1661,1678,1696,1707],{},[464,1606,1607,1612],{},[480,1608,1609],{},[1610,1611,392],"a",{"href":393},[480,1613,1614],{},"Display, position, container queries, flexbox, grid, spacing, sizing, overflow, scrollbar — 19 bài tập thực hành",[464,1616,1617,1621],{},[480,1618,1619],{},[1610,1620,397],{"href":398},[480,1622,1623],{},"Font, text size, color OKLCH, text shadow (v4.1), opacity, dark mode",[464,1625,1626,1632],{},[480,1627,1628],{},[1610,1629,1631],{"href":1630},"\u002Ftu-hoc\u002Ftailwindcss\u002Fbackgrounds-borders","3. Backgrounds & Borders",[480,1633,1634],{},"Background color\u002Fimage\u002Fgradient (radial\u002Fconic v4.0), border, outline, ring, divide",[464,1636,1637,1643],{},[480,1638,1639],{},[1610,1640,1642],{"href":1641},"\u002Ftu-hoc\u002Ftailwindcss\u002Feffects-filters","4. Effects & Filters",[480,1644,1645],{},"Shadow, blur, backdrop, transform, transition, animation, 3D transforms (v4.0)",[464,1647,1648,1654],{},[480,1649,1650],{},[1610,1651,1653],{"href":1652},"\u002Ftu-hoc\u002Ftailwindcss\u002Fresponsive-design","5. Responsive Design",[480,1655,1656,1657,1660],{},"Breakpoints, container queries (",[443,1658,1659],{},"@container","), mobile-first, logical properties (v4.2)",[464,1662,1663,1669],{},[480,1664,1665],{},[1610,1666,1668],{"href":1667},"\u002Ftu-hoc\u002Ftailwindcss\u002Fdark-mode-theming","6. Dark Mode & Theming",[480,1670,1671,1674,1675,1677],{},[443,1672,1673],{},"dark:"," variant, ",[443,1676,598],{},", color-scheme, system preference",[464,1679,1680,1685],{},[480,1681,1682],{},[1610,1683,1684],{"href":413},"7. Customization v4",[480,1686,1687,446,1689,446,1691,446,1693,1695],{},[443,1688,592],{},[443,1690,595],{},[443,1692,598],{},[443,1694,1225],{},", extend\u002Foverride",[464,1697,1698,1704],{},[480,1699,1700],{},[1610,1701,1703],{"href":1702},"\u002Ftu-hoc\u002Ftailwindcss\u002Fpractical-project","8. Practical Project",[480,1705,1706],{},"Xây dựng landing page hoàn chỉnh bằng Tailwind CSS v4",[464,1708,1709,1715],{},[480,1710,1711],{},[1610,1712,1714],{"href":1713},"\u002Ftu-hoc\u002Ftailwindcss\u002Fcau-hoi-phong-van","9. Câu hỏi phỏng vấn",[480,1716,1717],{},"50+ Q&A Tailwind CSS cho dev frontend",[534,1719,1721,1724,1725,1728,1729,728],{"color":536,"icon":1720},"i-lucide-book-open",[435,1722,1723],{},"Cách học hiệu quả nhất:"," Mỗi section có bài tập (có lời giải). Đừng chỉ đọc — ",[435,1726,1727],{},"mở CodePen hoặc project riêng"," và code theo từng bài tập. Tailwind là framework ",[435,1730,1731],{},"phải viết nhiều mới nhớ class",[534,1733,1735,1736,1738],{"color":536,"icon":1734},"i-lucide-arrow-right","Bắt đầu: ",[1610,1737,392],{"href":393}," — 19 bài tập từ căn bản đến nâng cao.",[1740,1741,1742],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"title":633,"searchDepth":647,"depth":647,"links":1744},[1745,1746,1749,1750,1751,1752,1753],{"id":429,"depth":647,"text":430},{"id":556,"depth":647,"text":557,"children":1747},[1748],{"id":625,"depth":662,"text":626},{"id":867,"depth":647,"text":868},{"id":1171,"depth":647,"text":1172},{"id":1323,"depth":647,"text":1324},{"id":1397,"depth":647,"text":1398},{"id":1589,"depth":647,"text":1590},"Học Tailwind CSS v4.3 (2026) — Oxide Engine, CSS-first config, OKLCH colors, container queries, 3D transforms. Từ cơ bản đến practical.","md",null,{},{"title":385,"icon":390},{"title":422,"description":1754},"xoPG7DoZevTNeestJW2X7CLLOpdPSJo93zhY6MvJc_I",[1762,1764],{"title":380,"path":381,"stem":382,"description":1763,"icon":383,"children":-1},"Hướng dẫn chi tiết từng bước xây dựng Todo App hoàn chỉnh với Nuxt 4 — composables, useState, components, TypeScript, localStorage.",{"title":392,"path":393,"stem":394,"description":1765,"icon":395,"children":-1},"Tailwind CSS v4 layout system — container queries, display types, flexbox, grid, spacing (padding, margin, gap). Bài tập từng khái niệm.",1783490361080]