.navbar,body{background-color:var(--background-color)}.container,.nav-container{max-width:1200px;margin:0 auto}.nav-brand,body{color:var(--text-main)}.btn,.footer-content{text-align:center}.btn,.footer-link,.nav-brand,.nav-link,.related-project{text-decoration:none}*{margin:0;padding:0;box-sizing:border-box}body{font-family:"JetBrains Mono",monospace;font-optical-sizing:auto;line-height:1.6}body[data-theme=light]{--card-color:#e4e4e7;--hightlight-linear-gradient:linear-gradient( 145deg, #e4e4e7 0%, #ffc666 100% );--text-label:#596475;--item-hover:#ffc666;--metric-linear-gradient:linear-gradient(135deg, #e1b975, #ffad31)}.container{padding:0 1.5rem}.navbar{position:sticky;top:0;z-index:100}@supports (backdrop-filter:blur(10px)){.navbar{background-color:transparent;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}}@supports (-webkit-backdrop-filter:blur(10px)){.navbar{background-color:transparent;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}}.nav-container{padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.nav-brand{font-size:1.25rem;font-weight:700}.meta-item,.nav-link{color:var(--text-label)}.nav-menu{display:flex;gap:2rem}.nav-link{display:flex;align-items:center;gap:.5rem;transition:color .3s}.nav-link:hover,.section-title i,.sidebar-title i{color:var(--organge-light)}.main-content{min-height:calc(100vh - 200px)}.project-header{padding:3rem 0;background:linear-gradient(135deg,rgba(249,115,22,.1),rgba(220,38,38,.1));border-bottom:1px solid var(--card-color)}.header-content{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:start}.project-title{font-size:3rem;font-weight:700;margin-bottom:1rem;background:linear-gradient(135deg,var(--organge-light),var(--red));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn-primary,.status-badge{background-color:var(--organge-light)}.project-meta{display:flex;gap:1.5rem;margin-bottom:1rem;flex-wrap:wrap}.meta-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.status-badge{color:var(--text-main);padding:.25rem .75rem;border-radius:1rem;font-size:.875rem;font-weight:500}.project-subtitle{font-size:1.125rem;color:var(--text-description);max-width:600px}.action-buttons,.gallery-container,.info-grid,.related-projects,.stats-grid{display:flex;flex-direction:column;gap:1rem}.btn,.section-title{display:flex;align-items:center}.btn{padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;gap:.5rem;transition:.3s;justify-content:center;min-width:180px}.content-grid,.video-section{padding:4rem 0}.btn-primary{color:var(--text-main);border:2px solid var(--organge-light)}.btn-primary:hover{background-color:var(--organge-dark);border-color:var(--organge-dark);transform:translateY(-2px)}.btn-outline{background-color:transparent;color:var(--text-label);border:2px solid var(--tech-tag-bg)}.btn-outline:hover,.play-button,.video-info{color:var(--text-main)}.btn-outline:hover{background-color:var(--tech-tag-bg);transform:translateY(-2px)}.section-title{font-size:2rem;font-weight:700;margin-bottom:2rem;gap:.75rem}.play-button,.video-overlay{display:flex;align-items:center;transition:.3s}.video-container{max-width:900px;max-height:500px;margin:0 auto}.video-wrapper{position:relative;aspect-ratio:16/9;background-color:var(--card-color);border-radius:1rem;overflow:hidden}.video-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(249,115,22,.2),rgba(220,38,38,.2));justify-content:center;cursor:pointer;border-radius:1rem;background-size:cover;background-position:center;background-repeat:no-repeat}.video-overlay:hover{background:linear-gradient(135deg,rgba(249,115,22,.3),rgba(220,38,38,.3))}.video-overlay.fb-marketplace{background-image:url("../imgs/fb_marketplace/homepage.webp")}.video-overlay.chess-2d{background-image:url("../imgs/chess_game/play_game.webp")}.video-overlay.bleed-game{background-image:url("../imgs/bleed_game/bg_inventory.webp")}.video-overlay.mmd-player{background-image:url("../imgs/mmd_player/video_view.webp")}.play-button{background-color:var(--organge-light);border-radius:50%;width:80px;height:80px;justify-content:center;font-size:2rem}.play-button:hover{background-color:var(--organge-dark);transform:scale(1.1)}.play-button i{margin-left:4px}.video-info{position:absolute;bottom:2rem;left:2rem}.feature-item span,.overview-text,.video-info p{color:var(--text-description)}.video-info h3{font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.youtube-video{width:100%;height:100%;border-radius:1rem}.content-grid{display:grid;grid-template-columns:1fr 350px;gap:3rem}.content-section{margin-bottom:3rem;animation:.6s ease-out fadeInUp}.challenge-title,.solution-title{font-weight:600;margin-bottom:.5rem}.challenge-item,.content-card{background-color:var(--card-color);border-radius:1rem;padding:2rem;border:1px solid var(--border-color)}.overview-text{font-size:1rem;line-height:1.8}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.feature-item{display:flex;align-items:center;gap:.75rem;padding:1rem;background-color:var(--card-color);border-radius:.5rem;border:1px solid var(--border-color)}.feature-item i{color:var(--organge-light);font-size:1.125rem}.challenges-container,.sidebar{display:flex;flex-direction:column;gap:2rem}.challenge-title{color:var(--challenge-color);font-size:1.125rem}.solution-title{color:var(--solution-color);font-size:1.125rem;margin-top:1rem}.challenge p,.solution p{color:var(--text-description);line-height:1.8}.highlight-content h3,.metric{color:var(--text-main);font-weight:600}.highlights-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:24px;margin-top:40px}.highlight-item{background:var(--hightlight-linear-gradient);border-radius:20px;padding:24px;border:1px solid var(--border-color);backdrop-filter:blur(10px);position:relative;overflow:hidden;transition:.4s;min-height:200px;display:flex;flex-direction:column}.highlight-item.have-medias{grid-column:span 2}.challenge-item:hover,.highlight-item:hover{transform:translateY(-4px);border-color:var(--item-hover);box-shadow:0 20px 60px rgba(0,212,255,.15)}.challenge-item::before,.highlight-item::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,212,255,.6),transparent);transition:opacity .3s;opacity:0}.highlight-card:hover::before{opacity:1}.performance{background:linear-gradient(135deg,#f59e0b,#d97706)}.security{background:linear-gradient(135deg,#06b6d4,#0891b2)}.automation{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.data{background:linear-gradient(135deg,#eab308,#ca8a04)}.payment{background:linear-gradient(135deg,#10b981,#059669)}.highlight-header{display:flex;align-items:center;gap:16px;margin-bottom:16px}.highlight-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.highlight-medias{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,300px));gap:12px;margin-bottom:16px;flex-wrap:wrap}.highlight-content{flex:1;display:flex;flex-direction:column;justify-content:flex-end}.highlight-content h3{font-size:1.1rem;margin-bottom:8px;line-height:1.4}.highlight-content p,.info-item label{color:var(--text-label)}.highlight-content p{font-size:.9rem;line-height:1.5}.metric{display:inline-block;background:var(--metric-linear-gradient);padding:2px 8px;border-radius:6px;font-size:.85rem}.highlight-image,.highlight-video{min-width:120px;cursor:zoom-in;transition:.3s;position:relative;background:rgba(255,255,255,.05);overflow:hidden}.highlight-image{flex:1;height:100px;border-radius:12px;border:1px solid var(--border-color)}.highlight-image:hover,.highlight-video:hover{transform:scale(1.02);border-color:var(--item-hover);box-shadow:0 8px 25px rgba(0,212,255,.2)}.highlight-image img{width:100%;height:100%;object-fit:fill;transition:transform .3s}.highlight-image:hover img{transform:scale(1.05)}.highlight-video{flex:1;height:200px;border-radius:12px;border:1px solid var(--border-color)}.main-image img,.thumbnail img,.video-container,.video-wrapper{width:100%;height:100%}.highlight-image-container{display:flex;gap:15px}.main-image{aspect-ratio:16/10;border-radius:1rem;overflow:hidden;background-color:var(--card-color)}.main-image img{object-fit:fill}.thumbnail-container{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.5rem;flex-wrap:wrap}.thumbnail{flex-shrink:0;width:80px;height:80px;border-radius:.5rem;overflow:hidden;border:2px solid var(--tech-tag-bg);background:0 0;cursor:pointer;transition:border-color .3s}.thumbnail.active{border-color:var(--organge-light)}.thumbnail img{object-fit:cover}.top-sidebar{margin-top:5.3rem}.sidebar-card{background-color:var(--card-color);border-radius:1rem;padding:1.5rem;border:1px solid var(--border-color)}.sidebar-title{font-size:1.25rem;font-weight:700;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.info-item label,.tech-tag{font-weight:500;font-size:.875rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-item span{color:var(--text-main);font-weight:600}.tech-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag{background-color:var(--tech-tag-bg);color:var(--text-description);padding:.375rem .75rem;border-radius:.375rem}.stats-card{background-color:var(--card-color);border-color:var(--border-color)}.stat-item{display:flex;justify-content:space-between;align-items:center}.related-info p,.stat-label{color:var(--text-label);font-size:.875rem}.stat-value{color:var(--organge-light);font-weight:700;font-size:1.125rem}.footer-link,.footer-text{color:var(--text-card-description)}.related-project{display:flex;gap:1rem;padding:1rem;background-color:var(--tech-tag-bg);border-radius:.5rem;transition:background-color .3s}.related-project:hover{background-color:#4b5563}.related-project img{width:60px;height:60px;border-radius:.5rem;object-fit:cover}.related-info h4{color:var(--text-main);font-size:1rem;font-weight:600;margin-bottom:.25rem}.footer{padding:3rem 0;border-top:1px solid var(--card-color)}.footer-title{font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.footer-text{margin-bottom:1.5rem}.social-links{display:flex;justify-content:center;gap:1rem}.social-link{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;color:var(--text-label);transition:color .3s}.footer-link:hover,.social-link:hover{color:var(--organge-light);transform:scale(1.1);transition:.2s}@media (max-width:1024px){.top-sidebar{margin-top:0}.content-grid{grid-template-columns:1fr;gap:2rem}.sidebar{order:-1}}@media (max-width:980px){.nav-menu{background-color:unset;right:unset;top:unset;align-items:unset;gap:unset;z-index:unset;position:unset;padding:unset;transform:none;opacity:unset;visibility:unset;width:unset;height:unset;flex-direction:unset;transition:unset}.nav-link{font-size:unset;padding:unset}}@media (max-width:768px){.features-grid,.header-content{grid-template-columns:1fr}.header-content{gap:2rem}.action-buttons{flex-direction:row;justify-content:center}.project-title{font-size:2rem}.project-meta{justify-content:center}.btn{min-width:140px;font-size:.875rem}.video-info{bottom:1rem;left:1rem}.video-info h3{font-size:1.25rem}.play-button{width:60px;height:60px;justify-content:center;font-size:1.5rem}.highlight-item.have-medias{grid-column:span 1}.highlight-medias{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}@media (max-width:480px){.container{padding:0 1rem}.project-header{padding:2rem 0}.project-title{font-size:1.75rem}.action-buttons{flex-direction:column}.btn{min-width:auto}.nav-container{padding:1rem}.nav-brand{font-size:1.25rem}.footer-content{flex-direction:column;gap:1rem;text-align:center}}@media (max-width:350px){.features-grid,.highlights-container{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.content-grid{grid-template-columns:1fr}.stat-item{display:block}.stat-value{font-size:1rem}.section-title{font-size:1.5rem}.challenge p,.feature-item,.overview-text,.solution p{font-size:.8rem}.challenge-item,.content-card,.highlight-item{padding:1rem}.project-title{text-align:center}.project-subtitle{font-size:.9rem}.tech-tag{font-size:.7rem}}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}html{scroll-behavior:smooth}