8383
8484 .features-grid {
8585 display : grid;
86- grid-template-columns : repeat (auto-fit , minmax ( 500 px , 1fr ) );
86+ grid-template-columns : repeat (2 , 1fr );
8787 gap : 30px ;
8888 margin-top : 40px ;
8989 }
9090
91+ /* DeepResearch and Playground take full width on first row */
92+ .feature-card .research : first-child ,
93+ .feature-card .creative : not (.canvas ) {
94+ grid-column : span 1 ;
95+ }
96+
97+ /* Canvas card should be smaller and centered below */
98+ .feature-card .canvas {
99+ grid-column : span 2 ;
100+ max-width : 400px ;
101+ padding : 25px ;
102+ justify-self : center;
103+ margin-top : 20px ;
104+ }
105+
106+ .feature-card .canvas .feature-title {
107+ font-size : 1.5em ;
108+ }
109+
110+ .feature-card .canvas .feature-description {
111+ font-size : 0.9em ;
112+ }
113+
114+ /* In-Browser RAG and TimeCapsule Sharing on same level */
115+ .feature-card .rag-card ,
116+ .feature-card .timecapsule-card {
117+ grid-column : span 1 ;
118+ }
119+
91120 .feature-card {
92121 background : rgba (255 , 255 , 255 , 0.1 );
93122 backdrop-filter : blur (10px );
@@ -716,8 +745,8 @@ <h2 class="feature-title">Playground</h2>
716745 </ a >
717746 </ div >
718747
719- <!-- New feature card -->
720- < div class ="feature-card research ">
748+ <!-- In-Browser RAG Card -->
749+ < div class ="feature-card research rag-card ">
721750 < div class ="feature-icon "> 🧠</ div >
722751 < div class ="feature-title "> In-Browser RAG</ div >
723752 < div class ="feature-subtitle "> Retrieval-Augmented Generation, privacy-first</ div >
@@ -731,8 +760,8 @@ <h2 class="feature-title">Playground</h2>
731760 </ ul >
732761 </ div >
733762
734- <!-- New feature card -->
735- < div class ="feature-card ">
763+ <!-- TimeCapsule Sharing Card -->
764+ < div class ="feature-card timecapsule-card ">
736765 < div class ="feature-icon "> 🔗</ div >
737766 < div class ="feature-title "> TimeCapsule Sharing</ div >
738767 < div class ="feature-subtitle "> Export & Load Research Sessions</ div >
@@ -745,6 +774,28 @@ <h2 class="feature-title">Playground</h2>
745774 < li > Easy knowledge transfer</ li >
746775 </ ul >
747776 </ div >
777+
778+ <!-- Canvas Creative Environment Card -->
779+ < div class ="feature-card creative canvas ">
780+ < span class ="feature-icon "> 🎨</ span >
781+ < h2 class ="feature-title "> Canvas Creative Environment</ h2 >
782+ < p class ="feature-subtitle "> Visual Storytelling • AI-Assisted Coding</ p >
783+ < p class ="feature-description ">
784+ Creative coding environment with p5.js integration for building interactive visualizations
785+ and dynamic presentations. AI-assisted coding helps transform ideas into visual experiences.
786+ </ p >
787+
788+ < ul class ="feature-list ">
789+ < li > Visual storytelling capabilities using p5.js</ li >
790+ < li > AI-assisted coding guidance</ li >
791+ < li > Interactive visualization tools</ li >
792+ </ ul >
793+
794+ < a href ="Canvas.html " class ="feature-cta ">
795+ < span > 🎨</ span >
796+ Launch Canvas
797+ </ a >
798+ </ div >
748799 </ div >
749800
750801 <!-- GitHub Section -->
@@ -833,13 +884,20 @@ <h2 class="feature-title">Playground</h2>
833884 window . AppConfig . trackEvent ( 'keyboard_navigation' , 'navigation' , 'deepresearch' ) ;
834885 }
835886 }
836- if ( e . key === '2' || e . key === 'c ' || e . key === 'C ' ) {
887+ if ( e . key === '2' || e . key === 'p ' || e . key === 'P ' ) {
837888 window . location . href = 'Playground.html' ;
838889 // Track navigation event
839890 if ( window . AppConfig ) {
840891 window . AppConfig . trackEvent ( 'keyboard_navigation' , 'navigation' , 'playground' ) ;
841892 }
842893 }
894+ if ( e . key === '3' || e . key === 'c' || e . key === 'C' ) {
895+ window . location . href = 'Canvas.html' ;
896+ // Track navigation event
897+ if ( window . AppConfig ) {
898+ window . AppConfig . trackEvent ( 'keyboard_navigation' , 'navigation' , 'canvas' ) ;
899+ }
900+ }
843901 } ) ;
844902
845903 // Add smooth scroll behavior for better UX
@@ -860,7 +918,9 @@ <h2 class="feature-title">Playground</h2>
860918 document . querySelectorAll ( '.feature-cta' ) . forEach ( ( cta , index ) => {
861919 cta . addEventListener ( 'click' , ( ) => {
862920 if ( window . AppConfig ) {
863- const feature = index === 0 ? 'deepresearch' : 'playground' ;
921+ const feature = index === 0 ? 'deepresearch' :
922+ index === 1 ? 'playground' :
923+ index === 2 ? 'canvas' : 'unknown' ;
864924 window . AppConfig . trackEvent ( 'feature_clicked' , 'navigation' , feature ) ;
865925 }
866926 } ) ;
0 commit comments